@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');
@font-face {
    font-family: Campton-light;
    src: url("../assets/fonts/campton/CamptonLight.otf");
}



body{
    padding: 0;
    margin: 0;
    background-color: #EDF2FA;
    font-family: "Manrope", sans-serif;
    letter-spacing: 0.05em;
}
p, h1, h2, h3{
    margin: 0;
    padding: 0;
    font-family: "Manrope", sans-serif;
    letter-spacing: 0.05em;
    font-weight: normal;
}
a{
    text-decoration: none;
}
button{
    padding: 0;
    cursor: pointer;
}



header{
    width: 100%;
    height: 100px;
    box-sizing: border-box;
    padding: 0 4.5vw;
    position: fixed;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px black solid ;
    border-radius: 0 0 20px 20px;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(30px);
    z-index: 5;
}
nav{
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    gap: 25px;
    a{
        font-size: 20px;
        text-transform: uppercase;
        color: black;
        transition: color .2s;
    }
    a:hover{
        color: #2667FF;
    }
}
footer{
    width: 100%;
    height: 150px;
    box-sizing: border-box;
    padding: 0 4.5vw;
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 50px;
    border-radius: 35px 35px 0 0;
    background-color: white;
    svg{
        height: 50px;
        width: auto;
        position: absolute;
        left: 4.5vw;
        align-self: center;
    }
    .layout-link{
        width: auto;
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 15px;
        a{
            font-size: 20px;
            color: black;
            transition: all .2s;
        }
        a:hover{
            color: #2667FF;
        }
    }
}
@media (max-width: 1100px) {
    nav{
        display: none;
    }
    footer{
        justify-content: space-between;
        svg{
            display: none;
        }
    }
}
@media (max-width: 600px) {
    header{
        height: 80px;
    }
    footer{
        height: auto;
        padding: 5vw 4.5vw;
        flex-direction: column;
        justify-content: start;
        align-items: start;
        svg{
            width: 90%;
            height: auto;
            display: block;
            position: static;
        }
    }
}



.main-layout{
    width: 100%;
    height: auto;
    box-sizing: border-box;
    padding: 0 4.5vw 150px 4.5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 150px;
}



.start-section{
    width: calc(100% + 9vw);
    height: auto;
    box-sizing: border-box;
    padding: 175px 10vw 150px 4.5vw;
    position: relative;
    display: flex;
    justify-content: space-between;
    background-color: white;
    border-radius: 0 0 35px 35px;
}
.default-section{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
}
.rate-layout{
    width: 100%;
    height: auto;
    display: flex;
    gap: 4.5vw;
}
.modal-menu{
    width: 350px;
    height: 0;
    box-sizing: border-box;
    padding: 20px 25px;
    position: fixed;
    top: 125px;
    right: 4.5vw;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    border: 1px black solid;
    border-radius: 25px;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(30px);
    z-index: 5;
    transition: all .3s;
}
.modal-menu.active{
    height: 215px;
    visibility: visible;
    .menu-link{
        opacity: 100%;;
    }
}
.modals{
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(30px);
    z-index: 10;
}
.modals.active{
    display: flex;
}
.load{
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 15;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(30px);
}
.load.active{
    display: flex;
}
@media (max-width: 1200px) {
    .rate-layout{
        flex-direction: column;
        gap: 100px;
    }
}
@media (max-width: 700px) {
    .start-section{
        padding-top: 125px;
    }
}
@media (max-width: 600px) {
    .start-section{
        padding-top: 100px;
        padding-bottom: 100px;
    }
}
@media (max-width: 500px) {
    .modal-menu{
        width: 91%;
        top: 100px;
        align-self: center;
    }
}



.event-menu{
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}
.start-text-layout{
    max-width: 600px;
    width: 80%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 50px;
    h1{
        font-size: 40px;
    }
    p{
        font-size: 25px;
    }
}
.rate-card{
    width: 100%;
    height: fit-content;
    box-sizing: border-box;
    padding: 50px 50px 150px 50px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    border-radius: 35px;
    background-color: white;
    .rate-stroke{
        width: 100%;
        display: flex;
        gap: 15px;
        svg{
            width: 30px;
            min-width: 30px;
            height: 25px;
            fill: #2667FF;
        }
        p{
            font-size: 20px;
        }
    }
}
.info-layout{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    .info-stroke{
        width: 100%;
        height: auto;
        box-sizing: border-box;
        padding: 40px;
        display: flex;
        align-items: center;
        gap: 25px;
        border-radius: 35px;
        background-color: white;
        .numbering{
            width: 50px;
            min-width: 50px;
            aspect-ratio: 1/1;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
            background-color: #2667FF;
            font-size: 25px;
            color: white;
            user-select: none;
        }
    }
    p{
        font-size: 25px;
    }
}
.modals-forms{
    width: 500px;
    height: auto;
    box-sizing: border-box;
    padding: 50px;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    border: 1px black solid;
    border-radius: 35px;
    background-color: white;
    input, button{
        width: 100%;
        height: 70px;
        box-sizing: border-box;
        padding: 0 25px;
        border: none;
        border-radius: 20px;
        background-color: #EDF2FA;
        font-size: 20px;
        font-family: "Manrope", sans-serif;
        letter-spacing: 0.05em;
        color: black;
    }
    input::placeholder{
        color: #9C9C9C;
    }
    button{
        padding: 0;
        background-color: #2667FF;
        color: white;
        transition: background-color .3s;
    }
    button:hover{
        background-color: #064ff9;
    }
    p{
        font-size: 15px;
        text-align: center;
        color: #9C9C9C;
    }
    a, span{
        color: #2667FF;
        cursor: pointer;
    }
}
.modals-forms.active{
    display: flex;
}
.logs{
    width: 400px;
    height: 80px;
    box-sizing: border-box;
    padding: 0 50px 0 20px;
    position: fixed;
    right: 0;
    bottom: 25px;
    transform: translateX(100%);
    display: flex;
    align-items: center;
    border: 1px black solid;
    border-radius: 20px;
    background-color: white;
    transition: all .5s;
    z-index: 15;
    #close-logs{
        width: 20px;
        height: auto;
        position: absolute;
        top: 15px;
        right: 15px;
        fill: black;
        cursor: pointer;
    }
    p{
        width: 100%;
        font-size: 15px;
    }
}
.logs.active{
    right: 25px;
    transform: translateX(0);
}
@media (max-width: 900px) {
    .start-text-layout{
        max-width: 100%;
        width: 100%;
    }
}
@media (max-width: 700px) {
    .start-text-layout{
        gap: 25px;
    }
    .info-layout .info-stroke{
        height: auto;
        padding: 20px;
        border-radius: 25px;
        .numbering{
            width: 40px;
            min-width: 40px;
            font-size: 20px;
        }
        p{
            font-size: 20px;
        }
    }
}
@media (max-width: 600px) {
    .start-text-layout{
        h1{
            font-size: 30px;
        }
        p{
            font-size: 20px;
        }
    }
    .rate-card{
        padding: 25px 25px 100px 25px;
    }
    .modals-forms{
        width: 95%;
        padding: 25px;
    }
    .logs{
        width: 95%;
    }
    .logs.active{
        right: 50%;
        transform: translateX(50%);
    }
    .modals-forms{
        input, button{
            height: 60px;
            border-radius: 15px;
        }
    }
}
@media (max-width: 500px) {
    .rate-card .rate-stroke{
        svg{
            width: 20px;
            min-width: 20px;
        }
        p{
            font-size: 15px;
        }
    }
}



