:root{
    --primary: #1a669c;
    --primary-hover:#175a8a;
}
body{
    margin:0;
    background: #FAFAFA;
}
html {
  scroll-behavior: smooth;
}
*{
    font-family: "Manrope", sans-serif;
    font-optical-sizing: auto;
    transition: .2s;
}
[id]::before {
  content: '';
  display: block;
  height:      75px;
  margin-top: -75px;
  visibility: hidden;
}

.banner{
    background: #e0f2ff;
    background: linear-gradient(180deg, rgba(224, 242, 255, 1) 0%, rgba(250, 250, 250, 1) 100%);
    padding:100px 15% 200px 15%;
    position: relative;
    max-width: 100vw;
    overflow-x:clip;
}
.banner img{
    width:45%;
    position:absolute;
    right:7%;
    top:50px;
    z-index:0;
}
.banner h1{
    font-size:3rem;
    font-weight:800;
    line-height:1;
}
.banner h1 span{
    display:block;
    font-size:1.7rem;
    font-weight:600;
}
.banner h2{
    font-size:1.2rem;
    font-weight:400;
    width:50%;
    margin-top:10px;
}
.banner a,
.pricing .card a{
    padding:5px 20px;
    margin-top:30px;
    background:var(--primary);
    color:white;
    font-weight:300;
    text-decoration: none;
    border-radius:3px;
    display:table;
}
.banner a:hover,
.pricing .card a:hover{
    background:var(--primary-hover);
}

.checkbox-group label,
.checkbox-group a{
    font-size:.9rem;
}
.checkbox-group a{
    color:var(--primary);
}
.checkbox-group a:hover{
    color:var(--primary-hover);
}
.form-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.form-group label {
    color: #666;
    font-size: 14px;
}
form button {
    margin-top:20px;
    width: 100%;
    padding: 8px 10px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    font-size: 16px;
}
form{
    display: flex;
  flex-direction: column;
  gap: 10px;
}
form a,
a{
    color:black;
    text-decoration: none;
    font-size:.9rem;
}

footer a:hover{
    color:var(--primary);
}
form a span,
a span{
    color:var(--primary);
}
form a span:hover,
a span:hover{
    color:var(--primary-hover);
}
form label span{
    color:red;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 8px 10px;
    background: #F2F2F2;
    border: none;
    border-radius: 3px;
    box-sizing: border-box;
    font-size: 14px;
}

.form-group input:focus {
    outline: none;
}

.numbers,
.features,
.pricing,
.contact{
    width:70%;
    margin:0 auto;
}
.features,
.pricing,
footer,
.contact{
 margin-top:100px;
}
.numbers h2,
.features h2,
.features h3,
.pricing h2,
.contact h2{
    font-weight:700;
}
.numbers h2 span,
.features h2 span,
.features h3 span,
.pricing h2 span,
.contact h2 span{
    color:var(--primary);
}
.numbers .cards{
    display:flex;
    gap:10px;
}
.numbers .card{
    width:calc(100% / 3);
    background:white;
    border-radius:5px;
    display:flex;
    justify-content: center;
    flex-direction: column;
    text-align:center;
    padding:20px;
}
.numbers .card span{
    font-size:3rem;
    font-weight:800;
    line-height:1;
    color:var(--primary);
}
.numbers .card p{
    line-height:1;
    margin:10px 0 0 0;
}

.features .container,
.contact .container{
   align-items:flex-start;
    display:flex;
    flex-direction: row;
    gap:10%;
}
.features .cards{
    display:flex;
    flex-direction: column;
    gap:10px;
    position:sticky;
    top:100px;
    z-index:1;
    width:40%;
}
.contact .about{
    width:50%;
}
.features .showcase,
.contact .form{
    background:white;
    border-radius:5px;
    width:50%;
    height:100%;
    padding:20px;
    display:flex;
    flex-direction: column;
    gap:10px;
}
.showcase img{
    width:100%;
}
.features .card,
.pricing .card{
    width:calc(100% - 50px);
    background:white;
    border-radius:5px;
    display:flex;
    flex-direction: column;
    padding:20px 20px 10px 20px;
    border-right:10px solid white;
}
.features .card:hover{
    border-right:10px solid var(--primary);
}
.features .card h3,
.features .card p{
    margin:0;
}
.features .card p{
    margin-top:5px;
    width:90%;
}
.pricing .prices{
    display:flex;
    flex-direction: row;
    gap:10px;
}
.pricing .card{
    border-right:0;
    padding:20px;
    cursor: default;
    justify-content:space-between;
}
.pricing .card h3,
.pricing .card p{
margin:0;
}
.pricing .card h3{
    font-size:1.5rem;
    font-weight:800;
}
.pricing .card p{
    font-weight:700;
    color:var(--primary);
    font-size:1.2rem;
}
.pricing .card span{
    font-size:.8rem;
    font-weight:400;
    color:darkgray;
}
.pricing .card ul{
    padding-inline-start: 0;
    list-style:none;
}
.pricing .card li{
    margin-top:5px;
}
.logo{
    display:flex;
    padding:0 10px;
    align-items:center;
}
.logo img,
.logo a{
    height:30px;
}


