 @import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100;300;400;500;600;700;800;900&display=swap');

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    font-size: 10px;
    scroll-behavior: smooth;
}

/* Global Font */
h1 {
    font-family: 'Brush Script mt', cursive;
    margin-bottom: 20px;
}
h2 {
    font-family: 'Lexend', sans-serif;
    color: #413d4b;
    font-size: 1.8rem;
    font-weight: 700;
    text-transform: uppercase;
}
h3 {
    font-family: 'Lexend', sans-serif;
}
h5 {
    font-family: 'Lexend', sans-serif;
    margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: 100;
}
p {
    font-family: 'Lexend', sans-serif;
    color: #413d4b;
    font-size: 1.7rem;
}

/* Button */
a {
    font-family: 'Lexend', sans-serif;
    text-decoration: none;
}

.cta, .Login  {
    display: inline-block;
    padding: 10px 30px;
    color: #ffffff;
    background-color: #03396c;
    border-radius: 3px;
    font-size: 1.5rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 30px;
    transition: .3s ease;
    transition-property: background-color, color;
}
.cta:hover, .Login:hover {
    color: #005b96;
    background-color: #ffffff;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
.Login 

/* Section Title */

.section-title {
    font-size: 3.5rem;
    color: #413d4b;
    text-transform: uppercase;
}

/* Container */
.container {
    max-width: 1200px;
    min-height: 100vh;
    width: 100%;
    display: flex;
}






/* ========== SECTIONS ========== */

/* Header Section */
#header {
    position: fixed;
    z-index: 20;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
}
#header .header {
    min-height: 8vh;
    padding: 10px;
    box-shadow: 0 -6px 10px 5px rgba(0,0,0,0.5);
    backdrop-filter: blur(3px);
}

#header .nav-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    max-width: 1200px;
    padding: 0 10px;
}
#header .branding  img {
    width: 25%;
} 
#header .nav-list ul {
    list-style: none;
    position: absolute;
    background-color: rgb(31, 30, 30);
    width: 100vw;
    height: 100vh;
    left: 100%;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 1;
    overflow-x: hidden;
    transition: .5s ease left;
}
#header .nav-list ul.active {
    left: 0%;
}
#header .nav-list ul a {
    font-size: 2.5rem;
    font-weight: 500;
    text-decoration: none;
    color: rgb(0, 0, 0);
    padding: 20px;
    display: block;
}
#header .nav-list ul a::after{
    content: attr(data-after);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    color: rgba(240, 248, 255, 0.021);
    font-size: 15rem;
    letter-spacing: 50px;
    z-index: -1;
    transition: .3s ease letter-spacing;
}
#header .nav-list ul li:hover a::after {
    transform: translate(-50%, -50%) scale(1);
    letter-spacing: initial;
}
#header .nav-list ul li:hover a{
    color:#0009aa;
}

#header .hamburger {
    height: 60px;
    width: 60px;
    display: inline-block;
    border: 3px solid white;
    border-radius: 50%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    cursor: pointer;
    transform: scale(.7);
    margin-right: 5px;
}
#header .hamburger:after {
    position: absolute;
    content: '';
    height: 100%;
    width: 100%;
    border-radius: 50%;
    border: 3px solid white;
    animation: hamburger_pulse 1s ease infinite;
}
#header .hamburger .bar {
    height: 2px;
    width: 30px;
    position: relative;
    background-color: white;
    z-index: -1;
}
#header .hamburger .bar::after,
#header .hamburger .bar::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    background-color: white;
    transition: .3s ease;
    transition-property: top, bottom;
}
#header .hamburger .bar::after {
    top: 8px;
}
#header .hamburger .bar::before {
    bottom: 8px;
}
#header .hamburger.active .bar::before {
    bottom: 0;
}
#header .hamburger.active .bar::after {
    top: 0;
}
/* End Header Section */

