/* BANNER */
.homepage-banner-small-title { font-size: 14px; line-height: 24px; letter-spacing: 10px; font-weight: 500; }
.homepage-banner-big-title { font-size: 64px; line-height: 68px; letter-spacing: 2px; font-weight: 700; }
@media all and (max-width: 767px) {
	.homepage-banner-big-title { font-size: 32px; line-height: 36px; }
}
.homepage-banner-video { object-fit: cover; width: 100vw; height: 100vh; position: absolute; top: 0; left: 0; }

/* PAGE ANCHORS */
.page-anchor {
    display: block;
    position: relative;
    top: -78px;
    visibility: hidden;
}

/* DESKTOP ELEVATORS */
.desktop-elevators-container {}
.desktop-elevators-container .elevator-block {
	position: fixed;
    right: -152px;
    z-index: 1002;
    
	display: block;
    width: 200px;
    padding: 10px;
    color: #FFF;
    background-color: #18191b;
    
    webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    
    -webkit-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.3);
    box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.3);
}
.desktop-elevators-container .elevator-block:nth-child(1) { top: 120px;  }
.desktop-elevators-container .elevator-block:nth-child(2) { top: 178px;  }
.desktop-elevators-container .elevator-block:nth-child(3) { top: 236px;  }
.desktop-elevators-container .elevator-block:nth-child(4) { top: 294px;  }
.desktop-elevators-container .elevator-block:nth-child(5) { top: 352px;  }
.desktop-elevators-container .elevator-block:nth-child(6) { top: 410px;  }
.desktop-elevators-container .elevator-block:hover {
	color: #FFF;
	text-decoration: none;
	right: 0px;
}
.desktop-elevators-container .elevator-block i {
	font-size: 24px;
	margin-right: 12px;
	vertical-align: middle;
}
.desktop-elevators-container .elevator-block span {
	vertical-align: middle;
	font-weight: 400;
}

/* MOBILE ELEVATORS */
.mobile-elevators-bar {
	position: fixed;
	bottom: 0px; left: 0px; right: 0px;
	display: table;
	width: 100%;
	table-layout: fixed;
	z-index: 1002;
	background-color: #18191b;
	border-top: 2px solid #111;
}
.mobile-elevators-bar .elevator-block {
	display: table-cell;
	text-align: center;
	color: #FFF;
	padding-top: 8px;
	padding-bottom: 2px;
}
.mobile-elevators-bar .elevator-block:hover {
	text-decoration: none;
}
.mobile-elevators-bar .elevator-block i {
	display: block;
	font-size: 24px;
	margin-bottom: 6px;
	text-align: center;
}
.mobile-elevators-bar .elevator-block span {
	display: block;
	font-size: 12px;
}

/* ELEVATOR VISIBILITY */
@media all and (max-width: 767px) {
	.desktop-elevators-container { display: none; }
	.mobile-elevators-bar { display: table; }
}
@media all and (min-width: 768px) {
	.desktop-elevators-container { display: block; }
	.mobile-elevators-bar { display: none; }
}

/* FIXED BACKGROUNDS */
.bg-fixed, .bg-cover, 
section.bg-fixed, section.bg-cover, 
#subheader.bg-fixed, #subheader.bg-cover { background-position: 50% 50% !important; background-size: cover !important; -webkit-background-size: cover !important; -moz-background-size: cover !important; -o-background-size: cover !important; }
html.touchless-display .bg-fixed, 
html.touchless-display section.bg-fixed,
html.touchless-display #subheader.bg-fixed { background-attachment: fixed !important; }
.bg-size-cover { background-size: cover !important; }

/* LINE CLAMP */
.two-lines,
.three-lines, 
.four-lines,
.five-lines {
	display: -webkit-box;
	-webkit-box-orient: vertical;  
	overflow: hidden;
	visibility: visible;
}
.two-lines { -webkit-line-clamp: 2; }
.three-lines { -webkit-line-clamp: 3; }
.four-lines { -webkit-line-clamp: 4; }
.five-lines { -webkit-line-clamp: 5; }

