/* Start custom CSS for section, class: .elementor-element-800d642 *//* =========================
   MAIN SECTION SETUP
========================= */
.elementor-5105 .elementor-element.elementor-element-800d642 {
    position: relative;
    overflow: hidden;
}

/* =========================
   🔹 BIG BLOCKS (LEFT → RIGHT)
========================= */
.elementor-5105 .elementor-element.elementor-element-800d642::before,
.elementor-5105 .elementor-element.elementor-element-800d642::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 50px;
    background: #ffc107; /* yellow */
    animation: moveBlock 18s linear infinite;
    z-index: 0;
}

/* TOP BLOCK */
.elementor-5105 .elementor-element.elementor-element-800d642::before {
    top: 30px;
    left: -200px;
}

/* BOTTOM BLOCK */
.elementor-5105 .elementor-element.elementor-element-800d642::after {
    bottom: 30px;
    right: -200px;
    background: #28a745; /* green */
    animation-delay: 9s;
}

/* =========================
   🔹 SMALL BLOCKS
========================= */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-container::before,
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-container::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 25px;
    background: #198754;
    animation: moveSmall 12s linear infinite;
}

/* LEFT SMALL */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-container::before {
    top: 40%;
    left: -120px;
}

/* RIGHT SMALL */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-container::after {
    bottom: 30%;
    right: -120px;
    background: #ffca2c;
    animation-delay: 6s;
}

/* =========================
   🔹 TRIANGLES
========================= */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-column::before,
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-column::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 35px solid #28a745;
    animation: moveTriangle 14s linear infinite;
}

/* TRIANGLE 1 */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-column::before {
    top: 20%;
    left: 10%;
}

/* TRIANGLE 2 */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-column::after {
    bottom: 20%;
    right: 10%;
    border-bottom-color: #ffc107;
    animation-delay: 7s;
}

/* =========================
   🔹 MOVING LINES
========================= */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-container {
    position: relative;
}

/* TOP LINE */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-container::before {
    content: "";
    position: absolute;
    top: 10%;
    left: -250px;
    width: 200px;
    height: 2px;
    background: #28a745;
    animation: moveLine 10s linear infinite;
}

/* BOTTOM LINE */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-container::after {
    content: "";
    position: absolute;
    bottom: 10%;
    right: -250px;
    width: 200px;
    height: 2px;
    background: #ffc107;
    animation: moveLineReverse 12s linear infinite;
}

/* =========================
   🔹 FLOATING EFFECT FOR CONTENT
========================= */
.elementor-5105 .elementor-element.elementor-element-800d642 .elementor-widget {
    animation: floatContent 5s ease-in-out infinite;
}

/* =========================
   🔹 ANIMATIONS
========================= */
@keyframes moveBlock {
    0% { transform: translateX(0); }
    100% { transform: translateX(600px); }
}

@keyframes moveSmall {
    0% { transform: translateX(0); }
    100% { transform: translateX(350px); }
}

@keyframes moveTriangle {
    0% { transform: translate(0,0) rotate(0deg); }
    50% { transform: translate(100px,-60px) rotate(180deg); }
    100% { transform: translate(200px,-120px) rotate(360deg); }
}

@keyframes moveLine {
    0% { transform: translateX(0); }
    100% { transform: translateX(500px); }
}

@keyframes moveLineReverse {
    0% { transform: translateX(0); }
    100% { transform: translateX(-500px); }
}

@keyframes floatContent {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}

/* =========================
   🔹 KEEP CONTENT ABOVE SHAPES
========================= */
.elementor-5105 .elementor-element.elementor-element-800d642 * {
    position: relative;
    z-index: 2;
}

/* =========================
   🔹 MOBILE OPTIMIZATION
========================= */
@media (max-width: 768px) {

    .elementor-5105 .elementor-element.elementor-element-800d642::before,
    .elementor-5105 .elementor-element.elementor-element-800d642::after {
        width: 100px;
        height: 30px;
    }

    .elementor-5105 .elementor-element.elementor-element-800d642 .elementor-column::before,
    .elementor-5105 .elementor-element.elementor-element-800d642 .elementor-column::after {
        display: none;
    }
}
background-color: #f2f2f2;/* End custom CSS */