@charset "utf-8";

/*-----------------------------------------------------------------
COLUMNATION
-----------------------------------------------------------------*/
.container12 {
    margin:0 auto;
    padding:0px;
    width:100%;
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	flex-wrap: wrap;
	font-size:16px;
	line-height:24px;
}
.column1, .column2, .column3, .column4, .column5, .column6, .column7, .column8, .column9, .column10, .column11, .column12 {
	width:100%;
    display:inline-block;
	position:relative;
	padding:0px 35px 0px 35px;
}

@media only screen and (min-width:768px) {
    .container12 {
		width:100%;
		max-width:1480px;
		padding-right:50px;
		padding-left:50px;
		flex-direction:row;
	}
    .container12 .column1 {width:8.333%;}
    .container12 .column2 {width:16.666%;}
    .container12 .column3 {width:25%;}
    .container12 .column4 {width:33.333%;}
    .container12 .column5 {width:41.666%;}
    .container12 .column6 {width:50%;}
    .container12 .column7 {width:58.333%;}
    .container12 .column8 {width:66.666%;}
    .container12 .column9 {width:75%;}
    .container12 .column10 {width:83.333%;}
    .container12 .column11 {width:91.666%;}
    .container12 .column12 {width:100%;}
	
	.column1, .column2, .column3, .column4, .column5, .column6, .column7, .column8, .column9, .column10, .column11, .column12 {
		padding-left:0px;
		padding-right:0px;
		padding-top:0px;
		padding-bottom:0px;
	}
}




/*-----------------------------------------------------------------
GENERAL AND DEFAULTS
-----------------------------------------------------------------*/
html, body, .post, .page{
	background:#FFF;
	line-height:0px;
	color:#0a0a0a;
    margin:0px;
}
*{
    -moz-box-sizing:border-box !important;
    -webkit-box-sizing:border-box !important;
    box-sizing:border-box !important;
}
*:focus{
	outline:none !important;
}
*:focus-visible,
.DARK ul.sub-menu *:focus-visible{
	outline:2px solid #1C1E22 !important;
}
.DARK *:focus-visible{
	outline:2px solid #FFF !important;
}

p{
	font-family:inherit;
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	margin:0px;
}
p + p, p + ul, ul + p, ol + p, p + ol, p + ul, li ul{
	padding:20px 0px 0px 0px;
}
p + h2, p + h3, p + h4,
ul + h2, ul + h3, ul + h4,
ol + h2, ol + h3, ol + h4{
	padding-top:40px;
}
	
a.skip {
	display:inline-block;
	padding:10px;
	background:#1C1E22;
	color:#FFF !important;
	z-index:9999;
	position: absolute;
	top: -1000px;
	left: -1000px;
	text-align: left;
	overflow: hidden;
}
a.skip:active,  
a.skip:focus, 
a.skip:hover {
	font-size:15px;
	line-height:normal;
	color:#4298B5;
	left: 0; 
	top: 0;
	width: auto; 
	height: auto; 
	overflow: visible; 
}

strong{
	font-weight:600;
}

a:link,
a:visited{
	font-weight:500;
	color:#0196d9;
	text-decoration:none;
}
a:hover,
a:active,
a:focus{
	font-weight:500;
	color:#1796CD;
	text-decoration:none;
}

ul{
	margin:0px;
	padding:0px;
}
ol{
	margin:0px;
	padding:0px;
}
ul li, ol li{
	margin-left:20px;
	padding-top:4px;
	padding-bottom:0px;
}
ul li:last-child,
ol li:last-child{
	padding-bottom:0px;
}

hr, hr.wp-block-separator{
	width:100%;
	margin:0px;
	padding:0px;
	border:0px;
	background:#d7d7d8;
	height:1px;
}

.center{
	text-align:center;
}
.left{
	text-align:left;
}
.right{
	text-align:right;
}

img, object, embed {
	max-width:100%;
}
img {
	height:auto;
}
figure{
	margin:0px !important;
}

.GRAY{
	position:relative;
	background:#f8f8f8;
}
.DARK{
	background:#1C1E22;
	color:#FFF;
}
.DARK a{
	text-decoration:none;
	color:#FFF;
}
.DARK a:hover,
.DARK a:focus{
	text-decoration:underline;
	color:#FFF;
}
.ORANGE{
	background:#0196d9 !important;
}


h1, h2.large{
	font-family: 'DM Serif Display', serif;
	font-weight:400;
	margin:0px;
	padding:0px;
	font-size:44px;
	line-height:48px;
	position:relative;
	display:inline-block;
	width:auto;
}
.h1_note{
	font-family: 'DM Serif Display', serif;
	display:block;
	color:#0196d9;
	font-size:24px;
	line-height:28px;
	padding-top:10px;
}
h2, h1.product_title{
	font-family: 'DM Serif Display', serif;
	font-weight:400;
	margin:0px 0px 20px 0px;
	padding:0px;
	font-size:34px;
	line-height:38px;
}
h3{
	font-family: 'DM Serif Display', serif;
	font-weight:400;
	margin:0px 0px 15px 0px;
	padding:0px;
	font-size:30px;
	line-height:40px;
}
h4, .quote_text{
	font-family: 'DM Serif Display', serif;
	font-weight:400;
	margin:0px 0px 15px 0px;
	padding:0px;
	font-size:24px;
	line-height:34px;
}

.bold_text{
	text-transform:uppercase;
	font-weight:600;
	letter-spacing:1.5px;
}

@media only screen and (min-width:768px) {
	h1, h2.large{
		font-size:50px;
		line-height:54px;
	}
}

@media only screen and (min-width:1024px) {
    .container12 {
		font-size:18px;
		line-height:30px;
	}
	h1, h2.large{
		font-size:60px;
		line-height:64px;
	}
	.h1_note{
		font-size:32px;
		line-height:40px;
	}
	h2, h1.product_title{
		font-size:44px;
		line-height:48px;
	}
	h3{
		font-size:34px;
		line-height:44px;
	}
	h4, .quote_text{
		font-size:26px;
		line-height:36px;
	}
}

@media only screen and (min-width:1920px) {
	h1, h2.large{
		font-size:66px;
		line-height:70px;
	}
	.h1_note{
		font-size:32px;
		line-height:40px;
	}
	h2, h1.product_title{
		font-size:48px;
		line-height:52px;
	}
	h3{
		font-size:32px;
		line-height:42px;
	}
	h4, .quote_text{
		font-size:28px;
		line-height:38px;
	}
}



/*-----------------------------------------------------------------
GUTENBERG OVERRIDES
-----------------------------------------------------------------*/
.wp-block-spacer{
	height:60px !important;
}
.wp-block-spacer.half{
	height:30px !important;
}