/* LINE CLAMP - MOD*/
.two-lines-ellipsis, 
.three-lines-ellipsis {
    position: relative;
    margin: 0px;
    padding: 0px;
    overflow: hidden;
    text-align: justify;
}
.two-lines-ellipsis:after, 
.three-lines-ellipsis:after {
    content: "...";
    width: 16px;
    text-align: center;
    position: absolute;
    bottom: 0;
    right: 0;
}
section.bg-white .two-lines-ellipsis:after, 
section.bg-white .three-lines-ellipsis:after {
	background-color: #FFFFFF;
}
section.bg-grey .two-lines-ellipsis:after, 
section.bg-grey .three-lines-ellipsis:after {
	background-color: #EEEEEE;
}
.two-lines-ellipsis { height: 41px; }
.three-lines-ellipsis { height: 70px; }

/* H1 */
.scaling-homepage-h1 { font-size: 28px; }
@media (min-width: 768px) and (max-width: 1199px) {
	.scaling-homepage-h1 { font-size: 24px; }
}
@media (max-width: 767px) {
	.scaling-homepage-h1 { font-size: 18px; }
}

/* SIDE TABS */
.side-tab {
	background-color: #18191b;
	color: #FFFFFF !important;
	z-index: 1002;
	cursor: pointer;
    position: fixed;
    border-radius: 0px 4px 4px 0px;
    box-shadow: 0 1px 3px 0px rgba(0,0,0,0.4), -2px 2px 11px 0px rgba(0,0,0,0.25);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.side-tab:hover, .side-tab:active, .side-tab:focus {
	color: #FFFFFF !important;
	text-decoration: none;
	outline: none;
}

.call-us-tab {
	width: 295px;
	top: 120px;
	left: -239px;
	webkit-transition: all .6s ease-in-out;
    -moz-transition: all .6s ease-in-out;
    -ms-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out;
}
.call-us-tab:hover {
	left: 0px;
}
.call-us-tab-side-text {
	writing-mode: vertical-rl;
    text-orientation: sideways-right;
    text-transform: uppercase;
    font-size: 18px;
    padding: 20px 16px 20px 16px;
    line-height: 24px;
    text-align: center;
}

.additional-side-tab {
    left: 0px;
    top: 242px;
	cursor: pointer;
	display: inline-block;
    vertical-align: middle;
    writing-mode: vertical-lr;
    text-orientation: sideways-right;
    text-transform: uppercase;
    font-size: 18px;
    padding: 20px 16px 20px 16px;
    line-height: 24px;
    text-align: center;
}

/* FEEDBACK BUBBLES */
.css-feedback-bubble {
	position: absolute;
	z-index:1002; 
	color:#FFF;
	padding: 8px;
	font-size: 14px;
	font-weight: bold;
	border-radius: 6px;
	background-color: var(--primary-color-1);
	-moz-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.25);
    -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.25);
}
.gfx-fade-up {
	-webkit-animation: fadeup 1800ms ease-out;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-timing-function: ease-out;
}
@-webkit-keyframes fadeup {
	0% {   
		-ms-transform: scale(0.1, 0.1);
    	-webkit-transform: scale(0.1, 0.1);
    	transform: scale(0.1, 0.1);
    }
    10% {
    	-ms-transform: scale(1, 1);
    	-webkit-transform: scale(1, 1);
    	transform: scale(1, 1);
    }
    30% {
    	opacity: 1.0;
    }
    100% { 
    	opacity: 0; 
    	margin-top: -16px; 
    }
}