.start-header-btn{
    width: 200px;
    height: 50px;
    border: none;
    border-radius: 30px;
    background-color: #2667FF;
    font-size: 20px;
    font-family: "Manrope", light;
    letter-spacing: 0.05em;
    color: white;
    transition: all .3s;
}
.start-header-btn:hover{
    background-color: #064ff9;
}
.border-btn{
    min-width: 50px;
    height: 50px;
    box-sizing: border-box;
    padding: 0 25px;
    border: 1px black solid;
    border-radius: 25px;
    background-color: rgba(255, 255, 255, 0);
    font-size: 20px;
    font-family: "Manrope", light;
    letter-spacing: 0.05em;
    color: black;
    transition: outline .3s;
}
.border-btn.icon{
    width: 50px;
    padding: 0;
    display: grid;
    place-content: center;
    svg{
        width: 20px;
        fill: black;
    }
}
.border-btn:hover{
    outline: 1px black solid;
}
.border-btn.header-login{
    width: auto;
    padding: 0 15px 0 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.btn-container{
    width: 500px;
    height: 125px;
    box-sizing: border-box;
    padding: 25px;
    position: absolute;
    bottom: 0;
    transform: translateY(50%);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 35px;
    background-color: #EDF2FA;
    button{
        width: 100%;
        height: 100%;
        display: block;
        border: none;
        border-radius: 25px;
        background-color: #2667FF;
        font-size: 20px;
        font-family: "Manrope", light;
        letter-spacing: 0.05em;
        color: white;
        transition: background-color .3s;
    }
    button:hover{
        background-color: #064ff9;
    }
}
.btn-container.start{
    left: 4.5vw;
}
.btn-container.rate{
    width: 91%;
    max-width: 500px;
    align-self: center;
}
@media (max-width: 800px) {
    .start-header-btn{
        display: none;
    }
}
@media (max-width: 700px) {
    .btn-container.start{
        width: calc(100% - 9vw);
    }
}
@media (max-width: 600px) {
    .btn-container{
        height: 100px;
        padding: 15px;
    }
}
@media (max-width: 400px) {
    .border-btn.balance{
        display: none;
    }
}



.logo-text{
    font-size: 35px;
    font-family: Campton-light;
    color: black;
}
.title-text{
    font-size: 40px;
    text-align: center;
    text-transform: uppercase;
}
.name-rate{
    font-size: 30px;
}
.menu-link{
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    gap: 15px;
    opacity: 0;
    font-size: 20px;
    color: black;
    transition: all .2s;
    svg{
        width: 25px;
        height: auto;
        fill: black;
        transition: all .3s;
    }
}
.menu-link:hover{
    color: #2667FF;
    svg{
        fill: #2667FF;
    }
}
@media (max-width: 600px) {
    .logo-text{
        font-size: 30px;
    }
    .title-text{
        font-size: 30px;
    }
}



.contact-links{
    width: 100%;
    height: auto;
}



.start-image{
    height: 400px;
    margin-top: 50px;
    position: absolute;
    right: 9vw;
    align-self: center;
}
#close-modals{
    width: 25px;
    aspect-ratio: 1/1;
    position: absolute;
    top: 25px;
    right: 25px;
    fill: black;
    cursor: pointer;
}
@media (max-width: 1300px) {
    .start-image{
        right: 4.5vw;
    }
}
@media (max-width: 1200px) {
    .start-image{
        margin-top: 25  px;
        height: 300px;
    }
}
@media (max-width: 1050px) {
    .start-image{
        display: none;
    }
}




.loader {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  background: linear-gradient(0deg, #EDF2FA, #2667FF 100%);
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.loader::after {
  content: '';  
  box-sizing: border-box;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: white;
}
@keyframes rotation {
  0% { transform: rotate(0deg) }
  100% { transform: rotate(360deg)}
} 