/* Hero Section */
    #hero {
        background-image: url(/Assets/HeroBG.png);
        background-size: cover;
        background-position: top center;
        position: relative;
        
    }
    #hero .hero {
        margin: 0 auto;
        padding: 0 50px;
        text-align: center;
        align-items: center;
        justify-content: center;
    }

    #hero .hero-title {
        width: 50%;
        text-align: center;
    }
    #hero h1 {
        font-size: 8rem;
        color: rgb(255, 255, 255);
        text-shadow: 2px 2px 4px #1100ff;
    }
    #hero p {
        letter-spacing: 1px;
        color: white;
        margin-top: 10px;
    }

    /* Registration Form */
    .wrapper{
        position: relative;
        max-width: 430px;
        width: 100%;
        background: #fff;
        padding: 30px;
        border-radius: 6px;
        box-shadow: 0 5px 10px rgba(0,0,0,0.2);
        align-items: center;
      }
      .wrapper h2{
        position: relative;
        font-size: 22px;
        font-weight: 600;
        color: #333;
      }
      .wrapper h2::before{
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        height: 3px;
        width: 28px;
        border-radius: 12px;
        /* background: #4070f4; */
      }
      .wrapper form .input-box{
        height: 50px;
        margin: 10px 0;
      }
      form .input-box input{
        height: 100%;
        width: 100%;
        outline: none;
        padding: 0 15px;
        font-size: 17px;
        font-weight: 400;
        color: #333;
        border: 1.5px solid #C7BEBE;
        border-bottom-width: 2.5px;
        border-radius: 6px;
        transition: all 0.3s ease;
      }
      .input-box input:focus,
      .input-box input:valid{
        border-color: #4070f4;
      }
      form .policy{
        display: flex;
        align-items: center;
      }
      form h3{
        color: #707070;
        font-size: 14px;
        font-weight: 500;
        margin-left: 10px;
      }
      .input-box.button input{
        color: #fff;
        letter-spacing: 1px;
        border: none;
        background: #4070f4;
        cursor: pointer;
      }
      .input-box.button input:hover{
        background: #0e4bf1;
      }
      form .text h3{
       color: #333;
       width: 100%;
       text-align: center;
      }
      form .text h3 a{
        color: #4070f4;
        text-decoration: none;
      }
      form .text h3 a:hover{
        text-decoration: underline;
      }
/* End Hero Section */

/* Story Section */
    #story .story {
        flex-direction: column-reverse;
        margin: 0 auto;
        padding: 100px 0;
        align-items: center;
        text-align: center;
    }
    #story p {
        color: #413d4b;
        padding-right: 50px auto;
    }
    #story .story-top a {
        margin-top: 50px;
    }
    #story img {
      width: 60%;
    }
    #story .story-bottom {
        display: flex;
        justify-content: center;
        margin-bottom: 50px;
    }
/* End Story Section */

/* Expertise Section */
    #expertise {
        background-color: #f5f4f4;
    }
    #expertise .expertise {
        flex-direction: column;
        margin: 0 auto;
        padding: 100px 0;
    }
    #expertise .expertise-header {
        text-align: center;
        margin-bottom: 50px;
    }
    #expertise .top-expertise-item {
        display: flex;
        flex-direction: column;
    }
    #expertise .bottom-expertise-item {
        display: flex;
        flex-direction: column;
    }
    #expertise .expertise-item{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        width: 50%;
        margin: 50px auto;
    }
    #expertise .expertise-icon {
        margin-bottom: 30px;
    }
    #expertise .expertise-info {
        text-align: center;
    }

/* End Expertise Section */

/* Contact Section */
    #contact .contact {
        flex-direction: column;
        margin: 0 auto;
        padding: 100px 0;
    }
    #contact .all-contact {
        justify-content: center;
    }

    /* Left Column */
    #contact .contact-form h1 {
        margin-bottom: 20px;
    }
    #contact .all-form {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    #contact .input-field {
        width: 100%;
        height: 40px;
        margin-top: 20px;
        padding-left: 10px;
        opacity: 50%;
    }
    #contact .contact-form {
        width: 50%;
        margin-bottom: 100px;
        text-align: center;
        justify-content: center;
    }
    #contact .textarea {
        width: 100%;
        height: 150px;
        padding-top: 10px;
        font-family: 'Roboto', sans-serif;
    }
    #contact .textarea-field {
        height: 150px;
        padding-top: 10px;
        font-family: 'Roboto', sans-serif;
    }

    /* Right Column */
    #contact .contact-photo {
        width: 40%;
        text-align: center;
    }
    #contact .contact-photo img {
        width: 80%;
        height: 85%;
        object-fit: cover;
        border-radius: 10px;
    }
/* End Contact Section */