/* RESERVATION SYSTEM */
.floating-cart-link {
	position: fixed;
	bottom: 12px;
	right: 12px;
	z-index: 30;
}
.floating-cart-link span {
	cursor: pointer;
    border-radius: 50%;
    padding: 11px 13px 11px 11px;
    display: inline-block;
    box-shadow: 2px 2px 6px rgba(0,0,0, 0.35);
}
.floating-cart-link span:hover { box-shadow: 2px 2px 6px rgba(0,0,0, 0.35); }
.floating-cart-link span i { font-size: 32px; color: #FFFFFF; }
.floating-cart-link num {
	position: absolute;
	left: 0px;
	bottom: 0px;
	background-color: #18191b;
	z-index: 31;
    width: 22px;
    height: 22px;
    line-height: 22px;
    color: #FFF;
    text-align: center;
    vertical-align: middle;
    border-radius: 50%;
    font-weight: bold;
    box-shadow: 2px 2px 4px rgba(0,0,0, 0.2);
}
@media (max-width: 767px) {
	.floating-cart-link { bottom: 78px; }
}

/* FONTAWESOME 5 OVERRIDES */
#mainmenu li a:after,
#menu-btn,
.pop-search-click:before,
.arrow-up:before,
.arrow-down:before,
.btn-text:after,
.btn-big:after,
.btn-line:after, 
.btn-line:after,
.btn-slider:after,
.de_form input[type="radio"] + label:before,
.de_form input[type="checkbox"] + label:before,
.ul-style-2 li:before,
.btn-right:after,
.btn-left:before,
.expand h4:after,
.de_testi blockquote:before,
blockquote.testimonial-big:before,
.nav-prev:before,.nav-next:before, .nav-exit:before,
.owl-arrow .prev:before, .owl-arrow .next:before,
.owl-custom-nav .btn-next:before,
.owl-custom-nav .btn-prev:before,
.owl-theme .owl-controls .owl-buttons .owl-prev:before,
.owl-theme .owl-controls .owl-buttons .owl-next:after,
#back-to-top:before,
.custom-show:after,
.custom-close:after,
#btn-search:before {
	font-family: "Font Awesome 6 Pro";
}

/* MENU OVERRIDES */
@media (max-width: 1199px) and (min-width: 980px) {
	header #mainmenu a { padding-left: 4px; padding-right: 4px; }
	#mainmenu li a:after { margin-left: 8px; }
}
#mainmenu li li a:hover { color: #FFFFFF; }
div#logo img { height: 68px; }
header.smaller:not(.header-bottom):not(.side-header) div#logo img { height: 56px; }
@media (max-width: 500px) {
	div#logo img { max-width: 200px; }	
}

