/* -----------------------------font----------------------------------- */
@font-face {
    font-family: iransans;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../font/iransans.eot);
    src: url(../font/iransans.eot?#iefix) format("embedded-opentype"),
        url(../font/iransans.woff2) format("woff2"),
        url(../font/iransans.woff) format("woff");
}

/* ---------------------------------------------------------------- */

:root {
    --hue1: 242;
    --hue2: 12;
    --bg: #070b17;
    --border-color: hsl(220 20% 18%);
}


* {
    margin: 0;
    font-family: "iransans", Arial, sans-serif;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

a {
    text-decoration: none;
    color: #fdfefe;
}

body {
    color: white;
    background-image: url("https://www.shatel.ir/wp-content/themes/shatel/skyfiber-festival/assets/img/back1-01.webp");
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-behavior: smooth;
    overflow-x: hidden;
    min-height: 100vh;
    padding: 10px;
}

/* -----------------------------buttons----------------------------- */
.btn-contain {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;

    opacity: 0;
    transform: translateX(60px);
    animation: slideInFromSide 1s ease-out forwards;
    animation-delay: 0.2s;
}

.button {
    padding: 10px 20px;
    background-color: #ff6b33;
    color: white;
    font-weight: bold;
    font-size: 16px;
    width: fit-content;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.button svg {
    width: 28px;
    height: 28px;
    rotate: 90deg;
}

.btn-form {
    background-color: transparent;
    color: white;
    margin: 0px auto;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    justify-content: center;
    font-size: 16px;
    font-weight: 400;
}

.btn-form svg {
    width: 18px;
    height: 18px;
}

/* -----------------------------land----------------------------- */


.landing {
    width: 100%;
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
    max-width: 1400px;
    padding: 20px 20px;
    border: 2px solid #fdfefe;
    border-radius: 25px;
}


/* -----------------------------photo land----------------------------- */

.photo-land-contain {
    width: 38%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.photo-land-contain .photo-land {
    display: flex;
    width: 100%;
    gap: 2rem;
    justify-content: center;
    position: relative;

    opacity: 0;
    transform: translateY(-60px);
    animation: slideDown 1s ease-out forwards;
    animation-delay: 0.2s;
}


.photo-land-contain .photo-land img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.op1 {
    position: absolute;
    top: 5em;
    right: 0;
}

.op2 {
    position: absolute;
    bottom: 3em;
    left: 0;
}

.future {
    background-color: #ffffff;
    color: #002a62;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 10px 10px;
    min-height: 50px;
    width: 250px;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
}

.future.active {
    opacity: 1;
    transform: translateY(0);
}

.future .future-title {
    font-size: 14px;
    font-weight: bold;
}

.future .future-dec {
    font-size: 12px;
    margin-top: 5px;
}

.animate-shakeX {
    animation: shakeX 6s ease-in-out infinite;
}

.animate-shakeX2 {
    animation: shakeX2 6s ease-in-out infinite;
}

/* -----------------------------text land----------------------------- */

.text-land {
    width: 60%;
}

.text-land .logo {
    width: 60px;
    height: 60px;
    object-fit: contain;

    opacity: 0;
    transform: translateY(-60px);
    animation: slideInFromSideBottom 1.5s ease-out forwards;
    animation-delay: 0.2s;
}

.text-land h2 {
    font-size: 30px;
    font-weight: bold;
    margin-top: 10px;
    position: relative;

    opacity: 0;
    transform: translateX(60px);
    animation: slideInFromSide 1s ease-out forwards;
    animation-delay: 0.2s;
}

.text-land .h3 {
    font-size: 16px;
    font-weight: 400;
    color: #fec060;
    margin-top: 20px;
    position: relative;

    opacity: 0;
    transform: translateX(60px);
    animation: slideInFromSide 1s ease-out forwards;
    animation-delay: 0.2s;
}

.text-land .typo {
    background-color: #ff6b33;
    position: absolute;
    width: 102%;
    height: 100%;
    border-radius: 40px;
    top: 0%;
    right: -2%;
    z-index: -10;
}

.text-motasel {
    position: relative;
}

.text-tabestan {
    position: relative;
}

.text-land .typo1 {
    background-color: #ff6b33;
    position: absolute;
    width: 53px;
    height: 5px;
    border-radius: 40px;
    right: 0;
    top: 1.5em;
    z-index: -10;
}

.text-land p {
    text-align: justify;
    font-size: 16px;
    font-weight: 400;
    margin-top: 30px;
    margin-bottom: 30px;
    color: white;

    opacity: 0;
    transform: translateX(60px);
    animation: slideInFromSide 1s ease-out forwards;
    animation-delay: 0.2s;
}

/* -----------------------------cards----------------------------- */

.cards {
    display: flex;
    margin-top: 30px;
    justify-content: center;
    align-items: center;
    row-gap: 2rem;
    column-gap: 1rem;
    width: 100%;
}

.card {
    width: 220px;
    min-height: 240px;
    padding: 12px;
    border-radius: 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #24336f;
    z-index: 20;

    opacity: 0;
    transform: translateY(60px);
    animation-name: none;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;

    position: relative;
    overflow: visible;
    isolation: isolate;


}

.glow-top {
    position: absolute;
    z-index: 10;

    top: 0px;
    right: 0px;

    width: 180px;
    height: 180px;

    border-radius: 35px;

    pointer-events: none;
}

.glow-top::before {

    content: "";

    position: absolute;
    inset: 0;

    border-top: 2px solid hsl(var(--hue1) 100% 70%);

    border-right: 2px solid hsl(var(--hue1) 100% 70%);

    border-top-right-radius: inherit;

    filter: blur(.2px) drop-shadow(0 0 6px hsl(var(--hue1) 100% 70%)) drop-shadow(0 0 14px hsl(var(--hue1) 100% 70%)) drop-shadow(0 0 28px hsl(var(--hue1) 100% 70%)) drop-shadow(0 0 50px hsl(var(--hue1) 100% 60%));

    opacity: .95;

    animation: pulseTop 4s infinite ease-in-out;
}

.glow-top::after {

    content: "";

    position: absolute;

    top: -25px;
    right: -25px;

    width: 100%;
    height: 100%;

    border-top-right-radius: inherit;

    background: radial-gradient(circle at top right,
            hsla(var(--hue1), 100%, 70%, .25),
            transparent 70%);

    filter: blur(30px);

    z-index: -1;
}

.glow-bottom {
    position: absolute;
    z-index: 10;
    left: 0px;
    bottom: 0px;
    width: 180px;
    height: 180px;
    border-radius: 35px;
    pointer-events: none;
}

.glow-bottom::before {

    content: "";

    position: absolute;
    inset: 0;

    border-left: 2px solid hsl(var(--hue2) 100% 70%);

    border-bottom: 2px solid hsl(var(--hue2) 100% 70%);

    border-bottom-left-radius: inherit;

    filter: blur(.2px) drop-shadow(0 0 6px hsl(var(--hue2) 100% 70%)) drop-shadow(0 0 14px hsl(var(--hue2) 100% 70%)) drop-shadow(0 0 28px hsl(var(--hue2) 100% 70%)) drop-shadow(0 0 50px hsl(var(--hue2) 100% 60%));

    opacity: .95;

    animation: pulseBottom 4s infinite ease-in-out;
}

.glow-bottom::after {

    content: "";

    position: absolute;

    left: -25px;
    bottom: -25px;

    width: 100%;
    height: 100%;

    border-bottom-left-radius: inherit;

    background: radial-gradient(circle at bottom left,
            hsla(var(--hue2), 100%, 70%, .25),
            transparent 70%);

    filter: blur(30px);

    z-index: -1;
}

.card.show {
    animation-name: slideInFromSideBottom;
}

.glass-card {
    background: rgba(255, 255, 255, 62%);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}


.card .icon {
    width: 50px;
    height: 50px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card .icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.card h4 {
    font-weight: 400;
    font-size: 12px;
    text-align: center;
    margin-top: 10px;
}

.card h3 {
    font-weight: bold;
    font-size: 22px;
    text-align: center;
    margin-top: 5px;
}

.card .options {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
    row-gap: 0.3rem;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
}

.card .options .option {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 14px;
    opacity: 0.7;
    text-align: center;
}

.card .options .option svg {
    width: 16px;
    height: 16px;
}

.card .prices {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 0rem;
}

.card .prices .price {
    font-weight: bold;
    font-size: 22px;
}

.card .prices .price .toman {
    font-weight: 400;
    font-size: 12px;
}

.card .prices .price .price-title {
    font-size: 14px;
}

.card .prices .priceOff {
    font-weight: bold;
    font-size: 22px;
}

.card .prices .priceOff .toman {
    font-weight: 400;
    font-size: 12px;
}

.card .prices .priceOff .price-title {
    font-size: 12px;
    font-weight: 400;
}

.card .button {
    width: 80%;
    margin: 10px auto;
    margin-bottom: 0px;
    font-size: 14px !important;
}

.card .button svg {
    width: 20px;
    height: 20px;
    font-size: 14px !important;
}

.card a {
    width: 100%;
}

.card1 .icon {
    background-color: #c3c0ec;
}

.card2 .icon {
    background-color: #c3c0ec;
}

.card3 .icon {
    background-color: #c3c0ec;
}

.sayer-contain {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 30px;
}

.sayer {
    opacity: 0;
    transform: translateY(60px);
    animation: slideDown 1.5s ease-out forwards;
    animation-delay: 0.2s;
    background-color: #EBEBEB;
    color: black;
    padding: 10px 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07),
        0 2px 4px rgba(0, 0, 0, 0.07),
        0 4px 8px rgba(0, 0, 0, 0.07),
        0 8px 16px rgba(0, 0, 0, 0.07);
}

.contact {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0.3rem;
    width: 40%;
}

.questions {
    opacity: 0;
    transform: translateY(60px);
    animation: slideDown 1.5s ease-out forwards;
    animation-delay: 0.2s;
}

.btn-mobile {
    display: flex;
    bottom: 0;
    align-items: center;
    width: 250px;
    z-index: 50;


    opacity: 0;
    transform: translateX(60px);
    animation: slideInFromSide 1s ease-out forwards;
    animation-delay: 0.2s;
}

.btn-mobile .button {
    width: 95%;
    max-width: 500px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07),
        0 2px 4px rgba(0, 0, 0, 0.07),
        0 4px 8px rgba(0, 0, 0, 0.07),
        0 8px 16px rgba(0, 0, 0, 0.07);
    background-color: #ff6b33;
    color: white;
}

/* ----------------------------modal--------------------------- */

.modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.modal.active {
    display: flex;
}

.modal-content {
    background: #fff;
    color: #002a62;
    width: 100%;
    max-width: 500px;
    padding: 20px;
    border-radius: 16px;
    position: relative;
    animation: modalFade 0.3s ease;
    max-height: 90vh;
    overflow-y: auto;
}

.modal-content .modal-textp {
    font-size: 16px;
    font-weight: bold;
    margin-top: 3px;

}

.modal-content .modal-text {
    font-size: 14px;
    text-align: justify;
    margin-top: 10px;
    margin-bottom: 10px;
}

.close {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 28px;
    cursor: pointer;
    color: #555;
}

.close:hover {
    color: #000;
}

@keyframes modalFade {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ----------------------------keyframes--------------------------- */
@keyframes slideDown {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInFromSide {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInFromSideBottom {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes shakeX {

   0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(20px);
    }

    50% {
        transform: translateX(10px);
    }

    75% {
        transform: translateX(20px);
    }
}

@keyframes shakeX2 {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(20px);
    }

    50% {
        transform: translateX(10px);
    }

    75% {
        transform: translateX(20px);
    }
}

/* ----------------------------mobile--------------------------- */

@media (max-width: 1198px) {
    body {
        background-image: url("https://www.shatel.ir/wp-content/themes/shatel/skyfiber-festival/assets/img/back-mobile-01.webp");
    }

    .text-land h2 {
        font-size: 30px;
    }

    .text-land .h3 {
        text-align: center;
    }

    .landing {
        width: 100%;
        flex-wrap: wrap;
        gap: 2rem;
    }

    .text-land {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .text-land h2 {
        max-width: 500px;
        font-size: 25px;
        text-align: center;
    }

    .text-land p {
        max-width: 500px;
        text-align: center;
    }

    .photo-land-contain {
        width: 100%;
    }

    .photo-land-contain .photo-land {
        max-width: 550px;
    }

    .photo-land-contain .photo-land img {
        width: 100%;
        max-height: 650px;
        object-fit: contain;
    }

    .cards {
        flex-wrap: wrap;
    }

    .sayer-contain {
        justify-content: center;
        flex-direction: column-reverse;
        gap: 1rem;
    }

    .contact {
        width: fit-content;
        align-items: center;
    }

    .btn-mobile {
        justify-content: center;
    }
}

@media (max-width: 768px) {

    .btn-mobile {
        position: fixed;
        width: 100%;
        justify-content: center;
        padding: 20px 10px;
    }

    .landing {
        padding-bottom: 100px;
    }
}

@media (max-width: 500px) {





    .btn-contain {
        justify-content: center;
    }

    .op1 {
        top: 3em;
    }


    .op2 {
        bottom: 1em;
    }

    .future {
        width: fit-content;
    }

    .future .future-title {
        font-size: 12px;
    }
}

@media (max-width: 350px) {
    .op1 {
        top: 2em;
    }

    .op2 {
        bottom: 0em;
    }
}