p + .wp-block-button,
p + .wp-block-buttons{
	margin:15px 0px 0px 0px !important;
}
.wp-block-button{
	display:block !important;
	margin:30px 0px 0px 0px !important;
	padding:0px !important;
}
.wp-block-buttons + .wp-block-buttons .wp-block-button{
	margin-top:30px !important;
}
.wp-block-button a.wp-block-button__link,
#TOP ul#primary-menu li.nav_button a,
.ctct-form-embed.form_0 .ctct-form-custom .ctct-form-button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.disabled,
.wc-block-components-button:not(.is-link),
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order{
	width:auto;
	font-size:16px;
	border:0px !important;
	border-radius:30px;
	text-transform:uppercase;
	text-decoration:none;
	font-weight:600;
	margin-top:0px;
	letter-spacing:1.5px;
	font-family: 'Maven Pro', sans-serif;
	background: #0196d9;
	background: linear-gradient(124deg, rgba(16, 159, 220, 1) 0%, rgba(16, 159, 220, 1) 100%);
	color:#FFF;
	padding:14px 28px 14px 28px;
	line-height:normal;
	height:auto;
	color:#FFF;
	transition: all .2s ease-in-out; -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out;
}
.wp-block-button a.wp-block-button__link:hover,
.wp-block-button a.wp-block-button__link:focus,
#TOP ul#primary-menu li.nav_button a:hover,
#TOP ul#primary-menu li.nav_button a:focus,
.ctct-form-embed.form_0 .ctct-form-custom .ctct-form-button:hover,
.ctct-form-embed.form_0 .ctct-form-custom .ctct-form-button:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.disabled:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.disabled:focus{
	text-decoration:none;
	border:0px !important;
	text-transform:uppercase;
	color:#FFF;
	background: rgb(16, 159, 220);
	background: linear-gradient(124deg, rgba(16, 159, 220, 1) 0%, rgba(23, 150, 205, 1) 100%);
	transition: all .2s ease-in-out; -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out;
}

.DARK .wp-block-button a.wp-block-button__link,
.DARK .ctct-form-embed.form_0 .ctct-form-custom .ctct-form-button{
	border:2px solid #FFF !important;
	background:none;
	color:#FFF;
}
.DARK .wp-block-button a.wp-block-button__link:hover,
.DARK .wp-block-button a.wp-block-button__link:focus,
.DARK .ctct-form-embed.form_0 .ctct-form-custom .ctct-form-button:hover,
.DARK .ctct-form-embed.form_0 .ctct-form-custom .ctct-form-button:focus{
	border:2px solid #FFF;
	background: rgb(16, 159, 220);
	background: linear-gradient(124deg, rgba(16, 159, 220, 1) 0%, rgba(23, 150, 205, 1) 100%);
}

figure.wp-block-image{
	max-width:100% !important;
	margin:0px auto 0px auto !important;
	text-align:center;
}
figure.wp-block-image img{
	width:auto;
	height:auto;
	max-width:100% !important;
}
.wp-block-image figcaption{
	font-weight:800;
}

.is-content-justification-center{
	text-align:center;
}

.wp-block-button + .wp-block-button{
	margin-left:10px !important;
}
@media only screen and (max-width:600px) {
	.wp-block-button + .wp-block-button{
		margin-top:20px !important;
		margin-left:0px !important;
	}
}


.wp-block-columns{
	margin:0px !important;
}

@media only screen and (min-width:1024px) {
	.wp-block-spacer{
		height:120px !important;
	}
	.wp-block-spacer.half{
		height:60px !important;
	}
}

@media only screen and (max-width:781px) {
	:where(.wp-block-columns.is-layout-flex.columns_mobile_nospacing) {
		/* columns_mobile_nospacing - my custom style to remove padding if column is a set of lists that should not have a gap */
		gap:15px;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100% !important;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100% !important;
	}

	.wp-block-columns.stack_mobile_center{
		text-align:center !important;
	}
	.wp-block-columns.stack_mobile_center figure.alignright{
		float:none;
		text-align:center;
		display:inline-block;
	}

	.mobile_center{
		text-align:center;
	}
}

@media only screen and (min-width:782px) {
	:where(.wp-block-columns.is-layout-flex){
		gap:30px !important;
	}
	.is-layout-flex.center_content{
		/* center_content - my custom style to allow columns to be vertically centered */
		align-items:center !important;
	}

	.wp-block-column.border p{
		border-left:1px solid #000;
		padding-left:20px;
	}
}

@media only screen and (min-width:782px) and (max-width:1023px) {
	.is-layout-flex.tablet_fullwidth{
		display:block;
	}
	.is-layout-flex.tablet_fullwidth .wp-block-column{
		margin-bottom:40px !important;
	}
	.is-layout-flex.tablet_fullwidth .wp-block-column:last-child{
		margin-bottom:0px !important;
	}
}

@media only screen and (min-width:1024px) {
	:where(.wp-block-columns.is-layout-flex){
		gap:40px !important;
	}

	.wp-block-button{
		margin-top:12px !important;
	}
}

@media only screen and (min-width:1280px) {
	:where(.wp-block-columns.is-layout-flex){
		gap:60px !important;
	}
}




/*-----------------------------------------------------------------
FULLSCREEN SLIDER
-----------------------------------------------------------------*/
.block_full_carousel{
	display:inline-block;
    z-index:1;
	width:100%;
    height:85vh;
    background:#1C1E22;
    overflow:hidden;
	position:relative;
	text-align:center;
}
.block_full_carousel::after{
	position:absolute;
	z-index:4;
	content:"";
	display:inline-block;
	left:0px;
	bottom:0px;
	width:100%;
	height:50px;
	background:url(/wp-content/uploads/2024/06/wave.svg) top left no-repeat;
	background-size:auto 100%;
}
.block_full_carousel .slider{
    position:relative;
	display:flex;
	flex-direction:column;
	width:100%;
	height:100%;
}
.block_full_carousel .slides_container{
	order:1;
	display:inline-block;
	width:100%;
	height:100%;
	position:relative;
}
.block_full_carousel .slide{
	display:inline-block;
	width:100%;
	height:100%;
	left:0px;
	top:0px;
	position:absolute;
	opacity:0;
	z-index:0;
	visibility:hidden;
    transition: all .5s ease-in-out; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out;
}
.block_full_carousel .slide.active{
	opacity:1;
	z-index:1;
	visibility:visible;
    transition: all .5s ease-in-out; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out;
}
.block_full_carousel .image_container{
	position:relative;
	display:inline-block;
	width:100%;
	height:100%;
	margin:0px 0px 20px 0px;
	z-index:1;
}
.block_full_carousel .image_container::before {
	content: '';
	position: absolute;
	z-index:2;
	width:100%;
	height:100%;
	top: 0;
	left: 0;
	background: radial-gradient(circle, transparent 20%, black 110%);
	pointer-events: none; /* This ensures the vignette does not block interactions with the content */
}
.block_full_carousel .image_container::after {
	content: '';
	position: absolute;
	z-index:2;
	width:100%;
	height:80%;
	left: 0;
	bottom: 0;
    background: linear-gradient(to bottom, transparent, black);
	pointer-events: none; /* This ensures the vignette does not block interactions with the content */
}
.block_full_carousel .image_container .image{
	position:relative;
	display:inline-block;
	width:100%;
	height:100%;
}
.block_full_carousel .image_container .image img{
	position:absolute;
	left:0px;
	top:0px;
	object-fit:cover;
	width:100%;
	height:100%;
}
.block_full_carousel .content_container{
	display:inline-block;
	width:100%;
    position:absolute;
    left:0px;
    bottom:100px;
    z-index:4;
	text-align: center;
}
.block_full_carousel .content_container h2{
	width:100%;
	display:inline-block;
	text-align:center;
	color:#FFF;
}
.block_full_carousel .content_container .content{
    display:inline-block;
    max-width:100%;
	width:800px;
	margin:15px auto 0px auto;
	text-align:center;
    color:#FFF;
}