/* BLOG OVERRIDES */
.blog-list .date-box .day,
.blog-read .date-box .day { padding-top: 10px; }
.blog-list .date-box .month,
.blog-read .date-box .month { color: #111111; letter-spacing: 6px; text-align: center; font-weight: bold; }
.blog-list h3,
.blog-read h3 { font-size: 17px !important; }
.blog-list img { border-bottom: 4px solid var(--primary-color-1); }
.pagination { display: block; }
.pagination li { display: inline-block; }

/* BREADCRUMBS OVERRIDES */
#subheader.style-2 .title-wrap, #subheader .crumb { float: none; }
#subheader .crumb li.sep:after { content: "\A"; white-space: pre; }
@media only screen and (max-width: 992px) {
	#subheader.style-2 .title-wrap { float: none; margin-top: 0px; }
	#subheader.style-2 h1 { font-size: 32px; }
	#subheader .crumb { display: block; float: none; margin-top: 16px; padding-left: 0px; line-height: 32px; }
}
.crumb li { padding: 0px; }
.crumb li.sep { padding: 0px 8px; }
.crumb a { color: #CCC; }

/* GREY SECTIONS */
.bg-grey { background-color: #EEEEEE !important; }
section.bg-grey + section.bg-grey { padding-top: 0px; }

/* COLOR SECTIONS */
section.text-light p { color: #FFFFFF; }
section.bg-color .separator i { color: #FFFFFF; }
section.bg-color .separator span:before, 
section.bg-color .separator span:after { border-color: #FFFFFF; }

/* OUTLINE BUTTONS */
.btn-outline {
	border: 1px solid var(--primary-color-1);
	color: #222222;
	background-color: transparent;
	cursor: pointer;
    padding: 10px 20px;
    font-weight: bold;
    border-radius: 0;
    font-size: 13px;
    letter-spacing: 3px;
    line-height: normal;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
}
.btn-outline:hover {
	color: #FFFFFF;
	background-color: var(--primary-color-1);
}

/* READ MORE MASKS V1 (GRADIENT MASK) */
.js-css-read-more-mask, 
.js-css-read-less-mask { overflow-y: hidden; cursor: pointer; position: relative; margin-bottom: 20px; }
.js-css-read-more-mask:after, 
.js-css-read-less-mask:after {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    text-align: center;
    color: var(--primary-color-1);
    font-size: 13px;
}
section.bg-dark .js-css-read-more-mask:after, 
section.bg-dark .js-css-read-less-mask:after,
section.bg-very-dark .js-css-read-more-mask:after, 
section.bg-very-dark .js-css-read-less-mask:after,
section.bg-color .js-css-read-more-mask:after, 
section.bg-color .js-css-read-less-mask:after { color: #FFFFFF; }

.js-css-read-less-mask { padding-bottom: 1rem; }
.js-css-read-more-mask:after { content: "Read more..."; }
.js-css-read-less-mask:after { content: "Read less..."; }

.js-css-read-more-mask:before {
	position: absolute;
    left: 0; right: 0; top: 0; bottom: 0;
    content: "";
}
section.bg-white .js-css-read-more-mask:before {
    background: -moz-linear-gradient(top, rgb(255,255,255,0) 0%, rgb(255,255,255,0) 51%, rgb(255,255,255,1) 95%, rgb(255,255,255,1) 100%);
    background: -webkit-linear-gradient(top, rgb(255,255,255, 0) 0%, rgba(255,255,255,0) 51%, rgba(255,255,255,1) 95%, rgba(255,255,255,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 51%,rgba(255,255,255,1) 95%,rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF5a', endColorstr='#FFFFFF',GradientType=0 );
}
section.bg-grey .js-css-read-more-mask:before {
    background: -moz-linear-gradient(top, rgb(238,238,238,0) 0%, rgb(238,238,238,0) 51%, rgb(238,238,238,1) 95%, rgb(238,238,238,1) 100%);
    background: -webkit-linear-gradient(top, rgb(238,238,238, 0) 0%,rgba(238,238,238,0) 51%,rgba(238,238,238,1) 95%, rgb(238,238,238,1) 100%);
    background: linear-gradient(to bottom, rgba(238,238,238,0) 0%,rgba(238,238,238,0) 51%,rgba(238,238,238,1) 95%, rgb(238,238,238,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EEEEEE5a', endColorstr='#EEEEEE',GradientType=0 );
}
section.bg-dark .js-css-read-more-mask:before {
    background: -moz-linear-gradient(top, rgb(52,58,64,0) 0%, rgb(52,58,64,1) 90%, rgb(52,58,64,1) 100%);
    background: -webkit-linear-gradient(top, rgb(52,58,64, 0) 0%,rgba(52,58,64,1) 90%,rgb(52,58,64,1) 100%);
    background: linear-gradient(to bottom, rgba(52,58,64,0) 0%,rgba(52,58,64,1) 90%, rgb(52,58,64,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#343a405a', endColorstr='#343a40',GradientType=0 );
}
section.bg-very-dark .js-css-read-more-mask:before {
    background: -moz-linear-gradient(top, rgb(30,31,34,0) 0%, rgb(30,31,34,1) 90%, rgb(30,31,34,1) 100%);
    background: -webkit-linear-gradient(top, rgb(30,31,34, 0) 0%,rgba(30,31,34,1) 90%,rgb(30,31,34,1) 100%);
    background: linear-gradient(to bottom, rgba(30,31,34,0) 0%,rgba(30,31,34,1) 90%, rgb(30,31,34,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e1f225a', endColorstr='#1e1f22',GradientType=0 );
}
section.bg-color .js-css-read-more-mask:before {
    background: -moz-linear-gradient(top, var(--primary-color-1-alpha-0) 0%, var(--primary-color-1) 90%, var(--primary-color-1) 100%);
    background: -webkit-linear-gradient(top, var(--primary-color-1-alpha-0) 0%,var(--primary-color-1) 90%,var(--primary-color-1) 100%);
    background: linear-gradient(to bottom, var(--primary-color-1-alpha-0) 0%,var(--primary-color-1) 90%, var(--primary-color-1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=var(--primary-color-1), endColorstr=var(--primary-color-1),GradientType=0 );
}

/* READ MORE MASK V2 (CUT-OFF) */
.read-toggle-v2-container {}
.read-toggle-v2-content { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; visibility: visible; }
.read-toggle-v2-button-more, 
.read-toggle-v2-button-less { cursor: pointer; font-size: 13px; color: var(--primary-color-1); margin-top: 8px; text-align: center; }
.text-light .read-toggle-v2-button-more,
.text-light .read-toggle-v2-button-less { color: #CCCCCC; }
.read-toggle-v2-button-more:after { content: "Read more..."; }
.read-toggle-v2-button-less:after { content: "Read less..."; }

/* MENU */
header.smaller:not(.header-bottom):not(.side-header) #mainmenu a { padding-top: 25px; padding-bottom: 25px; }
header.smaller:not(.header-bottom):not(.side-header) { height: 80px; }
header.smaller:not(.header-bottom):not(.side-header) div#logo { height: 80px; }
header.smaller:not(.header-bottom):not(.side-header) div#logo img { height: 68px; }

/* FOOTER POWERED BY LOGO */
img.powered-by-logo { max-height: 25px; }

/* RECAPTCHA */
.grecaptcha-badge { display: none !important; }

/* TEMPLATE OVERRIDES */
section { padding: 40px 0px 40px 0px; }
.info-box i { margin-top: 0px; }
.info-box .info-box_title { margin-top: 12px; }
.btn-slider:hover { border-width: 1px; }
address span strong { width: 90px; }
.de_light footer a { color: #CCC; }
.de_light footer a:hover { color: #FFF; }
.subfooter { padding-bottom: 4px; background-color: transparent; }
@media only screen and (max-width: 767px) {
	.subfooter { padding-bottom: 84px; }
}
@media (max-width: 575px) {
	.text-xs-center { text-align: center!important; }
}
@media only screen and (max-width: 992px) {
	.de_tab.tab_steps .de_nav li .v-border { display: none !important; }
}
.text-light h1 p, .text-light h2 p, .text-light h3 p, .text-light h4 p, .text-light h5 p { color: #FFFFFF; }
.separator { overflow: hidden; }
.de_tab.tab_steps .de_nav li span { color: #FFFFFF; }
.de_tab.tab_steps .de_nav li span:hover { color: #FFFFFF; }
.de_tab.tab_steps .de_nav li span { line-height: unset !important; padding: 0px 10px; display: table; -o-transition: none !important; -ms-transition: none !important; -moz-transition: none !important; -webkit-transition: none !important; transition: none !important; }
.de_tab.tab_steps .de_nav li span, 
.de_tab.tab_steps .de_nav li:not(.active) span:hover { border: 5px solid transparent; }
.de_tab.tab_steps .de_nav li span div { display: table-cell; vertical-align: middle; }
.no-hover-decoration:active, .no-hover-decoration:hover { text-decoration: none; }
a:hover { text-decoration: none; }
section:not(.text-light) .btn-slider { border-color: #343434; color: #343434; }
section:not(.text-light) .btn-slider:hover { border-color: var(--primary-color-1); background-color: var(--primary-color-1); color: #FFFFFF; }
section:not(.text-light) .btn-slider:hover:after { color: #FFFFFF; }
.btn-custom, .btn-custom:hover { color: #FFFFFF !important; }
section.bg-white + section.bg-white { padding-top: 0px; }
section.bg-very-dark, .bg-very-dark { background-color: #1e1f22 !important; }
section.text-light .btn-slider, 
section.text-white .btn-slider { color: #FFF; }
section.text-light .btn-slider:hover, 
section.text-white .btn-slider:hover,
section.text-light .btn-slider:active, 
section.text-white .btn-slider:active { color: #555; }
.collapsible-link { padding-right: 40px; }
footer address span strong { color: #FFFFFF; }