@import url('https://fonts.googleapis.com/css2?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');

:root{
    --primary-fonts: "Roboto", sans-serif;
    --title-fonts: var(--primary-fonts);
    --primary-color: #870051;
    --dark-primary-color: #4D1033;
    --dark-text: #231F20;
    --light-bg: #F4F4F4;
    --border-color: #C5C5C5;
    --text-gray-color: #595457;
}

body{
    font-family: var(--primary-fonts);
    line-height: 1.5;
    color: var(--text-gray-color);
}

h1,h2,h3,h4,h5,h6{
    font-family: var(--title-fonts);
    color: var(--dark-text);
    font-weight: 900;
    line-height: 1.2;
}

a,strong,span{
    display: inline-block;
}

img{
    max-width: 100%;
    height: auto;
}
.container{
    --container-width: 1320px;
}

/*header CSS*/
.site-header *{
	vertical-align: middle;
}
.site-header :is(h1, h2, h3, h4, h5, h6){
	margin-top: 0;
}
.site-header .container{
	display: block;
    position: static;
	width: 100%;
}
.top-header{
    background-color: var(--primary-color);
    color: #ffffff;
    font-size: 14px;
}
.top-header p{
    margin: 0;
}
ul.top-header-list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}
.top-header-list a{
    padding: 14px 23px 16px;
    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.top-header-list a.login-btn{
    background-color: var(--dark-primary-color);
}
.top-header-list a:hover{
	background-color: #000000;
}
/*Bottom Header CSS*/
.bottom-header{
    position: relative;
    border-bottom: 1px solid var(--border-color);
	overflow-x: clip;
}
.site-logo img{
    height: 90px;
	width:auto;
}
.hamburger-menu{
    display: none;
}
.nav-list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
}
.contact-btn .primary-btn{
    font-size: 16px;
    line-height: 1.5;
    padding: 15px 30px;
    background-color: var(--primary-color);
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.primary-menu{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}
.primary-menu-list-item{
    padding: 28px 0;
}
.primary-menu-list-item > a{
    padding: 18px 30px;
    border-bottom: 2px solid;
    border-color: transparent;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    text-decoration: none;
    font-size: 16px;
    line-height: 1.1;
    color: var(--dark-text);
    font-weight: 900;
    text-transform: uppercase;
}

.mega-menu{
    position: absolute;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    top: 100%;
    left: 0;
    right: 0;
    border-bottom: 5px solid var(--color);
    background: #fff;
    z-index: 20;
	margin-top: 1px;
}
.primary-menu-list-item:hover > .mega-menu{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.mega-menu-wrapper{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.mega-menu-content{
    -webkit-box-flex: 0;
        -ms-flex: 0 1 33.33%;
            flex: 0 1 33.33%;
    max-width: 33.33%;
    position: relative;
    z-index: 0;
}
.mega-menu-content::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 100vw;
    background-color: var(--bg-color);
    z-index: -1;
}
.mega-menu-link-list{
    -webkit-box-flex: 0;
        -ms-flex: 0 1 66.67%;
            flex: 0 1 66.67%;
    max-width: 66.67%;
}
.mega-menu-content .content{
    max-width: calc(var(--container-width) * 1 / 3 );
    margin-left: auto;
    padding: 50px 64px;
}
.mega-menu-content h2{
    font-size: 24px;
    margin-bottom: 13px;
}
.mega-menu-content p{
    font-size: 16;
}
.mega-menu-content a.primary-btn{
    padding: 15px 30px;
    color: #ffffff;
    text-transform: uppercase;
    font-weight: 600;
    background-color: var(--color);
    text-decoration: none;
    margin-top: 30px;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.contact-btn .primary-btn:hover{
	color: #ffffff;
	background-color: #4D1033;
}
.mega-menu-content a.primary-btn:hover{
	color: #ffffff;
	background-color: var(--hover-color);
}
.mega-menu-link-list .mega-menu-list-wrapper{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 50px 0;
    max-width: calc(var(--container-width) * 2 / 3 );
}
.mega-menu-link-list .mega-menu-list-wrapper > div{
    -webkit-box-flex: 50%;
        -ms-flex: 50%;
            flex: 50%;
    max-width: 50%;
    padding: 0px 60px;
}

.link-list-item h3{
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--color);
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 14px;
}
.link-list-item ul{
    list-style: none;
    padding: 0;
    margin: 0;
}
.link-list-item ul li + li{
    margin-top: 10px;
}
.link-list-item ul a{
    text-decoration: none;
    color: inherit;
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}
.link-list-item ul a:hover{
    font-weight: 700;
}
.link-img-item a:hover .img-content{
	background-color: var(--bg-color);
}
.link-img-item img{
    width: 100%;
    aspect-ratio: 2.052;
    -o-object-fit: cover;
       object-fit: cover;
}
.link-img-item a{
    color: var(--text-gray-color);
    text-decoration: none;
}
.link-img-item .img-content{
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
    padding: 19px 30px;
    text-align: center;
    background-color: var(--light-bg);
    border-bottom: 3px solid var(--color);
    font-size: 16px;
    font-weight: 500;
}
.login-btn.mobile{
    display: none;
}
.mobile-only-header-contact{
	display: none;
}
.link-img-item a:hover .img-holder img {
    scale: 1.1;
}

.link-img-item a .img-holder {
    overflow: hidden;
}

.link-img-item a .img-holder img {
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}
/*Responsive*/
@media screen and (min-width: 992px) {
    .primary-menu-list-item:hover > a{
        background-color: var(--light-bg);
        border-color: var(--primary-color);
    }
	
}

@media screen and (max-width: 1345px){
	.primary-menu-list-item > a{
		padding: 18px;
	}
	.primary-menu-list-item{
		padding: 25px 0;
	}
	.mega-menu-link-list .mega-menu-list-wrapper > div{
		padding: 0 30px;
	}
	.link-img-item .img-content{
		padding: 12px;
	}
	.mega-menu-content .content{
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media screen and (max-width:1150px) and (min-width:900px){
	.site-logo img {
		height: 75px;
	}
	.primary-menu-list-item > a {
        padding: 18px 12px;
    }
}
@media screen and (max-width:1150px){
	.link-list-item ul a,
	.link-list-item h3,
	.primary-menu-list-item > a,
	.link-img-item .img-content,
	.primary-menu{
		font-size:15px;
	}
}
@media screen and (max-width:1140px){
	.link-list-item ul a,
	.link-list-item h3,
	.primary-menu-list-item > a,
	.link-img-item .img-content,
	.primary-menu{
		font-size:15px;
	}
}
@media screen and (max-width: 991px) {
		body.hamburger-active{
		overflow: hidden;
	}
    .login-btn.mobile{
        display: block;
    }
    .top-header .top-header-list li:has(a.login-btn){
        display: none;
    }
    ul.top-header-list{
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .top-header-list a{
        padding: 12px;
    }

    .bottom-header{
        padding: 12px 0;
    }
    .site-logo img{
        height: 65px;
    }
    .hamburger-menu{
        display: block;
        padding: 10px;
        position: relative;
        z-index: 1010;
    }
    .hamburger-menu svg{
        width: 30px;
    }
    .hamburger-menu.active .hamburger-open,
    .hamburger-menu .hamburger-close{
        display: none;
    }
    .hamburger-menu.active .hamburger-close{
        display: block;
    }
    .nav-list{
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        overflow-y: auto;
        -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
                transform: translateX(100%);
        -webkit-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background-color: #ffffff;
        z-index: 1005;
        max-width: 340px;
        width: 100%;
        display: block;
        padding-bottom: 100px;
		height: calc(100vh - 45px);
    }
    /* body.hamburger-active::before{
        content: '';
        position: fixed;
        top: 45px;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(180deg, rgba(35, 31, 32, 0.25) 0%, rgba(35, 31, 32, 0) 100%);
        z-index: 5;
    } */
    .nav-list.nav-active{
        -webkit-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px 25px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
                box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px 25px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
        -webkit-transform: translateX(0);
            -ms-transform: translateX(0);
                transform: translateX(0);
    }
    .nav-list .login-btn{
        height: 90px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: sticky;
        top: 0;
        background-color: #ffffff;
    }
    .nav-list .login-btn a{
        padding: 30px;
        font-size: 16px;
        font-weight: 600;
        color: #84667A;
        text-decoration: none;
        text-transform: uppercase;
    }
    .primary-menu{
        display: block;
    }
    .primary-menu-list-item{
        padding: 0;
    }
    .primary-menu-list-item > a{
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 20px 30px;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        border: 0;
    }
    .primary-menu-list-item.open > a{
        background-color: var(--bg-color);
    }
    .dropdown-btn{
        -webkit-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    .primary-menu-list-item.open .dropdown-btn{
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);

    }
    .primary-menu-list-item.open .dropdown-btn path{
        stroke: var(--color);
    }
    /*Mega Menu*/
    .mega-menu{
        position: static;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        display: none;
        -webkit-transition: none;
        -o-transition: none;
        transition: none;
        border: 0;
    }
    .mega-menu-content{
        display: none;
    }
    .mega-menu .container,
    .mega-menu-link-list .mega-menu-list-wrapper > div,
    .mega-menu-link-list,
    .mega-menu-wrapper,
    .mega-menu-link-list .mega-menu-list-wrapper{
        display: block;
        max-width: 100%;
        padding: 0;
		width: 100%;
    }

    .mega-menu-link-list .mega-menu-list-wrapper > div{
        padding: 25px 30px 15px;
    }
    .link-list-item ul li + li{
        margin-top: 10px;
    }
    .link-list-item ul a{
        font-size: 15px;
    }

    .contact-btn{
        padding: 0 30px;
        margin-top: 20px;
    }
    .contact-btn a{
        width: 100%;
        text-align: center;
    }
    .link-img-item .img-content{
        font-size: 15px;
        padding-left: 20px;
        padding-right: 20px;
    }
	
}

@media screen and (max-width: 640px){
	footer{
		padding-bottom: 60px;
	}
	.top-header .row {
		-webkit-box-pack: center !important;
		    -ms-flex-pack: center !important;
		        justify-content: center !important;
	}
	.top-header .row > div:first-child{
		display: none;
	}
	.mobile-only-header-contact{
		display: block;
		position: fixed;
		bottom: 0;
		width: 100%;
		z-index: 1000;
	}
	.header-contact-wrapper{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.header-contact-wrapper a{
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 50%;
		        flex: 0 0 50%;
		max-width: 50%;
		width: 100%;
		padding: 18px 23px;
		color: #ffffff;
		text-decoration: none;
		text-transform: uppercase;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-column-gap: 8px;
		   -moz-column-gap: 8px;
		        column-gap: 8px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
		font-weight: 600;
	}
	.header-contact-wrapper a.call-us{
		background-color: var(--dark-primary-color);
	}
	.header-contact-wrapper a.email-us{
		background-color: var(--primary-color);
	}
	.header-contact-wrapper a svg{
		width: auto;
		height: 16px;
	}
}