.block_full_carousel .slides_nav{
	order:2;
	z-index:5;
	position:absolute;
	display:inline-block;
	width:auto;
	bottom:40px;
	left:0px;
	width:100%;
	text-align:center;
}
.block_full_carousel .slides_nav a{
	display:inline-block;
	width:18px;
	height:18px;
	background:none;
	border:2px solid #0196d9;
	border-radius:50%;
	margin:4px;
}
.block_full_carousel .slides_nav a:hover,
.block_full_carousel .slides_nav a:focus,
.block_full_carousel .slides_nav a.active{
	background:#0196d9;
	border:2px solid #0196d9;
}
.block_full_carousel .arrows_container{
    display:inline-block;
    width:100%;
    height:auto;
    position:absolute;
    left:0px;
    bottom:70px;
}
.block_full_carousel a.previous, .block_full_carousel a.next{
    position:relative;
    width:auto;
    height:auto;
    display:inline-block;
    z-index:3;
    width:50px;
    height:50px;
    margin-right:5px;
}
.block_full_carousel a.previous{
    background:url(/wp-content/uploads/2023/11/psg_slider_left_arrow_white.svg) center center no-repeat;
    background-size:contain;
}
.block_full_carousel a.previous:hover,
.block_full_carousel a.previous:focus{
    background:url(/wp-content/uploads/2023/11/psg_slider_left_arrow_white_hover.svg) center center no-repeat;
    background-size:contain;
}
.block_full_carousel a.next{
    background:url(/wp-content/uploads/2023/11/psg_slider_right_arrow_white.svg) center center no-repeat;
    background-size:contain;
}
.block_full_carousel a.next:hover,
.block_full_carousel a.next:focus{
    background:url(/wp-content/uploads/2023/11/psg_slider_right_arrow_white_hover.svg) center center no-repeat;
    background-size:contain;
}

.block_full_carousel .image_overlay_container{
	display:none
}

@media only screen and (min-width:768px) {
	.block_full_carousel{
		height:90vh;
	}
	.block_full_carousel::after{
		height:80px;
	}

    .block_full_carousel .content_container{
        bottom:calc(80px + 10%);
    }

    .block_full_carousel .arrows_container{
        bottom:100px;
    }
	.block_full_carousel .slides_nav{
		bottom:60px;
		left:auto;
		right:0px;
		width:100%;
	}

	.block_full_carousel .image_overlay_container{
		position:absolute;
		left:0px;
		top:5%;
		display:inline-block;
		width:100%;
		height:35%;
		margin:0px;
		z-index:3;
	}
	.block_full_carousel .image_overlay_container img{
		width:100%;
		height:100%;
		object-fit:contain;
	}
}

@media only screen and (min-width:1280px) {
	.block_full_carousel::after{
		height:160px;
	}
	.block_full_carousel .image_overlay_container{
		top:10%;
	}
}

@media only screen and (min-width:1600px) {
	.block_full_carousel .image_overlay_container{
		height:40%;
	}
}

@media only screen and (min-width:1920px) {
	.block_full_carousel .image_overlay_container{
		top:10%;
	}
	.block_full_carousel .image_overlay_container{
		height:45%;
		max-height:400px;
	}
}




/*-----------------------------------------------------------------
DARK BACKGROUND
-----------------------------------------------------------------*/
.dark_background{
	position:relative;
	overflow:hidden;
	width:100%;
}
.dark_background.show_wave_above::before{
	position:absolute;
	z-index:4;
	content:"";
	display:inline-block;
	left:-1%;
	top:-1px;
	width:102%;
	height:50px;
	background:url(/wp-content/uploads/2024/06/wave.svg) top left no-repeat;
	background-size:auto 100%;
	transform:rotate(180deg);
}
.dark_background.show_wave_above{
	padding-top:30px;
}
.dark_background.show_wave_below::before{
	position:absolute;
	z-index:4;
	content:"";
	display:inline-block;
	left:-1%;
	bottom:-1px;
	width:102%;
	height:50px;
	background:url(/wp-content/uploads/2024/06/wave.svg) top left no-repeat;
	background-size:auto 100%;
}
.dark_background.show_wave_below{
	padding-bottom:30px;
}
.dark_background .background_image_container{
	position:absolute;
	z-index:1;
	left:0px;
	top:0px;
	display:inline-block;
	width:100%;
	height:100%;
	z-index:0;
	opacity:0.25;
}
.dark_background .background_image_container .image{
	position:relative;
	display:inline-block;
	width:100%;
	height:100%;
}
.dark_background .background_image_container .image img{
	position:absolute;
	left:0px;
	top:0px;
	object-fit:cover;
	width:100%;
	height:100%;
}
.dark_background .background_image_container::before{
    z-index:1;
    content:"";
    width:0px;
    height:100%;
    position:absolute;
    display:inline-block;
    left:-1px;
    top:0px;
}
.dark_background .background_image_container::after{
    z-index:1;
    content:"";
    width:0px;
    height:100%;
    position:absolute;
    display:inline-block;
    right:-1px;
    top:0px;
}

.dark_background .content{
	position:relative;
	z-index:2;
}
.dark_background .background_image_container.top_left{
	left:0px;
	right:auto;
	top:0px;
	bottom:auto;
}
.dark_background .background_image_container.top_right{
	left:auto;
	right:0px;
	top:0px;
	bottom:auto;
}
.dark_background .background_image_container.bottom_left{
	left:0px;
	right:auto;
	top:auto;
	bottom:0px;
}
.dark_background .background_image_container.bottom_right{
	left:auto;
	right:0px;
	top:auto;
	bottom:0px;
}
.dark_background .background_image_container.top_left .image img,
.dark_background .background_image_container.top_right .image img{
	object-position: top;
}
.dark_background .background_image_container.bottom_left .image img,
.dark_background .background_image_container.bottom_right .image img{
	object-position: bottom;
}

@media only screen and (min-width:768px) {
	.dark_background.show_wave_above{
		padding-top:40px;
	}
	.dark_background.show_wave_below{
		padding-bottom:40px;
	}
	.dark_background.show_wave_above::before,
	.dark_background.show_wave_below::before{
		height:80px;
	}

	.dark_background .background_image_container::before{
		width:80px;
	}
	.dark_background .background_image_container::after{
		width:80px;
	}
}