/* Footer Section */
    #footer .container {
        min-height: 20vh;
    }
    #footer {
        background-color: #011f4b   ;
        position: relative;
    } 
    #footer .footer {
        flex-direction: column;
        margin: 0 auto;
        padding: 100px 0;
    }

    /* Left Column */
    #footer .left-col {
        margin-bottom: 50px;
        text-align: center;
    }
    #footer .left-col img {
        width: 50px;
        margin-bottom: 30px;
    }
    #footer .left-col p {
        color: white;
    }
    #footer .left-col-all-other-info {
        display: flex;
        justify-content: center;
        margin-top: 100px;
    }
    #footer .left-col-other-info {
        padding-right: 30px;
    }
    #footer .left-col-other-info p {
        color: white;
        text-transform: uppercase;
    }

    /* Middle Coloumn */
    #footer .middle-col {
        margin-bottom: 50px;
        text-align: center;
    }
    #footer .middle-col h2 {
        color: white;
        margin-bottom: 30px;
    }
    #footer .middle-col-all-contact-item {
        display: flex;
        flex-direction: column;
    }
    #footer .middle-col-contact-item {
        display: flex;
        padding-bottom: 30px;
    }
    #footer .middle-col-contact-item img {
        margin-right: 30px;
        height: 100%;
        width: 30px;
    }
    #footer .middle-col-all-contact-item p{
        color: white;
    }
/* End Footer Section */





/* ========== KEYFRAMES ========== */
@keyframes hamburger_pulse {
    0% {
        opacity: 1;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1.3);
    } 
}







/* ========== RESPONSIVENESS ========== */

/* Media Query for Tablet*/
@media only screen and (min-width:768px) {
    /* Our Story  */
    #story .story {
        flex-direction: row-reverse;
    }
    #story .story-top {
        padding-right: 50px;
    }
    #story .container {
        min-height: 10vh;
    }
    #story .story-bottom {
        width: 80%;
        padding-left: 60px;
        padding-right: 60px;
    }
    #story .story-top {
        text-align: left;
    }    
    /* End Our Story */

    /* Expertise */
    #expertise .top-expertise-item {
        flex-direction: row;
    }
    #expertise .bottom-expertise-item {
        flex-direction: row;
    }
    #expertise .expertise-item {
        padding-left: 25px;
        padding-right: 25px;
    }
    /* End Expertise */

    /* Team */
    #team .all-team {
        flex-direction: row;
        justify-content: center;
    }
    /* End Team */

    /* Contact */
    #contact .all-contact {
        display: flex;
        justify-content: space-around;
    }
    #contact .all-form {
        align-items:flex-start;
    }
    #contact .contact-form {
        text-align: left;
    }
    /* End Contact */

    /* Footer */
    #footer .container {
        height: 55vh;
    }
    #footer .footer {
        flex-direction: row;
        justify-content: space-around;
    }
    #footer .left-col {
        text-align: left;
        width: 30%;
    }
    #footer .left-col-all-other-info {
        justify-content: left;
    }

    #footer .middle-col {
        text-align: left;
        width: 30%
    }
    #footer .right-col {
        align-items: baseline;
        text-align: left;
        width: 30%;
    }
    /* End Footer */
}
/* End Media Query for Tablet*/

/* Media Query for Desktop */
@media only screen and (min-width: 1200px) {

    /* Header */
    #header .header {
        min-width: 100%;
        padding: 10px;
        justify-content: center;
    }
    #header .branding  img {
        width: 25%;
        padding: 5px;
    } 
    #header .hamburger {
        display: none;
    }
    #header .nav-list ul {
        position: initial;
        display: block;
        height: auto;
        width: fit-content;
        background-color: transparent;
    }
    #header .nav-list ul li {
        display: inline-block;
    }
    #header .nav-list ul li a {
        font-size: 1.7rem;
    }
    #header .nav-list ul a:after {
        display: none;
    }
}
/* End Media Query for Desktop */

/* login form */
#loginWrapper {
    position: relative;
    max-width: 430px;
    width: 100%;
    background: #fff;
    padding: fixed;
    border-radius: 6px;
    box-shadow: 0 5px 5px rgba(0,0,0,0.0);
    align-items: center;
    background-color: transparent;
}
#loginWrapper .wrapper {
    width: 80%;
    margin: 0 auto;
}
#loginWrapper input[type="text"],
#loginWrapper input[type="password"],
#loginWrapper input[type="submit"] {
    width: 100%;
    margin-bottom: 20px;
}