@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
*{
    margin: 0;
    padding: 0;
    user-select: none;
}

html{   
    scroll-behavior: smooth;
}

body{
    font-size: 1rem;
    line-height: 2rem;
    border: 0;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-style: normal;
}

nav, .navList{
    display: flex;
}
nav{
    gap: 5rem;
    justify-content: space-between;
    align-items: center;
    background-color: whitesmoke;
    color: #3068AC;
    width: 100%;
    font-weight: 500;

    position: static;
    top:0;
    z-index: 1;
}

.navList{
    gap: 3rem;
    list-style: none;
    margin: .5vh 3.5vw;
    
}
.navLogo img{
    padding: .5vh 3.5vw;
    height: 4.5vh;
    flex-wrap: nowrap;
}
.hamMenu{
    display: none;
    height: 4.5vh;
    width: 4.5vh;
    margin-left: auto;
    position: relative;
    margin: .5vh 3.5vw;
}

.hamMenu span{
    height: 5px;
    width: 100%;
    background-color: whitesmoke;
    border-radius: 25px;
    position: absolute;

    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: .3 ease;
}


.hamMenu span:nth-child(1){
    top: 25%;
}

.hamMenu span:nth-child(3){
    top: 75%;
}

.offHamMenu{
    
    background-color: #f5f5f5;
    
    gap: 3rem;
    
    width: 100%;
    position: absolute;
    top: 5vh;
    right: -100%;
    z-index: 2;

    display: none;
    flex-direction: column;

    justify-content: center;
    text-align: center;
    transition: 1 ease;
}

.hamList li{
    list-style: none;
    width: 100vw;
    background-color: #0379C7;
    color: whitesmoke;
    display: contents;
}

.hamList li:hover{
    background-color: whitesmoke;
    color: #0379C7;
}
.hamList li a{
    background-color: inherit;
    color: inherit;

    width: 100%;
    padding: 1rem 0;
    margin: 0px; 
    display: block;
}

.offHamMenu.active{
    display: flex;
    left: 0;
    animation: fadeInDown .5s;
}

a{
    text-decoration: none;
    
}
nav a{
    color: #0379C7;
}
a:hover{
    text-decoration: underline;
}
a:visited{
    text-decoration: none;
}

.row1{
    display: flex;
    justify-content: space-between;

    padding: 0 0 0 2.5vw;
    background-color: #0379C7;
    color: whitesmoke;

    align-items: center;
    gap: 1rem;

    overflow: hidden;
    box-sizing: border-box;
}
.col1{
    padding: 1rem 0rem;
    display: flex;
    position: relative;
    
    animation: fadeInRight 1s;

    justify-content: space-between;

    flex-direction: column;
    column-gap: 3rem;
    row-gap: 1rem;
    
}
.col2{
    width: 100%;
    height: 100%;
    min-width: 50%;
    position: relative;
    object-fit: cover;
    background-color: whitesmoke;
    animation: fadeInDown 1s;
}

.button1{
    display: block;
    background-color: #0379C7;
    border-radius: 12px;
    border: 2px solid whitesmoke;
    color: white;
    padding: 8px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;

    align-self: flex-start;
}

.button1:hover{
    background-color: whitesmoke;
    border: 2px solid #0379C7;
    color: #0379C7;
    cursor: pointer;
}

.solutions{
    display: flex;
    flex-direction: column;
    padding: 0vh 2.5vw;
    
    color: #2A6D99;

    text-align: center;

    animation: fadeInLeft 1s;
}

.solutions h1{
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;

    padding: 3rem;
}

.solutionsGrid{
    display: flex;
    justify-content: space-around;
    flex-flow: wrap;
    row-gap: 3rem;

    padding: 3rem 1rem;

    background-color: #ecf2f6;
}

.infoBoxLabel{
    min-width: 20%;
    min-height: 7rem;
    font-weight: 150;
    line-height: 1.5rem;
    flex: 0 1 30%;
    align-self: flex-start;  
    border: 2px solid #225689;
    background-color: whitesmoke;
    color: #225689;
    display: flex;
    flex-direction: column;
    align-items: center;

    transition: 0.3s;
}

.infoBoxLabel .infoBoxIcon{
    height: 3rem;
    padding: 1vh 0vw 0vh;
}
.infoCheckBox:checked + label > div p{
    padding: 0vh 3vw 3vh;
    max-height: 500px;
    transition: max-height .5s ease-in;
}

.infoCheckBox:checked + .infoBoxLabel{
    transition: 0.3s;
    height: calc-size(auto, size);
}

.infoBox p{
    max-height: 0;
    overflow: hidden;
}

.infoBoxLabel:hover{  
    border: 2px solid #225689;
    background-color: #0379C7;
    color: whitesmoke;
}


.infoBox h3{
    padding: 1rem 0rem 1rem;
    font-weight: 500;
}

.contactUs{
    justify-content: space-around;
    padding: 5vh 10vw;
    display: flex;
    flex-direction: row;

    color: #2A6D99;
    animation: fadeInLeft 1s;
}