@media only screen and (min-width:1280px) {
	.dark_background.show_wave_above{
		padding-top:60px;
	}
	.dark_background.show_wave_below{
		padding-bottom:60px;
	}
	.dark_background.show_wave_above::before,
	.dark_background.show_wave_below::before{
		height:160px;
	}
}

.image.top img{
	object-position:top;
}
.image.center img{
	object-position:center;
}
.image.bottom img{
	object-position:bottom;
}




/*-----------------------------------------------------------------
NEWSLETTER
-----------------------------------------------------------------*/
.g-recaptcha{
    visibility: hidden !important;
}
.block_newsletter_subscribe{
	position:relative;
	overflow:hidden;
	background:#fff7f5;
	border-radius:20px;
	box-shadow: 0px 2px 2px #00000011;
	padding:40px 40px 40px 40px;
}
.block_newsletter_subscribe .newsletter_content{
	margin-bottom:30px;
	display:inline-block;
}
#gdpr_text{
	display:none !important;
}
div.ctct-form-embed div.ctct-form-defaults,
.ctct-form-embed.form_0 .ctct-form-defaults,
div.ctct-form-embed div.ctct-form-defaults p.ctct-form-text,
div.ctct-form-embed div.ctct-form-defaults h2.ctct-form-header{
	padding:0px;
	background-color:unset !important;
	font-family: 'Maven Pro', sans-serif !important;
	font-weight:600 !important;
	font-size:16px !important;
	color:#FFF !important;
}
div.ctct-form-embed form.ctct-form-custom input.ctct-form-element{
	border-radius:25px !important;
	border:2px solid #FFF !important;
	padding:14px 28px 14px 28px !important;
	box-shadow:none !important;
	background-color:unset !important;
	font-family: 'Maven Pro', sans-serif !important;
	font-weight:500 !important;
	font-size:16px !important;
	color:#FFF !important;
}
div.ctct-form-embed form.ctct-form-custom label.ctct-form-label{
	position:absolute;
	left:-99999px;
	opacity:0;
}
div.ctct-form-embed form.ctct-form-custom div.ctct-form-field{
	margin:0px 0px 10px 0px !important;
}
div.ctct-form-embed form.ctct-form-custom .ctct-form-required:before{
	display:none !important;
}
::placeholder {
  color: #FFF !important;
  opacity: 1; /* Firefox */
}
::-ms-input-placeholder { /* Edge 12 -18 */
  color: #FFF !important;
}

@media only screen and (min-width:768px) {
	.block_newsletter_subscribe .newsletter_wrapper{
		display:table;
		width:100%;
	}
	.block_newsletter_subscribe .newsletter_content{
		display:table-cell;
		width:50%;
		padding-right:30px;
	}
	.block_newsletter_subscribe .newsletter_form{
		display:table-cell;
		width:50%;
		padding-left:30px;
	}
}

@media only screen and (min-width:1024px) {
	.block_newsletter_subscribe{
		padding:60px 60px 60px 60px;
	}
	div.ctct-form-embed form.ctct-form-custom input.ctct-form-element{
		font-size:18px !important;
	}
}

@media only screen and (min-width:1280px) {
	.block_newsletter_subscribe{
		width:80%;
		margin-left:10%;
	}
}




/*-----------------------------------------------------------------
QUOTE
-----------------------------------------------------------------*/
.block_quote{
	position:relative;
	border:2px solid #0196d9;
	border-radius:20px;
	padding:60px 40px 40px 40px;
	text-align:center;
	margin-top:50px;
}
.block_quote::before{
	content:"";
	display:inline-block;
	width:100px;
	height:100px;
	position:absolute;
	left:50%;
	margin-left:-50px;
	top:-50px;
	background:#FFF;
}
.block_quote::after{
	content:"";
	display:inline-block;
	width:100px;
	height:100px;
	position:absolute;
	left:50%;
	margin-left:-50px;
	top:-50px;
	background:url(/wp-content/uploads/2024/06/quote-icon.svg) center center no-repeat;
	background-size:60%;
}
.DARK .block_quote{
	color:#FFF;
	border:2px solid #FFF;
}
.DARK .block_quote::before{
	background:#1c1e22;
}
.DARK .block_quote::after{
	background:url(/wp-content/uploads/2024/06/quote-icon.svg) center center no-repeat;
	background-size:60%;
	filter:brightness(0) invert(1);
}
.block_quote .quote_name{
	color:#0196d9;
}

@media only screen and (min-width:1024px) {
	.block_quote{
		padding:60px 60px 60px 60px;
	}
}

@media only screen and (min-width:1280px) {
	.block_quote{
		width:80%;
		margin-left:10%;
	}
}




