/*Default Styles*/
*{
    transition: 0.3s ease;
}
/*Color*/
:root{
    --primary: #144160;
    --secondary: #3D779D;
    --secondary-light: #ABCFE7;
    --third: #F0F6FB;
}
/*Fonts*/
@font-face {
    font-family: 'DM Sans';
    src: url('/360fit/wp-content/themes/three-sixty-fit/assets/fonts/DMSans-VariableFont.ttf');
}
h1, h2, h3, h4, h5, h6, a, span, p, strong, ul, li, ol{
    font-family: 'DM Sans';
    color: var(--primary);
}
h1, h2, h3, h4, h5, h6{
    font-weight: bold;
}
h1 { font-size: 60px; color: var(--primary); }
h2 { font-size: 50px; }
h3 { font-size: 28px;}
h4,h5{ font-size: 20px; }
p, a, ul, li, ol{
    font-weight: 500;
    color: var(--secondary);
}
/*Spacings*/
section{
    padding: 70px 0;
}

/*Button*/
.cta1, .cta2, .cta2:hover{
    background: var(--primary);
    border: 1px solid var(--primary);
    color: #fff;
    border-radius: 10px;
    padding: 12px 20px;
    text-decoration: none;
}
.cta2, .cta1:hover{
    background: transparent;
    color: var(--primary);
}
.cta3{
    border-radius: 10px;
    padding: 12px 20px;
    text-decoration: none;
    color: #fff;
    background: #3D779D;
}
.cta3:hover{
    background: #1C4564;
}

/*Nav*/
nav {
    box-shadow: 0 0 5px #0005;
    padding: 10px 0;
    position: relative;
    z-index: 2;
    background: #fff;
}
.nav-menu-mobile {
    display: none;
}
.nav-logo, .nav-menus {
    width: fit-content;
}
.nav-menu-desktop ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    align-items: center;
}
.nav-menu-desktop li {
    margin-left: 2.5em;
    position: relative;
}
.nav-menus a {
    color: var(--secondary);
    text-decoration: none;
    font-weight: 500;
}
.nav-side-menu {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    max-width: 500px;
    background: #fff;
    padding: 30px;
    height: 100%;
    transform: translateX(105%);
}
.nav-side-menu.active{
    transform: translateX(0);
}
.nav-toggle {
    font-size: 25px;
}
.nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0007;
    cursor: pointer;
    display: none;
}
.nav-overlay.active{
    display: block;
}
.nav-menu-mobile li {
    margin-bottom: 10px;
}
.nav-menu-mobile ul {
    list-style: none;
    padding: 0;
}
.nav-menus li.cta1 a {
    color: #fff;
}
.nav-menus li.cta1:hover a {
    color: var(--primary);

}
.nav-menu-desktop ul.sub-menu {
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(100%);
    background: #fff;
    display: none;
    flex-direction: column;
    gap: 10px;
    width: 300px;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 5px var(--primary);
}
.nav-menu-desktop ul.sub-menu li a, .nav-menu-desktop ul.sub-menu li {
    margin: 0;
    display: flex;
    width: 100%;
}
.nav-menu-desktop li.menu-item-has-children:hover ul.sub-menu {
    display: flex;
}
.nav-close-btn {
    margin-bottom: 20px;
}
.nav-close-btn i {
    font-size: 22px;
    color: var(--secondary);
    cursor: pointer;
}
.nav-close-btn i:hover{
    color: var(--primary);
}
header { position: relative; }
.mega-menu-sub {padding: 20px 0;box-shadow: 0 3px 5px #0005;position: absolute;bottom: 0;width: 100%;background: #fff;z-index: 1;transform: translateY(-100%); transition: 0.7s ease;}
.mega-menu-sub a {text-decoration: none;}
.mega-menu-sub ul {list-style: none;padding: 0;}
.our-solution-mega-menu.active{ transform: translateY(100%); }
.nav-menu-mobile .sub-menu {
    padding-left: 15px;
    display: none;
    transition: none;
}
.nav-menu-mobile li.menu-item-has-children:hover > ul.sub-menu{
    display: block;
}
.mega-menu-sub li {
    margin-bottom: 8px;
}
/*Footer*/
.social-icons img {
    width: 37px;
    height: 37px;
    object-fit: contain;
}
.social-icons {
    display: flex;
    gap: 30px;
    margin-bottom: 20px;
}
.footer-socials p {
    margin: 15px 0;
    font-weight: 500;
}
.footer-links li {
    margin-bottom: 8px;
}
.footer-links ul {
    list-style: none;
    padding: 0;
}
.footer-links li, .footer-links a {
    color: var(--secondary);
    text-decoration: none;
}
footer {
    padding: 70px 0;
}

.general-carousel .owl-dots {
    display: flex;
    justify-content: center;
}
.partners-carousel .owl-stage {
    display: flex;
    align-items: center;
}
.partner-img {
    padding: 0 15px;
}
.partner-img img {
    height: 200px;
}
@media only screen and (max-width: 991.5px){
    h1 { font-size: 45px; }
    h2 { font-size: 38px; }
    h3 { font-size: 25px;}
    h4,h5{ font-size: 20px; }
    .nav-menu-desktop {
        display: none;
    }
    .nav-menu-mobile {
        display: block;
    }
    .mega-menu-sub, .mega-menu-sub.active{
        display: none !important;
    }
}
@media only screen and (max-width: 767.5px){
    h1 { font-size: 35px; }
    h2 { font-size: 30px; }
    h3 { font-size: 23px;}
    h4,h5{ font-size: 18px; }
    section {
        padding: 40px 0;
    }
    
}