footer{
    display:flex;
    flex-direction: row;
    gap:10px;
    background:white;
    padding:20px 15%;
}
footer .card.socials{
    display:flex;
    flex-direction: column;
    gap:5px;
}
footer .card.socials p{
    margin:0;
}
footer .card.socials p{
    display:flex;
    flex-direction: row;
    gap:10px;
}
footer .socials p img{
    height:20px;
}
footer .card{
    width:calc(100% / 6);
    padding:0 20px;
}

footer ul{
    list-style:none;
    padding-inline-start: 0;
}
.header{
    position: fixed;
    top: 20px;
    left: 15%;
    right: 15%;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    gap: 10px; 
    background:white;
    border-radius: 5px;
    overflow: hidden;
    z-index:10;
}
.header .menu{
    display:flex;
    flex-direction: row;
    gap:10px;
}
.header .menu a{
    text-decoration: none;
    padding:10px 20px 5px 20px;
    color:black;
    font-weight:600;
    border-bottom:5px solid transparent;
}
.header .menu a:hover{
    border-bottom:5px solid var(--primary)
}
.header a.trial,
.sidebar a.trial{
    padding:10px 20px;
    color:white;
    text-decoration: none;
    font-weight:800;
    background:var(--primary);
}
.glass{
    top: 0px;
    right: 0px;
    left: 0px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);      
    -webkit-backdrop-filter: blur(5px);
    z-index: 9998;
    position: fixed;
    bottom: calc(100% - 30px);
    z-index:2;
}
@media (max-width: 1400px) {
   .banner img{
    right:0;
}
}
@media (max-width: 1280px) {
.numbers,
.features,
.pricing,
.contact{
    width:90%;
}
.banner{
    padding:100px 5% 200px 5%;
}
footer{
    padding:20px 5%;
}

.header{
    left:5%;
    right:5%;
}
}
@media (max-width: 1100px) {
    .banner img{
        top:170px;
        width:55%;
    }
    footer{
        flex-wrap:wrap;
    }
    footer .card{
        width:calc(100% / 3 - 50px);
    }
}
@media (max-width: 900px) {
    .pricing .prices{
        flex-direction: column;
    }
    .contact .container{
        flex-direction: column;
        gap:30px;
    }
    .contact .about,
    .contact .form{
        width:calc(100% - 40px);
    }
    .features .container{
        gap:10px;
    }
    .features .cards{
        width:50%;
    }
}
@media (max-width: 768px) {
    .features .container{
        flex-direction: column;
    }
    .banner{
        padding:100px 5% 150px 5%;
    }
    .features .cards{
        width:100%;
        position:relative;
        top:0;
    }
    .features .showcase{
        width:calc(100% - 40px);
        gap:20px;
        flex-direction: row;   
        flex-wrap:wrap; 
    }
    .features .showcase img{
        width:calc(50% - 10px);
    }
}
@media (max-width: 640px) {
    .banner img{
        position: relative;
        top: -110px;
        width: 120%;
        right: -20%;
    }
    .banner h2{
        width:80%;
        font-size:1rem;
    }
    .banner h1{
        font-size:2rem;
    }
    .banner{
        padding:100px 5% 0px 5%;
    }
  .numbers .cards{
    flex-direction: column;
  }
  .numbers .card{
    width:calc(100% - 40px);
  }
  footer .card{
        width:100%;
    }
    footer .card img{
        width:30%;
    }
    footer .card p{
        margin:0;
    }
}
@media (max-width: 500px) {
    .banner img{
        right:-40%;
    }
}