/*-----------------------------------------------------------------
CARDS + EVENTS WIDGET
-----------------------------------------------------------------*/
.cards{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	column-gap:20px;
	margin-left:auto;
	margin-right:auto;
}
.cards .card{
	position:relative;
	display:inline-block;
	width:100%;
	font-weight:400;
	overflow:hidden;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_over_image{
	row-gap:20px;
	line-height:0px;
}
.cards.text_over_image .card{
	border-radius:4px;
	box-shadow: 0px 3px 5px #00000033;
}
.cards.text_over_image a.card:hover,
.cards.text_over_image a.card:focus{
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_over_image .card::after{
	opacity:0;
	z-index:1;
	content:"";
	position:absolute;
	display:inline-block;
	left:30px;
	bottom:20px;
	width:20px;
	height:20px;
	background:url(/wp-content/uploads/2024/06/button_arrow.svg) center center no-repeat;
	background-size:contain;
	filter: brightness(0) invert(1);
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_over_image a.card:hover::after,
.cards.text_over_image a.card:focus::after{
	opacity:1;
	left:40px;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_over_image .card .image_container{
	position:relative;
	display:inline-block;
	width:100%;
	height:auto;
	margin:0px;
	z-index:1;
	line-height:0px;
	padding-bottom:80%;
}
.cards.text_over_image .card .image_container img{
	position:absolute;
	left:0px;
	top:0px;
	object-fit:cover;
	width:100%;
	height:100%;
}
.cards.text_over_image .card .image_cover{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	display:inline-block;
	z-index:1;
	opacity:1;
	background: rgb(0,0,0);
	background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 80%);
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_over_image a.card:hover .image_cover,
.cards.text_over_image a.card:focus .image_cover{
	opacity:0.5;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_over_image .card .content_container h3{
	margin:0px;
	padding:0px 0px 5px 0px;
}
.cards.text_over_image .card .content_container{
	display:inline-block;
	z-index:3;
	position:absolute;
	left:0px;
	bottom:0px;
	width:100%;
	height:100%;
	line-height:26px;
	color:#FFF;
}
.cards.text_over_image .card .content_container .content_wrapper{
	padding:0px;
	margin:0px;
	position:absolute;
	left:30px;
	bottom:30px;
	padding-right:30px;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_over_image a.card:hover .content_container .content_wrapper,
.cards.text_over_image a.card:focus .content_container .content_wrapper{
	bottom:50px;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}

@media only screen and (max-width:1279px) {
	.cards_wrapper .container12,
	.cards_wrapper .container12 .column12{
		padding:0px 10px !important;
	}
}
@media only screen and (min-width:400px) {
	.cards.text_over_image .card .image_container{
		padding-bottom:60%;
	}
}
@media only screen and (min-width:500px) {
	.cards{
		grid-template-columns: repeat(2, 1fr);
	}
	.cards.cards_1{
		max-width:500px !important;
		grid-template-columns: repeat(1, 1fr);
	}
}
@media only screen and (min-width:768px) {
	.cards{
		grid-template-columns: repeat(3, 1fr);
	}
	.cards.cards_1{
		max-width:500px !important;
		grid-template-columns: repeat(1, 1fr);
	}
	.cards.cards_2{
		max-width:1000px !important;
		grid-template-columns: repeat(2, 1fr);
	}

	.cards.text_over_image .card .image_container{
		padding-bottom:100%;
	}
}
@media only screen and (min-width:1280px) {
	.cards{
		row-gap:30px;
		column-gap:30px;
	}
	.cards.text_over_image .card::after{
		left:40px;
		bottom:25px;
		width:20px;
		height:20px;
	}
	.cards.text_over_image a.card:hover::after,
	.cards.text_over_image a.card:focus::after{
		left:50px;
	}
	.cards.text_over_image .card .content_container .content_wrapper{
		left:40px;
		bottom:40px;
		padding-right:40px;
	}
	.cards.text_over_image a.card:hover .content_container .content_wrapper,
	.cards.text_over_image a.card:focus .content_container .content_wrapper3{
		bottom:60px;
		transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
	}
	.cards .card .price{
		left:40px;
	}
}

.cards.text_below_image{
	row-gap:60px;
}
.cards.text_below_image .card .image_container{
	position:absolute;
	left:0px;
	top:0px;
	display:inline-block;
	width:100%;
	height:auto;
	margin: 0px;
	z-index:1;
	line-height:0px;
	padding-bottom:60%;
}
.cards.text_below_image .card .image_container img{
	position:absolute;
	left:0px;
	top:0px;
	object-fit:cover;
	width:100%;
	height:100%;
	border-radius:4px;
	box-shadow: 0px 3px 5px #00000033;
}
.cards.text_below_image .card .content_container{
	display:inline-block;
	z-index:3;
	position:relative;
	width:100%;
	height:100%;
	padding-top:calc(60% + 20px);
}
.cards.text_below_image .card .content_container .content_wrapper{
	padding:0px;
	margin:0px;
	position:relative;
	width:100%;
	height:100%;
}
.cards.text_below_image .card .content_container .content_wrapper.absolute_button_compensation{
	padding-bottom:70px;
}
.cards.text_below_image .card .content_container .wp-block-button{
	position:absolute;
	left:0px;
	bottom:0px;
}
.cards.text_below_image a.card.product_card .price{
	box-shadow: 0px 0px 5px #00000033;
	position:absolute;
	left:30px;
	top:0px;
	z-index:3;
	padding:8px 16px;
	background: #0196d9;
    color:#FFF;
	text-transform:uppercase;
	font-weight:600;
	font-size:16px;
	letter-spacing:1.5px;
	border-radius:0px 0px 4px 4px;
}
.cards.text_below_image a.card.product_card .image_container{
	padding-bottom:100%;
	border:1px solid #0196d9;
}
.cards.text_below_image a.card.product_card .image_container img{
	object-fit:contain;
}
.cards.text_below_image a.card.product_card h3{
	color:#0a0a0a;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_below_image a.card.product_card:hover h3,
.cards.text_below_image a.card.product_card:focus h3{
	color:#1796cd !important;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_below_image a.card.product_card .content_container{
	padding-top:calc(100% + 20px);
}
.cards.text_below_image a.card.product_card .image_container::after{
	opacity:0;
	z-index:1;
	content:"";
	position:absolute;
	display:inline-block;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	background:rgba(1, 150, 217, 0.2);
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.cards.text_below_image a.card.product_card:hover .image_container::after,
.cards.text_below_image a.card.product_card:focus .image_container::after{
	opacity:1;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}




/*-----------------------------------------------------------------
ICONS
-----------------------------------------------------------------*/
.icons{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	row-gap:20px;
	column-gap:20px;
	margin:0px;
}
.icons .icon_item{
	display:table;
	width:100%;
	font-weight:400;
}
.icon_item .image_container{
	display:table-cell;
	vertical-align:middle;
	width:40px;
	height:40px;
	line-height:0px;
}
.icon_item .image_container img{
	width:100%;
	height:auto;
}
.icon_item .content_container{
	display:table-cell;
	vertical-align:middle;
	width:auto;
	padding:0px 0px 0px 15px;
	font-weight:600;
}
.DARK .icon_item .image_container img{
	filter:brightness(0) invert(1);
}
@media only screen and (min-width:768px) {
	.icons{
		grid-template-columns: repeat(4, 1fr);
		row-gap:20px;
		column-gap:20px;
	}
	.icons.two_icons{
		margin-left:10%;
		width:80%;
		grid-template-columns: repeat(2, 1fr);
	}
	.icons.three_icons{
		grid-template-columns: repeat(3, 1fr);
	}
	.icons .icon_item{
		position:relative;
		display:inline-block;
		height:100%;
		text-align:center;
	}

	.icon_item .image_container{
		display:inline-block;
		width:60px;
		height:60px;
	}
	.icon_item .content_container{
		text-align:center;
		position:relative;
		z-index:1;
		display:inline-block;
		width:100%;
		height:auto;
		padding:10px 0px 0px 0px;
	}
}
@media only screen and (min-width:1024px) {
	.icons{
		grid-template-columns: repeat(4, 1fr);
		row-gap:30px;
		column-gap:30px;
	}
	.icons.two_icons{
		margin-left:10%;
		width:80%;
		grid-template-columns: repeat(2, 1fr);
	}
	.icons.three_icons{
		grid-template-columns: repeat(3, 1fr);
	}

	.icon_item .image_container{
		width:70px;
		height:70px;
	}
}
@media only screen and (min-width:1280px) {
	.icons{
		grid-template-columns: repeat(4, 1fr);
		row-gap:40px;
		column-gap:40px;
	}
	.icons.three_icons{
		margin-left:10%;
		width:80%;
		grid-template-columns: repeat(3, 1fr);
	}
	.icons.two_icons{
		margin-left:20%;
		width:60%;
		grid-template-columns: repeat(2, 1fr);
	}

	.icon_item .image_container{
		width:80px;
		height:80px;
	}
}




/*-----------------------------------------------------------------
ALTERNATING IMAGE + TEXT
-----------------------------------------------------------------*/
.alternating_image_text{
	display:inline-block;
	width:100%;
}
.alternating_image_text .row{
	display:inline-block;
	width:100%;
	margin-bottom:40px;
}
.alternating_image_text .row:last-child{
	margin-bottom:0px !important;
}
.alternating_image_text .row:last-child{
	display:inline-block;
	width:100%;
	margin-bottom:80px;
}
.alternating_image_text .row .image_container{
	display:inline-block;
	width:100%;
	height:auto;
	margin:0px 0px 30px 0px;
	line-height:0px;
}
.alternating_image_text .row .image_container .image{
	display:inline-block;
	width:100%;
	height:auto;
	padding-bottom:60%;
	position:relative;
}
.alternating_image_text .row .image_container .image img{
	position:absolute;
	left:0px;
	top:0px;
	object-fit:cover;
	width:100%;
	height:100%;
}

@media only screen and (min-width:768px) {
	.alternating_image_text{
		display:inline-block;
		width:100%;
		text-align:center;
	}
	.alternating_image_text .row{
		display:inline-block;
		position:relative;
		margin:0px;
		max-width:1500px;
		margin-left:auto;
		margin-right:auto;
		text-align:left;
	}
	.alternating_image_text .row:last-child{
		margin-bottom:0px;
	}
	.alternating_image_text .row .image_container{
		position:absolute;
		display:inline-block;
		width:80%;
		height:100%;
		margin:0px;
	}
	.alternating_image_text .row .image_container .image{
		display:inline-block;
		width:100%;
		height:100%;
		padding-bottom:0px;
	}
	.alternating_image_text .row .image_container .image img{
		box-shadow: 0px 3px 5px #00000033;
	}
	.alternating_image_text .row .content_container{
		display:inline-block;
		width:70%;
		position:relative;
		margin-top:60px;
		margin-bottom:60px;
	}
	.alternating_image_text .row .content_container .content{
		background:#f8f8f8;
		border-radius:4px;
		padding:40px;
	}
	.alternating_image_text .row.even .image_container{
		right:0px;
		top:0px;
	}
	.alternating_image_text .row.even .image_container .image img{
		border-radius:4px 0px 0px 4px;
	}
	.alternating_image_text .row.odd .image_container{
		left:0px;
		top:0px;
	}
	.alternating_image_text .row.odd .image_container .image img{
		border-radius:0px 4px 4px 0px;
	}
	.alternating_image_text .row.even .content_container{
		margin-left:0%;
	}
	.alternating_image_text .row.odd .content_container{
		margin-left:30%;
	}
}
@media only screen and (min-width:1024px) {
	.alternating_image_text .row .image_container{
		width:80%;
	}
	.alternating_image_text .row .content_container{
		width:60%;
		margin-top:100px;
		margin-bottom:100px;
	}
	.alternating_image_text .row.odd .content_container{
		margin-left:40%;
	}
	.alternating_image_text .row .content_container .content{
		padding:50px;
	}
}
@media only screen and (min-width:1280px) {
	.alternating_image_text .row .content_container .content{
		padding:60px;
	}
}
@media only screen and (min-width:1500px) {
	.alternating_image_text .row.even .image_container .image img,
	.alternating_image_text .row.odd .image_container .image img{
		border-radius:4px;
	}
}




/*-----------------------------------------------------------------
IMAGE BANNER
-----------------------------------------------------------------*/
.image_banner{
	position:relative;
	padding-bottom:50px;
}
.image_banner::after{
	position:absolute;
	z-index:4;
	content:"";
	display:inline-block;
	left:0px;
	bottom:0px;
	width:100%;
	height:50px;
	background:url(/wp-content/uploads/2024/06/wave.svg) top left no-repeat;
	background-size:auto 100%;
}
.image_banner .image_container{
	display:inline-block;
	position:absolute;
	width:100%;
	height:100%;
	margin:0px;
	z-index:1;
}
.image_banner .image_container .image{
	position:relative;
	display:inline-block;
	width:100%;
	height:100%;
}
.image_banner .image_container .image img{
	position:absolute;
	left:0px;
	top:0px;
	object-fit:cover;
	width:100%;
	height:100%;
}
.image_banner .image_cover{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	display:inline-block;
	z-index:1;
	opacity:0.5;
	background:#000;
}
.image_banner .content{
	position:relative;
	z-index:2;
}

@media only screen and (min-width:768px) {
	.image_banner{
		padding-bottom:80px;
	}
	.image_banner::after{
		height:80px;
	}
}

@media only screen and (min-width:1280px) {
	.image_banner{
		padding-bottom:160px;
	}
	.image_banner::after{
		height:160px;
	}
}




/*-----------------------------------------------------------------
ACCORDIONS
-----------------------------------------------------------------*/
.accordion{
    position:relative;
    display:inline-block;
    width:100%;
    margin:20px 0px 20px 0px;
    padding:0px;
}
.accordion > .item{
    position:relative;
    list-style:none;
    display:inline-block;
    width:100%;
    height:auto;
    margin:0px;
    padding:0px;
    border-top:1px solid #d7d7d8;
}
.accordion > .item > a.heading{
    position:relative;
    z-index:2;
    display:inline-block;
    width:100%;
    text-decoration:none !important;
    background:url(/wp-content/uploads/2024/06/plus-icon.svg) top 25px right no-repeat;
    background-size:16px;
}
.accordion > .item > a.heading h4{
    margin:0px;
    padding:20px 40px 10px 0px;
}
.accordion > .item .panel{
    position:relative;
    width:100%;
    display:inline-block;
}
.accordion > .item .panel_wrapper{
    position:absolute;
    left:0px;
    top:0px;
    width:100%;
    height:100%;
    left:0px;
    top:0px;
    display:inline-block;
}
.accordion > .item .panel .panel_content{
	visibility:hidden;
    position:relative;
    display:inline-block;
    opacity:0;
    transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
.accordion > .item.active > a.heading{
    background:url(/wp-content/uploads/2024/06/minus-icon.svg) top 25px right no-repeat;
    background-size:16px;
}
.accordion > .item.active .panel .panel_content{
	visibility:visible;
    opacity:1;
    transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
    transition-delay: .3s;
}

@media only screen and (min-width:1024px){
    .accordion > .item > a.heading{
        background:url(/wp-content/uploads/2024/06/plus-icon.svg) top 25px right 20px no-repeat;
        background-size:25px;
    }
    .accordion > .item.active > a.heading{
        background:url(/wp-content/uploads/2024/06/minus-icon.svg) top 25px right 20px no-repeat;
        background-size:25px;
    }
    .accordion > .item > a.heading h4{
        padding:20px 100px 10px 0px;
    }
    .accordion > .item .panel{
    }
    .accordion > .item .panel .panel_content{
		padding-right:100px;
    }
}




/*-----------------------------------------------------------------
TOP STYLES AND CONTAINERS
-----------------------------------------------------------------*/
#TOP_COMPENSATION{
	height:80px;
}
#TOP.inline{
	position:relative !important;
}
#TOP{
	z-index:12;
	position:fixed;
	width:100%;
	left:0px;
	top:0px;
	height:80px;
	background:#1C1E22;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
#TOP.hidden{
	top:-110px;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
#TOP.active{
	top:0px;
	position:fixed;
	left:0px;
}

#TOP #logo{
	z-index:14;
	position:absolute;
	display:inline-block;
	top:10px;
	height:60px;
	left:0px;
	width:auto;
}
#TOP #logo img{
	width:auto;
	height:100%;
}

#TOP .container12,
#TOP .container12 .column12,
#TOP .navigation_container,
#TOP nav.main-navigation,
#TOP .menu-primary-menu-container{
	padding-top:0px;
	padding-bottom:0px;
	height:100%;
	width:100%;
	position:relative;
}

#TOP button.menu-toggle{
	z-index:16;
	border:0px;
	padding:0px;
	margin:0px;
	background:none;
	width:35px;
	height:100%;
	position:absolute;
	cursor:pointer;
	right:0px;
	top:0px;
	background:url(/wp-content/uploads/2024/06/mobile_menu_icon_white.svg) center center no-repeat;
	background-size:contain;
}
#TOP button.menu-toggle-active{
	background:url(/wp-content/uploads/2024/06/mobile_menu_close_icon_white.svg) center center no-repeat;
	background-size:90%;
}

#TOP ul#primary-menu{
	z-index:11;
	display:none;
	width:100%;
	height:100%;
	top:0px;
	left:0px;
	list-style:none;
	position:fixed;
	background:#1C1E22;
	margin:0px;
	padding:100px 35px 0px 35px;
	text-align:center;
}
#TOP ul#primary-menu li{
	background:none;
	position:relative;
	display:inline-block;
	width:100%;
	list-style:none;
	padding:0px;
	margin:0px;
}
#TOP ul#primary-menu li a{
	text-transform:Uppercase;
	text-decoration:none;
	display:inline-block;
	width:100%;
	line-height:normal;
	color:#FFF;
	letter-spacing:1.5px;
	position:relative;
	padding:20px 0px 20px 0px;
	font-family: 'Maven Pro', sans-serif;
	font-weight:600;
	font-size:20px;
	line-height:26px;
}
#TOP ul#primary-menu li.nav_button a{
	display:inline-block;
	width:auto;
}
@media only screen and (max-width:767px) {	
	#TOP ul#primary-menu li.nav_button a{
		border:2px solid #FFF !important;
		margin-top:20px;
		background:none;
	}
}

