

*{
    padding:0;
    margin:0;
    box-sizing: border-box;
    font-family: 'Gotham';
}

h1,h2,h3,h4,h5,h6,a,p, button{
    font-family: 'Gotham', sans-serif !important;
}

html,body{
    overflow-x: hidden;
}

li{
    list-style: none;
}

.max-width{
    max-width:1440px;
    width:100%;
}

.global-padding{
    padding:0 20px;
}

.mb{
    display: none;
}

/* Start Header */

#header{
    display: flex;
    align-items: center;
    justify-content: center;
}

#header .wrapper{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding:20px 20px;
    gap:20px;
}

#header .wrapper h1{
    margin:0;
    width:100%;
    max-width:275px;
}

#header .wrapper h1 a{
    display: flex;
    align-items: center;
    justify-content: center;
}

#header .wrapper h1 img{
    width:100%;
}

#header .wrapper .primary-menu{
    display: flex;
    gap:20px;
    align-items: center;
    justify-content: center;
}

#header .wrapper .primary-menu a{
    color:black;
    font-size:16px;
    width:100%;
}

#header .menu-item-has-children{
    position: relative;
    display: flex;


}

#header .primary-nav .menu-item-has-children .sub-menu {
    position: absolute;
    top: 30px;
    left: 0;
    max-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 10px; /* set horizontal padding only when hidden */
    box-shadow: 0px 5px 10px #888888;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.5s ease, padding 0.5s ease;
    z-index: 9999;
    font-size:14px;
    background-color: white;
}

#header .primary-nav .menu-item-has-children:hover .sub-menu {
    max-height: 500px; /* set a max expected height */
    opacity: 1;
    padding: 10px; /* restore full padding */
}



#header .menu-item-has-children .sub-menu a{
    padding:10px;

}

#header .menu-item-has-children .sub-menu li{
    transition: transform 0.3s ease-in-out;
}

#header .menu-item-has-children .sub-menu li:hover{
    transform: scale(0.9);
}

#header .primary-menu li{
  position: relative;

}

#header .primary-menu > li > a{
    display: flex;
    align-items: center;
    justify-content: center;
}

#header .primary-menu > li::after{
    content:'';
    position: absolute;
    width:100%;
    height:2px;
    border-radius: 20px;
    background-color: #DA1B1D;
    bottom:-5px;
    left:0;
    transform: rotateY(90deg);
    transition: transform 0.5s ease-in-out;
}

#header .primary-menu > li:hover::after{
    transform: rotate(0deg);
}

#header .primary-menu .current-menu-item::after{
    content: '';
    position: absolute;
    bottom: -5px;
    left:0;
    height:2px;
    width:100%;
    background-color:#DA1B1D;
    border-radius: 20px;
    transform: rotate(0deg);
}

#header .primary-menu .sub-menu .current-menu-item::after{
    display: none;
}



#header button, #header button:active, #header button:focus{
    color:initial;
    background-color:initial;
    border:initial;

}

/* End Header */

/* Start Footer */

#footer{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #272727;
    padding:50px 20px 10px; 
}

#footer p,
#footer a,
#footer a:hover,
#footer a:focus{
    color:white;
    background-color: initial;
    border: none;
}

#footer p{
    padding: 20px 20px 10px;
    border-top:1px solid white;
    text-align: center;
    margin:0;
}

#footer .wrapper:first-child{
    display: flex;
    gap:30px;
    padding-bottom: 50px;
    flex-wrap: wrap;
    justify-content: space-between;
}

#footer .wrapper:first-child p{
    border: none;
    text-align: left;
    padding:0;
    font-weight: 700;
    font-size: 24px;
}

#footer .map{
    max-width: 370px;
    width:100%;
    height:210px;
    border-radius: 20px;
    overflow: hidden;
}

#footer .map iframe{
    width:100%;
}

#footer ul{
    display: flex;
    flex-direction: column;
    gap:20px;
}

#footer li a{
    display: flex;
    align-items: center;
    gap:10px;
    font-size:16px;
    transition: transform 0.3s ease-in-out;
}

#footer li a:hover{
    transform: scale(0.9);
}

/* End Footer */

.line-container{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    width:100%;
    height:3px;
}

.line-animation{
    width:100%;
    height:100%;
    border-radius: 20px;
    background-color: #E89697;
    position: relative;
    border-radius: 20px;
}

/* .line-animation::before{
    content:'';
    position: absolute;
    width:0%;
    height: 100%;
    top:0;
    left:0;
    animation: slideBackAndForth 10s infinite alternate ease-in-out;
} */

.line-animation::after{
    content:'';
    width:20px;
    height:20px;
    position: absolute;
    top:0;
    left:0;
    transform: translateY(-40%);
    border-radius:100px;
    background-color:#DA1B1D;
    animation: slideBackAndForthRound 10s alternate infinite ease-in-out;
}

#contact form{
    display: flex;
    flex-direction: column;
}

#contact .form-control{
    display:flex;
    flex-direction:column;
    position:relative;
    padding:5px 10px;
    margin-top:10px;
    margin-bottom:30px;
    border-radius:20px;
    border:#3FA9F5 1px solid;
}