.contactUs div{
    padding: 0vh 15vw 0vh 0vw;
    justify-content: center;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contactForm{
    display: flex;
    flex-direction: column;
    flex: 1 0 30%;
    max-width: 50rem;
}
.contactForm input{
    
    max-height: 2.5rem;
    padding: 1rem;
    margin: 0rem 0rem 1rem;
}
.contactForm button{
    display: block;
    background-color: #0379C7;
    border-radius: 12px;
    border: 2px solid whitesmoke;
    color: white;
    padding: 8px 32px;
    margin: 1rem 0rem;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;

    align-self: flex-start;
}

.contactForm button:hover{
    background-color: whitesmoke;
    border: 2px solid #0379C7;
    color: #0379C7;
}

.contactForm textarea{
    padding: 1rem;  
    resize: none;
    min-height: 5lh;
    margin: 0rem 0rem 1rem;
    width: auto;
}

footer{
    height: auto;
    background-color: #0379C7;
    color:whitesmoke;
    padding: 1rem 1rem 1rem;

    animation: fadeInUp 1s;
}

.footerDetails{
    display: flex;
    justify-content: space-between;
}

.footerDetails div{
    padding: 0rem 5rem;
}

.footerInfo h3{
    text-align: left;
    
}

.footerDetails a{
    font-size: 1.2rem;
    color: whitesmoke;
}

.footerDetails p{
    font-size: 1.2rem;
}

.footerInfo {
    max-width: 30vw;
    align-self: flex-start;
}

.copyright{
    font-size: 1rem;
    text-align: center;
    padding: 0.5rem 0rem 0.5rem;
}

.consentContainer{
    position: fixed;
    bottom: -100%;
    text-align: center;
    width: 100%;
    padding: .5rem 0rem;

    background-color: #0585db;
    color: whitesmoke;
    gap: 1rem;

}

.consentContainer p{
    display: inline-block;  
    padding: 0rem 1rem .5rem;
}

.consentContainer button{
    display: inline-block;  
    background-color: #0585db;
    border-radius: 12px;
    border: 2px solid whitesmoke;
    color: white;
    padding: 8px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    width: fit-content;
    position: relative;
    top: 50%;
}

.consentContainer button:hover{
    background-color: whitesmoke;
    border: 2px solid #0585db;
    color: #0585db;
    cursor: pointer;
}

.consentContainer a {
    color: whitesmoke;
    text-decoration: underline;
}
.consentContainer.active{
    bottom: 0;
    animation: fadeInUp 1s;
}

.privacy-policy{
    background-color: whitesmoke;
    color: #225689;
    padding: 10vw;
    
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.privacy-policy h1{
    text-align: center;
}

.privacy-policy p{
    padding-bottom:3rem ;
}
/* animations */
@keyframes fadeInDown {
    from { opacity: 0; }
    to   { opacity: 1; }

    from { transform: translateY(-50%);}
    to { transform: translateY(0);}
}

@keyframes fadeInUp {
    from { opacity: 0; }
    to   { opacity: 1; }

    from { transform: translateY(150%);}
    to { transform: translateY(0);}
}

@keyframes fadeInRight {
    from { opacity: 0; }
    to   { opacity: 1; }

    from { transform: translateX(-50%);}
    to { transform: translateX(0);}
}

@keyframes fadeInLeft {
    from { opacity: 0; }
    to   { opacity: 1; }

    from { transform: translateX(150%);}
    to { transform: translateX(0);}
}



/* media */
@media only screen and (max-width:780px) {


    main{
        padding: 0;
        
    }
    .row1{
        flex-direction: column;
        padding: 0vh 2.5vw;
        gap: 1vh;
        height: 95vh;
    }

    .col1{
        animation: fadeInDown 1s;
        
    }
    .col2{
        margin: 0vh 0vw 2.5vh;
        max-width: 90vw;
        animation: fadeInRight 1s;
        border-radius: 4px;
        border: 2px solid white;
    }
    .hamMenu{
        display: flex;
    }
    .navList{
        display: none;
    }

    nav{
        background-color: #0379C7;
        color: whitesmoke;
    }
    .solutionsGrid{
        display: flex;
        justify-content: space-around;
        flex-flow: wrap;
        gap: 1rem;
        row-gap: 2rem;
        padding: 2rem 1rem;
    }

    .infoBoxLabel{
        width: 720px;
        min-height: auto;
        border: 2px solid #0379C7;
        flex: 0 1 100%;
    }

    
    
    .infoBoxLabel .infoBox h3{
        width: fit-content;
        position: relative;
        padding: 0rem;
        top: 50%;
        text-align: left;
    }

    .infoBoxLabel .infoBox .infoBoxIcon{
        align-self: flex-start;
        padding: 0rem;
        position: relative;
        top: 50%
    }
    .infoBox div{
        display: flex;
        flex-direction: row;
        padding: 1vh 1vw 1vh 3vw;
        column-gap: 1rem;
        align-items: center;
    }


    .contactUs{
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding: 5vh 5vw;
    }
    
    .consentContainer{
        display: block;
    }

    .footerDetails{
        gap: 1rem;
    }

    .footerDetails div{
        padding: 0rem 2rem;
    }

    .footerDetails{
        flex-direction: column ;
    }


    .footerDetails a{
        font-size: 1rem;
    }

    .footerDetails p{
        font-size: 1rem;
    }

    .footerInfo {
        display: none;
    }
    .contactUs div{
        padding: 0rem;
    }
}

@media only screen and (min-width:2560px){
    body{
        font-size: 1.5rem;
        line-height: 3rem;
    }

    .solutionsGrid{
        row-gap: 3rem;
        padding: 5rem;
    }

    .infoBox{
        gap: 3rem;
        line-height: 3rem;
    }

    .infoBoxLabel .infoBoxIcon{
        height: 3.5rem;
    }
    

}