#TOP ul#primary-menu li ul.sub-menu{
	background:#1C1E22;
	z-index:14;
	display:none;
	width:100%;
	height:100%;
	top:0px;
	left:0px;
	list-style:none;
	position:fixed;
	margin:0px;
	padding:100px 35px 0px 35px;
}
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a,
#TOP ul#primary-menu li.current-menu-parent ul.sub-menu li a{
	position:relative;
}

#TOP #subnav_header{
	background:#1C1E22;
	z-index:15;
	display:none;
	vertical-align:middle;
	text-align:left;
	position:fixed;
	padding:0px 35px 0px 35px;
	top:0px;
	left:0px;
	width:100%;
	height:100px;
	cursor:pointer;
}
#TOP #subnav_header span{
	display:table-cell;
	vertical-align:middle;
	width:100%;
}
#TOP #subnav_header span a,
#TOP #subnav_header span a:hover,
#TOP #subnav_header span a:focus{
	color:#FFF;
	font-family: 'Maven Pro', sans-serif;
	font-weight:600;
	letter-spacing:1.5px;
	text-transform: uppercase;
	font-size:20px;
	line-height:normal;
	text-decoration:none;
	background:url(/wp-content/uploads/2024/06/button_arrow_white-back.svg) left center no-repeat;
	background-size:15px;
	padding-left:25px;
}