#contact .form-control label{
    position:absolute;
    z-index:2;
    font-size:16px;
    top:15px;
    left:20px;
    transition: transform 0.3s ease-in-out, font-size 0.3s ease-in-out;
}

#contact .form-control input,
#contact .form-control textarea{
    border:none;
    background-color:transparent;
    outline: none;
}

#contact .form-control label.floating {
    font-size: 14px;
    color: #3FA9F5;
    transform: translate(-10px, -40px);
  }

  #contact .wpcf7-not-valid-tip{
    display: none;
  }

  #contact .submit-btn{
    color: white;
    border: none;
    background-color: #3FA9F5;
    border-radius: 20px;
    padding: 11px 50px;
    transition: transform 0.5s ease-in-out;
    display:flex;
    align-items:center;
    gap:10px;
    align-self: flex-end;
  }

  #contact .submit-btn:active{
    background-color: #3FA9F5;
    border: none;
    color:white;
  }

  #contact .submit-btn:hover{
    background-color: #3FA9F5;
    border: none;
    color:white;
    transform: scale(0.9);
  }

  

  .bg-element {
    animation: bounce 4s infinite ease-in-out;
  }

  .bg-1 {
    animation-delay: 0s;
  }

  .bg-2 {
    animation-delay: 0.4s;
  }

  .bg-3 {
    animation-delay: 0.8s;
  }

  .blue{
    color:#3FA9F5;
  }

  .green{
    color:#39B54A;
  }

  .yellow{
    color:#E9DA00;
  }

  .red{
    color:#DA1B1D;
  }


  

@keyframes slideBackAndForthRound{
    0% {
        left: 0%;
    }
    20%{
        left:30%;
    }
    40%{
        left:10%;
    }
    60%{
        left:70%;
    }
    80%{
        left:50%;
    }
    100% {
        left: 98%; 
    }
}

@keyframes slideBackAndForth {
    0% {
        width: 0%;
    }
    20%{
        width:30%;
    }
    40%{
        width:10%;
    }
    60%{
        width:70%;
    }
    80%{
        width:50%;
    }
    100% {
        width: 98%; 
    }
}

@keyframes bounce {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-30px);
    }
  }




@media( max-width:1150px ){

    #footer .wrapper:first-child{
        gap:50px;
        justify-content: flex-start
    }

    #footer .map{
        max-width: 100%;
        height:250px;
    }
}


@media( max-width:1024px ){

    #header .wrapper h1{
        width:80%;
        max-width:220px;
    }
    #header #menu-primary-menu.primary-menu li  a{
       font-size:14px;
    }
}

@media( max-width:768px ){

    .pc{
        display: none !important;
    }

    .mb{
        display: block;
    }

   #header .hamburger{
        display: flex;
        align-items: center;
        gap:4px;
        max-width:60px;
        width:100%;
        border:none;
        flex-direction: column;
    }

    #header .hamburger:hover{
        background-color: initial;
        border:initial;
        transform: scale(0.9);
    }

    #header .hamburger span{
        width:100%;
        height:3px;
        border-radius: 20px;
        background-color:black;
    }

    #header .hamburger::before,
    #header .hamburger::after{
        content:'';
        width:100%;
        height:3px;
        border-radius: 20px;
        background-color: black;
      
    }

    #header .mobile-nav-container{
       position: fixed;
       transition: opacity 0.5s ease-in;
       top:0;
       left:0;
       z-index:-1;
       width:100%;
       height:100vh;
       opacity: 0;
    }

    #header .mobile-nav-container.open{
        z-index:10;
        opacity: 1;
    }

    #header .mobile-nav-container::after{
        content:'';
        position: absolute;
        background-color: rgb(0, 0, 0, 0.5);
        top:0;
        left:0;
        width:100%;
        height:100%;
        z-index:1;
    }

    #header .wrapper-mb-nav{
        background-color: white;
        position: absolute;
        right: 0;
        top:0;
        z-index:2;
        padding:50px 30px;
        max-width:300px;
        width:100%;
        height:100vh;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
    }

    #header .mobile-nav-container.open .wrapper-mb-nav{
        transform: translateX(0);
    }

    #header .wrapper-mb-nav .close-btn-nav{
        position: absolute;
        right:20px;
        top:15px;
        border:none;
        color:black;
        transition:transform 0.5s ease-in;
        font-size: 30px;
        padding:0;
    }

    #header .wrapper-mb-nav .close-btn-nav:hover{
        transform: scale(0.9);
        background-color: initial;
    }

    #header .mobile-menu li a{
        color:black;
        display: flex;
        align-items: center;
    }
    
    #header .mobile-menu > .menu-item > a{
        padding:10px 0 5px;
        font-size: 16px;
    }

    #header .mobile-nav-container .menu-item-has-children{
        display: flex;
        flex-direction: column;
    }

    #header .mobile-menu .menu-item-has-children .sub-menu{
        max-height: 0;
        transition: max-height 0.5s ease-in-out, padding 0.5s ease-in-out;
        padding: 0 10px;
        overflow: hidden;
    }

    #header .mobile-menu .menu-item-has-children.open .sub-menu{
        max-height: 500px;
        padding:10px;
    }

    #footer .wrapper:first-child{
        flex-direction: column;
        gap:30px;
    }

    #footer .map{
        height:210px;
    }


  


}
  