#TOP #cart_icon{
	top:0px;
	right:60px;
	z-index:17;
	position:absolute;
	display:inline-block;
	width:30px;
	height:100%;
}
#TOP #cart_icon img{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
}

@media only screen and (min-width:768px) {	
	#TOP ul#primary-menu,
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu,
	#TOP #subnav_header{
		padding-left:80px;
		padding-right:80px;
	}
}

@media only screen and (max-width:1279px) {
	#TOP .container12,
	#TOP .container12 .column12{
		padding:0px 20px 0px 40px !important;
	}
}

@media only screen and (min-width:1024px){
	#TOP_COMPENSATION{
		height:80px;
	}
	#TOP{
		height:80px;
		top:0px;
		left:0px;
	}
	
	#TOP.desktop_scroll{
		height:80px;
	}

	#TOP.desktop_scroll #logo{
	}
	
	#TOP .navigation_container{
		margin-left:auto;
		margin-right:auto;
		text-align:right;
	}
	#TOP nav.main-navigation{
		width:100%;
		display:inline-block;
	}

	#TOP button.menu-toggle{
		display:none;
	}
	#TOP ul#primary-menu{
		list-style:none;
		position:relative;
		top:auto;
		margin:0px;
		padding:0px;
		display:table;
		table-layout:auto;
		height:100%;
		width:auto;
		float:right;
		background:none;
	}
	#TOP ul#primary-menu li{
		position:relative;
		display:table-cell;
		width:auto;
		list-style:none;
		margin:0px;
		padding:0px;
		height:100%;
		vertical-align:middle;
		text-align:center;
	}
	#TOP ul#primary-menu li a{
		position:relative;
		font-style:normal;
		display: flex;
		justify-content: center;
		align-content: center;
		flex-direction: column;
		width:100%;
		height:auto;
		padding:10px 20px 10px 20px;
		text-transform: uppercase;
		letter-spacing:1.5px;
		margin:0px;
		background:none;
		line-height:normal;
		border:0px;
		color:#FFF;
		font-size:16px;
		line-height:normal;
		transition: all .2s ease-in-out; -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out;
	}
	#TOP ul#primary-menu li a:hover,
	#TOP ul#primary-menu li a:focus,
	#TOP ul#primary-menu li a.primary-menu-hovered,
	#TOP ul#primary-menu li.current_page_item:not(.nav_button) a{
		background:none;
		color:#0196d9;
		transition: all .2s ease-in-out; -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out;
	}
	#TOP ul#primary-menu li.mobile_only{
		display:none;
	}
	
	#TOP ul#primary-menu li.menu-item-has-children{
		padding-right:10px;
	}
	#TOP ul#primary-menu li.menu-item-has-children a{
		position:relative;
	}
	#TOP ul#primary-menu li.menu-item-has-children a::after{
		content:"";
		display:inline-block;
		width:10px;
		height:10px;
		position:absolute;
		right:2px;
		top:calc(50% - 3px);
		background:url(/wp-content/uploads/2024/06/dropdown_arrow_white.svg) center center no-repeat;
		background-size:contain;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu{
		z-index:14;
		background:#fff;
		display:none !important;
		position:absolute;
		margin:0px;
		padding:20px 10px 20px 10px;
		top:100%;
		left:-10px;
		height:auto;
		box-shadow: 0px 3px 6px #00000029;
		border-radius:6px;
		width:230px;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu::before{
		content:"";
		position:absolute;
		display:inline-block;
		left:29px;
		top:-15px;
		width:15px;
		height:15px;
		background:url(/wp-content/uploads/2024/06/nav-arrow-dropdown.png) bottom center no-repeat;
		background-size:contain;
	}
	#TOP ul#primary-menu li.menu-item-has-children:hover ul,
	#TOP ul#primary-menu li.menu-item-has-children:focus ul,
	#TOP ul#primary-menu li.menu-item-has-children.ada_focus ul{
		display:block !important;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li{
		padding:0px;
		margin:0px;
		display:inline-block;
		border:0px;
		width:100%;
		height:auto;
		text-align:left;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a{
		display:inline-block;
		width:auto;
		color:#1C1E22;
		padding:7px 20px 7px 20px;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a:hover,
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a:focus{
		color:#0196d9;
	}
	
	#TOP #subnav_header{
		display:none;
	}

	#TOP ul#primary-menu li.nav_button a{
		margin-left:30px;
	}

	#TOP.has_cart ul#primary-menu{
		padding-right:50px;		
	}
	#TOP #cart_icon{
		right:0px;
	}
}




/*-----------------------------------------------------------------
FOOTER
-----------------------------------------------------------------*/
footer{
	position:relative;
	background:#1c1e22 !important;
	padding-top:60px;
	padding-bottom:60px;
	overflow:hidden;
}

nav.footer_navigation ul{
	display:inline-block;
	width:100%;
	margin:0px;
	padding:0px;
	list-style: none;
	text-align:center;
}
nav.footer_navigation ul li{
	display:inline-block;
	width:100%;
	margin:5px 0px 5px 0px;
	padding:0px;
}
nav.footer_navigation ul li a{
	position:relative;
	color:#FFF;
	text-transform:uppercase;
	font-weight:600;
	font-size:14px;
	letter-spacing:1.5px;
	line-height: normal;
	text-decoration: none;
	display:inline-block;
	width:auto;
	padding:0px 0px 0px 0px;
	margin:0px;
	text-decoration:none;
}
nav.footer_navigation ul li a:hover,
nav.footer_navigation ul li a:focus{
	text-decoration:underline;
}

footer .footer_copyright{
	margin-top:20px;
	text-align:center;
	font-size:12px;
	line-height:20px;
}

@media only screen and (min-width:768px){	
	nav.footer_navigation ul li{
		width:auto;
		margin:0px;
		padding:0px 8px 0px 8px;
	}
}



/*-----------------------------------------------------------------
CONTACT FORM
-----------------------------------------------------------------*/
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea{
	position:relative;
	width:100%;
	font-family: 'Karla', sans-serif;
	font-weight:300;
	color:#323232;
	font-size:16px;
	font-style: normal;
	line-height: normal;
	padding:10px 10px 10px 10px;
	margin:0px;
	margin-bottom:25px;
	border:1px solid #109fdc;
	background:none;
	border-radius:0px;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus{
	background:none;
	color:#000 !important;
	border-bottom:1px solid #0196d9;
	transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #000;
	opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: #000;
}
::-ms-input-placeholder { /* Microsoft Edge */
	color: #000;
}
.wpcf7-form{
	margin-top:40px;
}
.contact_columns,
.contact_columns .contact_column{
	display:inline-block;
	width:100%;
}
@media only screen and (min-width:1024px) {
	.contact_columns{
		display:flex;
		flex-direction:row;
		gap:15px;
	}
	.contact_columns .contact_column{
		display:inline-block;
		width:100%;
	}
}



/*-----------------------------------------------------------------
WOOCOMMERCE
-----------------------------------------------------------------*/
.product_columns{
	display:inline-block;
	width:100%;
}
.product_columns .product_column{
	display:inline-block;
	width:100%;
}
.product_column .image_container{
	position:relative;
	display:inline-block;
	width:100%;
	height:auto;
	margin:0px;
	z-index:1;
	line-height:0px;
	padding-bottom:100%;
}
.product_column .image_container img{
	position:absolute;
	left:0px;
	top:0px;
	object-fit:cover;
	width:100%;
	height:100%;
	border-radius:4px;
}
.woocommerce-product-gallery__image:not(:first-of-type){
	width:150px;
	height:150px;
	position:relative;
	display:inline-block;
}
.woocommerce-product-gallery__image:not(:first-of-type) img{
	width:100%;
	height:100%;
	left:0px;
	top:0px;
	position:absolute;
	object-fit:contain;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price{
	color: #0196d9;
	text-transform:uppercase;
	font-weight:600;
	font-size:16px;
	letter-spacing:1.5px;
	border-radius:0px 0px 4px 4px;
}
table.variations{
	max-width:300px;
	margin:20px 0px 20px 0px !important;
}
table.variations {
    padding: 0;
    border-spacing: 0; /* Optional: Removes spacing between table cells */
}

table.variations td, table.variations th {
    padding: 0;
}
table.variations select{
	margin-bottom:0px !important;
}
.woocommerce .quantity .qty{
	padding:10px;
}
.woocommerce-message{
	border-top-color:#0196d9 !important;
}
.woocommerce-message::before{
	color:#0196d9 !important;
}
.select2-results__option{
	padding:10px;
}
.select2-container--default .select2-selection--single{
	border:1px solid #0196d9;
	border-radius:0px;
	padding:20px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
	position:absolute;
	left:10px;
	top:6px;
}

@media only screen and (min-width:768px) {
	.product_columns{
		display:table;
		vertical-align:top;
		width:100%;
	}
	.product_columns .product_column{
		display:table-cell;
		vertical-align:top;
		width:auto;
	}
	.product_columns .product_column:first-child{
		width:340px;
		padding-right:40px;
	}
}

@media only screen and (min-width:1024px) {
	.product_columns .product_column:first-child{
		width:440px;
		padding-right:80px;
	}
}

@media only screen and (min-width:1280px) {
	.product_columns .product_column:first-child{
		width:580px;
		padding-right:120px;
	}
}

@media (max-width: 782px) {
	.wc-block-cart .wc-block-cart__submit-container--sticky{
		background:#0196d9 !important;
	}
	.wc-block-cart .wc-block-cart__submit-container--sticky a{
		color:#FFF !important;
	}
}
.wc-block-components-button:not(.is-link){
	display:inline-block;
	width:auto;
	margin-top:20px;
}

h3#order_review_heading{
	margin-top:20px;
}

/* Lightbox styles */
.lightbox {
    display: none; /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    justify-content: center;
    align-items: center;
	text-align:center;
}

.lightbox-content {
    position: relative;
	padding-top:10vh;
    max-width: 80vh;
    max-height: 80vh;
    outline: none;
	display:inline-block;
}

.lightbox img {
    width: 100%;
    height: auto;
}

.lightbox-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
}

.product-gallery img {
    cursor: pointer;
}
