/* MAIN WP CSS FILE -- DESKTOP FIRST STYLESHEET */

@font-face{ font-family: 'FKScreamer'; src: url('../fonts/FKScreamerLegacy-Upright.otf') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face{ font-family: 'UntitledSans'; src: url('../fonts/UntitledSans-Regular.otf') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face{ font-family: 'UntitledSans'; src: url('../fonts/UntitledSans-Medium.otf') format('opentype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face{ font-family: 'SimplonMono'; src: url('../fonts/SimplonMono-Medium.otf') format('opentype'); font-weight: 500; font-style: normal; font-display: swap; }

:root{
	--contentpad: 10px;
	--contentpad2x: 20px;
   --contentpad3x: 30px;
	--contentpad4x: 40px;
	--sectionpad05x: 40px;
	--sectionpad: 90px;
	--sectionpad2x: 180px;
	/* var(--colw) in document */
   --colw: 148px;
	--colw05x: calc( var(--colw) / 2 );
	--colw2x: calc( var(--colw) * 2 );
	/* sides and cap width */
	--gridgutter: 70px;
	--gridedge: calc( (100vw - 1920px) / 2);
	/* colours */
	--theme-white: #FFFFFF;
	--theme-black: #1A1818;
   --theme-fluo: #F1FF5C;
   --theme-grey-fluo: #A69F88;
   --theme-grey-dark: #393939;
   --theme-grey-light: #F0F0F0;
   --theme-error: red;
	/* font */
	--fontfam-heading: 'FKScreamer', sans-serif;
	--fontfam-text: 'UntitledSans', sans-serif;
   --fontfam-tag: 'SimplonMono','UntitledSans', sans-serif;
	--fontfam-button: 'SimplonMono','UntitledSans', sans-serif;
   --lettersp-heading: 0;
   --lettersp-text: -0.02em;
   --lettersp-tag: 0.5px;
   --lettersp-button: 0.5px;
	--size-h1: 180px; /* 182px, rem */
	--size-h2: 120px; /* 122px, rem */
	--size-h3: 80px; /* 82px, rem */
	--size-h4: 54px; /* 54px, rem */
	--size-h5: 38px; /* 38px, rem */
	--size-h6: 24px; /* 24px, rem */
	--size-p: 16px; /* 16px, rem */
	--size-p-sml: 12px; /* 12px, rem */
   --size-tag: 10px; /* 10px, rem */
	--size-caption: 12px; /* 12px, rem */
	--size-button: 12px; /* 12px, rem */
   --size-mobinav: 54px;
	/* elements */
	--radius-button: 0px;
	--radius-box: 0px;
   --radius-tag: 4px;
}

html, body {
   font-family: var(--fontfam-text);
   letter-spacing: var(--lettersp-text);
	font-weight: 400;
   font-size: 16px;
   line-height: 1.5;
   /*font-size: calc( 15px + (21 - 15) * (100vw - 980px) / (1920 - 980) );*/
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
   min-width: 320px;
   margin: 0;
   padding: 0;
   background-color: var(--theme-black);
   color: var(--theme-grey-light);
   fill: var(--theme-grey-light);
}
	/*@media only screen and (min-width : 1921px) {}*/
   /*@media only screen and (max-width : 1919px){}*/


body.is-mobile.menu-open,
body.no-scroll,
body.sticky-open{ 
	overflow: hidden!important; 
}

body.scrolling #wpadminbar,
body.no-scroll #wpadminbar,
body.menu-open #wpadminbar,
body.sticky-open #wpadminbar{ 
	display: none;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
   margin: var(--contentpad2x) 0;
}
	h1, .h1{
      font-size: var(--size-h1);
      font-family: var(--fontfam-heading);
      letter-spacing: var(--lettersp-heading);
      line-height: 0.9;
      font-weight: 400;
      text-transform: uppercase;
   }
	h2, .h2{
      font-size: var(--size-h2);
      font-family: var(--fontfam-heading);
      letter-spacing: var(--lettersp-heading);
      line-height: 1.0;
      font-weight: 400;
      text-transform: uppercase;
   }
   h3, .h3{
      font-size: var(--size-h3);
      font-family: var(--fontfam-heading);
      letter-spacing: var(--lettersp-heading);
      line-height: 1.0;
      font-weight: 400;
      text-transform: uppercase;
   }
	h4, .h4{
      font-size: var(--size-h4);
      font-family: var(--fontfam-heading);
      letter-spacing: var(--lettersp-heading);
      line-height: 1.0;
      font-weight: 400;
      text-transform: uppercase;
   }
	h5, .h5{
      font-size: var(--size-h5);
      font-family: var(--fontfam-text);
      letter-spacing: var(--lettersp-text);
      line-height: 1.2;
      font-weight: 500;
      text-transform: initial;
      margin-bottom: var(--contentpad);
   }
	h6, .h6{
      font-size: var(--size-h6);
      font-family: var(--fontfam-text);
      letter-spacing: var(--lettersp-text);
      line-height: 1.2;
      font-weight: 500;
      text-transform: initial;
      margin-bottom: var(--contentpad);
   }
   .text-large{
      font-size: var(--size-h6);
      font-family: var(--fontfam-text);
      letter-spacing: var(--lettersp-text);
      line-height: 1.2;
      font-weight: 500;
      text-transform: initial;
   }

.text-normal{
	font-size: var(--size-p);
	font-family: var(--fontfam-text);
   letter-spacing: var(--lettersp-text);
	font-weight: 400;
	line-height: 1.5;
   text-transform: initial;
}
   h3.text-normal{
      font-weight: 500;
   }

small,
.text-small{
	font-size: var(--size-p-sml);
   font-family: var(--fontfam-text);
   letter-spacing: var(--lettersp-text);
   font-weight: 400;
   line-height: 1.5;
   text-transform: initial;
}
.tag,
.text-tag{
   display: inline-block;
   vertical-align: text-top;
   font-size: var(--size-tag);
   font-family: var(--fontfam-tag);
   letter-spacing: var(--lettersp-tag);
   font-weight: 500;
   text-transform: uppercase;
   line-height: 1.5;
   margin: 8px 0;
}
.text-label,
.text-caption{
   font-size: var(--size-caption);
	font-family: var(--fontfam-text);
   letter-spacing: var(--lettersp-text);
   text-transform: initial;
	line-height: 1.5;
}

/*--------------------------------------------------------- Wrapper / Inner */
.section { width: 100%; margin: 0 auto; clear: both; position: relative; box-sizing: border-box; }
.section .inner{ max-width: 1920px; width: 100%; margin: 0 auto; position: relative; box-sizing: border-box; }

/*--------------------------------------------------------- Clearfix */
.group{ zoom: 1; position: relative; }
.group::before, .group::after{ content: ''; display: table; clear: both; } 
.screenheight{ height: 100vh; height: var(--vh100); }

/* some issues with Page Speed Insights viewing elements with 'opacity:0' on load */
[data-aos^=fade][data-aos^=fade]:not(.aos-animate){
	opacity: 0.01;
}

.unselectable{ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.unclickable{ pointer-events: none; }
.visually-hidden, .gfield_visibility_hidden, .gform_required_legend{ 
    position: absolute!important; height: 1px!important; width: 1px!important; overflow: hidden!important;
    clip: rect(1px 1px 1px 1px)!important; clip: rect(1px, 1px, 1px, 1px)!important; white-space: nowrap!important;
}
.print-only{ display: none!important; }

.text-center{ text-align: center; }
.text-left{ text-align: left; }
.text-right{ text-align: right; }

ul.inline,
p.readmores{
   list-style-type: none;
   display: flex;
   flex-wrap: wrap;
   padding: 0;
   margin: var(--contentpad2x) 0;
   position: relative;
   column-gap: var(--contentpad2x);
   row-gap: var(--contentpad);
}
ul.inline li{
   display: block;
   margin: 0;
   padding: 0;
}
   .text-right ul.inline, 
   ul.inline.text-right,
   p.readmores.text-right{
      justify-content: end;
   }
   .text-center ul.inline, 
   ul.inline.text-center,
   p.readmores.text-center{
      justify-content: center;
   }

ul:not([class]){
   display: flex;
   flex-wrap: wrap;
   row-gap: 12px;
   list-style-type: none;
   margin: var(--contentpad3x) 0 var(--contentpad) 0;
   padding: 0;
   line-height: 20px;
   position: relative;
}
   ul:not([class]) > li{
      display: block;
      width: 100%;
      flex-basis: 100%;
      padding-left: 34px;
      position: relative;
   }
   ul:not([class]) > li::before{
      content: '\25AA';
      display: block;
      width: 1em;
      height: 1em;
      line-height: 1em;
      font-size: 0.7em;
      position: absolute;
      top: 2px;
      left: 2px;
      color: currentColor;
   }



/* Slider Firefox issue - https://github.com/kenwheeler/slick/issues/982 */
*{ min-height: 0; min-width: 0; }
/*.slick-slider,
.slick-slider .slick-list,
.slick-slider .slick-track,
.slick-slider .slick-slide,
.slick-slider .slick-slide > div,
.slick-slider .slick-slide > div > div{
   height: 100%;
} */

/* blue outline on focus fields */
*:focus{ outline: none; }

/* blue background on focus fields mobile */
*:focus, *:active{ -webkit-tap-highlight-color: transparent; }

/* highlight on content select */
/*
*::selection{}
*::-moz-selection{}
*/

.bg-white *::selection{
	color: #1A1818; background-color: rgba(241, 255, 92, 0.99);
}
.bg-white *::-moz-selection{
   color: #1A1818; background-color: rgba(241, 255, 92, 0.99);
}
.bg-black *::selection{
	color: #1A1818; background-color: rgba(241, 255, 92, 0.99);
}
.bg-black *::-moz-selection{
   color: #1A1818; background-color: rgba(241, 255, 92, 0.99);
}
.bg-fluo *::selection{
   color: #F1FF5C; background-color: rgba(26, 24, 24, 0.99);
}
.bg-fluo *::-moz-selection{
   color: #F1FF5C; background-color: rgba(26, 24, 24, 0.99);
}

   img::selection{
      background-color: rgba(241, 255, 92, 0.33)!important;
   }
   img::-moz-selection{
      background-color: rgba(241, 255, 92, 0.33)!important;
   }


div, nav, aside, section, header, footer{ box-sizing: border-box; }
img{ max-width: 100%; height: auto; box-shadow: #000 0em 0em 0em; border: 0; }
img.alignleft{ display: block; margin-left: 0; margin-right: auto; }
img.alignright{ display: block; margin-left: auto; margin-right: 0; }
img.aligncenter{ display: block; margin-left: auto; margin-right: auto; }
a.block, img.block, svg.block{ display: block; width: 100%; height: auto; }
img.object-fill, svg.object-fill{ display: block; height: 100%; width: 100%; object-fit: cover; object-position: center; }
img.object-contain, svg.object-contain{ display: block; height: 100%; width: 100%; object-fit: contain; object-position: center; }

table{ width: 100%; }
table.alignright, table.alignleft{ width: auto; }
td, th{ padding: 6px 6px; }

video{ 
	display: block; 
	width: 100%; 
	max-width: 100%; 
	height: auto; 
	object-fit: cover; 
	object-position: center; 
}

iframe{ 
	width: 100%; 
	max-width: 100%; 
	min-height: 320px; 
}
iframe[src*="vimeo"]{} 
iframe[src*="youtube"]{}
iframe[src*="google.com/maps"]{
	display: block;
}

input, 
input[type="submit"], 
input[type="button"], 
button{ 
	font-family: var(--fontfam-text);
	border-radius: 0; 
	-webkit-appearance: none; 
	-webkit-border-radius:0px; 
	transition: all 0.35s ease;
}
select{
	font-family: var(--fontfam-text);
	border-radius: 0; 	
}
textarea{
	font-family: var(--fontfam-text);
}

svg{
	color: inherit;
	fill: inherit;
}

a{ 
	position: relative;
	color: inherit; 
   fill: inherit;
	text-decoration: none; 
	transition: all 0.35s ease 0s; 
}

p{
   margin: var(--contentpad) 0;
}
ul:not([class]), ol:not([class]){
   margin: var(--contentpad2x) 0;
}


/*--------------------------------------------------------- THEME: COLOURS */
.bg-white{ 
	background-color: var(--theme-white); 
}
	.bg-white:not(.boxed){
		color: var(--theme-black); 
		fill: var(--theme-black); 
	}
	.text-white{ 
		color: var(--theme-white); 
		fill: var(--theme-white); 
	}

   .bg-white .bg-grey{
      background-color: var(--theme-grey-light);
   }

.bg-black{ 
	background-color: var(--theme-black); 
}
	.bg-black:not(.boxed){
		color: var(--theme-grey-light); 
		fill: var(--theme-grey-light); 
	}
	.text-black{ 
		color: var(--theme-black); 
		fill: var(--theme-black); 
	}

   .bg-black .bg-grey{
      background-color: var(--theme-grey-dark);
   }


.bg-blur{
   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}
   /*.box.bg-blur{*/
   .border{
      border: 1px solid currentColor;
   }

.bg-fluo{ 
   background-color: var(--theme-fluo); 
}
   .bg-fluo:not(.boxed),
   .section.bg-white .bg-fluo:not(.boxed),
   .section.bg-black .bg-fluo:not(.boxed){
      color: var(--theme-black); 
      fill: var(--theme-black); 
   }
   .text-fluo{ 
      color: var(--theme-fluo); 
      fill: var(--theme-fluo); 
   }
   .text-fluo-light{ 
      color: var(--theme-grey-fluo); 
      fill: var(--theme-grey-fluo); 
   }

   .bg-white:not(.boxed) .text-highlight,
   .boxed.text-black .text-highlight,
   .bg-white:not(.boxed) .tag:not(.card-tag),
   .boxed.text-black .tag{
      color: var(--theme-grey-fluo);
      fill: var(--theme-grey-fluo);
   }
   .bg-black:not(.boxed) .text-highlight,
   .boxed.text-white .text-highlight,
   .bg-black:not(.boxed) .tag,
   .bg-white:not(.boxed) .tag.card-tag,
   .boxed.text-white .tag{
      color: var(--theme-fluo); 
      fill: var(--theme-fluo); 
   }


/*--------------------------------------------------------- THEME: BUTTONS */
.menu-button > a,
.btn-solid,
.btn-outline,
body.p59-theme .gform_wrapper.gravity-theme button,
body.p59-theme .gform_wrapper.gravity-theme input[type="submit"],
body.p59-theme .gform_wrapper.gravity-theme input[type="button"]{
   font-family: var(--fontfam-button);
   font-size: var(--size-button);
   letter-spacing: var(--lettersp-button);
   font-weight: 500;
   display: inline-block;
   vertical-align: baseline;
   color: inherit;
   fill: inherit;
   background-color: transparent;
   border: 1px solid currentColor;
   border-radius: var(--radius-button);
   box-sizing: border-box;
   padding: 11px 16px;
   margin: 0;
   line-height: 18px;     
   height: 42px; 
   text-decoration: none!important;
   text-transform: uppercase;
   text-align: center;
   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
   white-space: nowrap;
   position: relative;
   transition: all 0.35s ease;
}
   .bg-black:not(.boxed) .menu-button.solid > a,
   .bg-black:not(.boxed) .btn-solid,
   body.p59-theme .bg-black:not(.boxed) .gform_wrapper.gravity-theme button,
   body.p59-theme .bg-black:not(.boxed) .gform_wrapper.gravity-theme input[type="submit"],
   body.p59-theme .bg-black:not(.boxed) .gform_wrapper.gravity-theme input[type="button"],
   .bg-black.boxed.text-white .btn-solid,
   .bg-white.boxed.text-white .btn-solid{
      border-color: var(--theme-fluo);
      background-color: var(--theme-fluo);
      color: var(--theme-black);
      fill: var(--theme-black);
   }
   .bg-white:not(.boxed) .menu-button.solid > a,
   .bg-white:not(.boxed) .btn-solid,
   body.p59-theme .bg-white:not(.boxed) .gform_wrapper.gravity-theme button,
   body.p59-theme .bg-white:not(.boxed) .gform_wrapper.gravity-theme input[type="submit"],
   body.p59-theme .bg-white:not(.boxed) .gform_wrapper.gravity-theme input[type="button"],
   .bg-fluo:not(.boxed) .menu-button.solid > a,
   .bg-fluo:not(.boxed) .btn-solid{
      border-color: var(--theme-black);
      background-color: var(--theme-black);
      color: var(--theme-fluo);
      fill: var(--theme-fluo);
   }

   .menu-button > a:not(.no-icon)::after,
   .btn-solid:not(.no-icon)::after,
   .btn-outline:not(.no-icon)::after,
   body.p59-theme .gform_wrapper.gravity-theme button::after,
   body.p59-theme .gform_wrapper.gravity-theme input[type="submit"]::after{
      content: '';
      display: inline-block;
      vertical-align: baseline;
      width: 12px;
      height: 12px;
      margin-left: 40px;
      color: inherit;
      background-color: currentColor;
      mask-image: url(../images/icon-button-next.svg);
      -webkit-mask-image: url(../images/icon-button-next.svg);
      mask-size: cover;
      -webkit-mask-size: cover;
      mask-position: top 1px center;
      -webkit-mask-position: top 1px center;
      mask-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
   }
      

   .menu-button.outline > a,
   .btn-outline{
      border-color: var(--theme-fluo);
      color: var(--theme-fluo);
      fill: var(--theme-fluo);
   }
      .bg-white:not(.boxed) .menu-button.outline > a,
      .bg-white:not(.boxed) .btn-outline,
      .bg-fluo:not(.boxed) .btn-outline{
         border-color: var(--theme-black);
         color: var(--theme-black);
         fill: var(--theme-black);
      }


.link-arrow{
   display: block;
   position: relative;
   margin-top: var(--contentpad2x);
}
   .link-arrow::after{
      content: '';
      display: inline-block;
      vertical-align: baseline;
      width: 32px;
      height: 32px;
      color: inherit;
      background-color: currentColor;
      mask-image: url(../images/icon-link-arrow.svg);
      -webkit-mask-image: url(../images/icon-link-arrow.svg);
      mask-size: contain;
      -webkit-mask-size: contain;
      mask-position: left center;
      -webkit-mask-position: left center;
      mask-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
   }


.tag{
   display: inline-block;
   vertical-align: top;
   font-weight: 500;
   line-height: 12px;
   white-space: nowrap;
   border: 1px solid;
   border-radius: 20px;
   padding: 4px 8px;
}
   .tag + h1, .tag + h2, .tag + h3{
      margin-top: 8px;
   }


@media (hover: hover){

	body:not(.is-device_android) .bg-black:not(.boxed) .menu-button.solid > a:hover,
   body:not(.is-device_android) .bg-black:not(.boxed) .btn-solid:hover,
   body.p59-theme:not(.is-device_android) .bg-black:not(.boxed) .gform_wrapper.gravity-theme button:hover,
   body.p59-theme:not(.is-device_android) .bg-black:not(.boxed) .gform_wrapper.gravity-theme input[type="submit"]:hover,
   body.p59-theme:not(.is-device_android) .bg-black:not(.boxed) .gform_wrapper.gravity-theme input[type="button"]:hover,
   body:not(.is-device_android) .bg-black.boxed.text-white .btn-solid:hover,
   body:not(.is-device_android) .bg-white.boxed.text-white .btn-solid:hover,
   body:not(.is-device_android) .bg-black:not(.boxed) .menu-button.outline > a:hover,
   body:not(.is-device_android) .bg-black:not(.boxed) .btn-outline:hover{
      /*border-color: var(--theme-fluo);
      background-color: transparent;
      color: var(--theme-fluo);
      fill: var(--theme-fluo);*/
      background-color: var(--theme-white);
      border-color: var(--theme-white);
      color: var(--theme-black);
      fill: var(--theme-black);
      transition: all 0.35s ease;
   }
   body:not(.is-device_android) .bg-white:not(.boxed) .menu-button.solid > a:hover,
   body:not(.is-device_android) .bg-white:not(.boxed) .btn-solid:hover,
   body.p59-theme:not(.is-device_android) .bg-white:not(.boxed) .gform_wrapper.gravity-theme button:hover,
   body.p59-theme:not(.is-device_android) .bg-white:not(.boxed) .gform_wrapper.gravity-theme input[type="submit"]:hover,
   body.p59-theme:not(.is-device_android) .bg-white:not(.boxed) .gform_wrapper.gravity-theme input[type="button"]:hover,
   body:not(.is-device_android) .bg-white:not(.boxed) .menu-button.outline > a:hover,
   body:not(.is-device_android) .bg-white:not(.boxed) .btn-outline:hover{
      /*border-color: var(--theme-black);
      background-color: transparent;
      color: var(--theme-black);
      fill: var(--theme-black);*/
      background-color: var(--theme-fluo);
      border-color: var(--theme-fluo);
      color: var(--theme-black);
      fill: var(--theme-black);
      transition: all 0.35s ease;
   }
   body:not(.is-device_android) .bg-fluo:not(.boxed) .menu-button.solid > a:hover,
   body:not(.is-device_android) .bg-fluo:not(.boxed) .btn-solid:hover,
   body:not(.is-device_android) .bg-fluo:not(.boxed) .btn-outline:hover{
      /*border-color: var(--theme-black);
      background-color: transparent;
      color: var(--theme-black);
      fill: var(--theme-black);*/
      background-color: var(--theme-white);
      border-color: var(--theme-white);
      color: var(--theme-black);
      fill: var(--theme-black);
      transition: all 0.35s ease;
   }

/*
   .bg-black:not(.boxed) .menu-button.outline > a:hover,
   .bg-black:not(.boxed) .btn-outline:hover{
      background-color: var(--theme-fluo);
      border-color: var(--theme-fluo);
      color: var(--theme-black);
      fill: var(--theme-black);
   }
   .bg-white:not(.boxed) .menu-button.outline > a:hover,
   .bg-white:not(.boxed) .btn-outline:hover,
   .bg-fluo:not(.boxed) .btn-outline:hover{
      background-color: var(--theme-black);
      border-color: var(--theme-black);
      color: var(--theme-fluo);
      fill: var(--theme-fluo);
   }
*/

   body:not(.is-device_android) .bg-black .accordion button.acc-head:hover,
   body:not(.is-device_android) .site_header.bg-black a.site-logo:hover{
      color: var(--theme-fluo);
      fill: var(--theme-fluo);
   }
   body:not(.is-device_android) .bg-white .accordion button.acc-head:hover,
   body:not(.is-device_android) .site_header.bg-white a.site-logo:hover{
      color: var(--theme-grey-fluo);
      fill: var(--theme-grey-fluo);
   }

   body:not(.is-device_android) .site_main .bg-black:not(.boxed) a:not([class]):hover,
   body:not(.is-device_android) .site_footer.bg-black a:not([class]):hover{
      color: var(--theme-fluo);
      fill: var(--theme-fluo);
   }  
   body:not(.is-device_android) .site_main .bg-white:not(.boxed) a:not([class]):hover{
      color: var(--theme-grey-fluo);
      fill: var(--theme-grey-fluo);
   }  

}

/*--------------------------------------------------------- GRID: FOR BODY LAYOUR */
/* 12 parts grid @ max-width 1920px */
.grid-container{
	display: grid;
	grid-template-columns: [screenleft] var(--gridedge) [edgeleft] var(--gridgutter) [c0] 1fr [c1] 1fr [c2] 1fr [c3] 1fr [c4] 1fr [c5] 1fr [c6] 1fr [c7] 1fr [c8] 1fr [c9] 1fr [c10] 1fr [c11] 1fr [c12] var(--gridgutter) [edgeright] var(--gridedge) [screenright];
	grid-template-rows: auto;
	grid-auto-rows: auto;
	grid-auto-flow: row; 
	align-items: stretch;
	justify-content: stretch; 
	align-content: stretch; 
   margin: 0 auto;
   padding: 0 0;
}

.grid-container .grid-item{
	grid-column-start: c0; 
	grid-column-end: c12;
  	grid-row-start: auto; 
  	grid-row-end: auto;
  	position: relative;
}
	.grid-container .grid-item .content,
	.flex-container .flex-item .content{
		padding: var(--contentpad) var(--contentpad);
	}

   .box{
      display: block;
      position: relative;
      box-sizing: border-box;
      padding: var(--contentpad2x);
   }
   .content.fullheight,
   .box.fullheight{
      height: 100%;
   }
   .box.text-highlight{
      border: 1px solid;
   }

	.content.text > *:first-child,
   .box.text > *:first-child,
   .wrapper-text > *:first-child{
      margin-top: 0; 
   }
	.content.text > *:last-child,
   .box.text > *:last-child,
   .wrapper-text > *:last-child{ 
      margin-bottom: 0; 
   }	


/*--------------------------------------------------------- FLEX: FOR SECTIONS LAYOUT */

.flex-container{
	width: 100%; max-width: 100%; height: 100%; min-height: inherit; position: relative; padding: 0; margin: 0; box-sizing: border-box;
	display: flex; flex-wrap: nowrap; flex-direction: row; 
	align-items: flex-start;  align-content: flex-start;  justify-content: flex-start;
}
	.flex-container.flex-nowrap{ flex-wrap: nowrap!important; }
	.flex-container.flex-wrap{ flex-wrap: wrap; }
	.flex-container.flex-row{ flex-direction: row; }	
	.flex-container.flex-row-reverse{ flex-direction: row-reverse; }	
	.flex-container.flex-center{ align-items: center; align-content: center; justify-content: flex-start; }
	.flex-container.flex-end{ align-items: flex-end; align-content: flex-end; justify-content: flex-start; }
	.flex-container.flex-stretch{ align-items: stretch; align-content: stretch; justify-content: stretch; }
	.flex-container.flex-edges{ align-items: flex-start; align-content: space-between; justify-content: space-between; }
	.flex-container.flex-edges-center{ align-items: center; align-content: space-between; justify-content: space-between; }
	.flex-container.flex-edges-stretch{ align-items: stretch; align-content: space-between; justify-content: space-between; }

		/* note IE can't handle left/right padding on flex-item - ignores border-box */
		.flex-container .flex-item{ 
			display: block; flex-basis: auto; flex-grow: 0; flex-shrink: 0; position: relative; 
			box-sizing: border-box; box-shadow: none; text-decoration: none; border: 0px none; margin: 0 0; padding: 0 0; max-width: 100%; 
		}
		.flex-container .flex-item.flex-grow{ flex-grow: 1; }
			.flex-container .flex-item.flex-parts-auto{ flex-grow: 1; flex-shrink: 1; }
			.flex-container .flex-item.flex-parts-100{ flex-basis: 100%; width:100%; }
			.flex-container .flex-item.flex-parts-75{ flex-basis: 75%; width: 75%; }
			.flex-container .flex-item.flex-parts-50{ flex-basis: 50%; width: 50%; }
			.flex-container .flex-item.flex-parts-25{ flex-basis: 25%; width: 25%; }
			.flex-container .flex-item.flex-parts-66{ flex-basis: 66.66%; width: 66.66%; }
			.flex-container .flex-item.flex-parts-33{ flex-basis: 33.33%; width: 33.33%; }


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*---------------------------------------------- WEBSITE SECTION PAGE STYLES */
/*---------------------------------------------------------------------------*/

/*-------- HEADER ------------------------------------------- */

#site-header{
   position: fixed;
	z-index: 404;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 404;
	transition: all 0.35s ease;
   background-color: transparent;
}
   /*
	body:not(.scrolling) #site-header,
	body.scrolling.menu-open #site-header{
		background-color: transparent;
	}
	body.menu-open #site-header,
	body.scrolling.menu-open #site-header{
		background-color: transparent;
		color: var(--theme-white);
		fill: var(--theme-white);
	}
	body.scrolling:not(.scroll-up):not(.menu-open) #site-header{
		top: -100px;
		transition: all 0.35s ease;
	}
   */


.site_header{
   padding: var(--contentpad) 0;
}
   .site_header a.site-logo{ display: block; }
   .site_header .logo{ display: block; }

   .site_header .container_body .item_navbar{}
   .site_header .flexcontainer_bar{
      justify-content: center;
      align-items: center;
      column-gap: var(--contentpad4x);
      row-gap: var(--contentpad);
   }
   /*   
   .site_header .flexcontainer_bar .flexitem_icon{}
   .site_header .flexcontainer_bar .flexitem_nav{}
   .site_header .flexcontainer_bar .flexitem_btns{}
   .site_header .flexcontainer_bar .flexitem_burger{}
   */
   .site_header .flexcontainer_bar .desktop-only{}
   .site_header .flexcontainer_bar .mobile-only{
      display: none;
   }

   .site_header .container_body .item_navbar > .content{
      width: auto;
      max-width: fit-content;
      margin: 0 auto;
   }
      body:not(.scrolling):not(.menu-open) #site-header .item_navbar > .content{
         backdrop-filter: blur(10px);
         background-color: transparent;
      }
         .site_header .menu-button > a{
            backdrop-filter: none;
         }

      body.scrolling #site-header.bg-black .item_navbar > .content,
      body.scrolling:not(.menu-open) #site-header.bg-black .item_navbar > .content{
         background-color: rgba(26,24,24,0.6);
         backdrop-filter: blur(10px);
      }
      body.scrolling #site-header.bg-white .item_navbar > .content,
      body.scrolling:not(.menu-open) #site-header.bg-white .item_navbar > .content{
         background-color: rgba(255,255,255,0.6);
         backdrop-filter: blur(10px);
      }

      body.menu-open #site-header .item_navbar > .content,
      body.scrolling.menu-open #site-header .item_navbar > .content{
         background-color: transparent;
         color: var(--theme-white);
         fill: var(--theme-white);
      }



/*-------- MAIN MENU ------------------------------------------- */

#site-menu{
   position: fixed;
   z-index: 404;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   overflow: auto;
   background-color: rgba(0, 0, 0, 0.6);
}

.site_menu .container_menu{
  padding: var(--contentpad) 0;
  height: 100%;
}
   .site_menu .container_menu .item_nav{
      grid-row: 1 / 4;
      align-self: center;
      padding: var(--sectionpad) 0;
   }
   .site_menu .container_menu .item_btns{
      grid-row: 4 / 5;
      align-self: end;
   }
   .site_menu .container_menu .item_close{
      grid-column: c6 / c12;
      grid-row: 1 / 2;
      height: 42px;
      text-align: right;
   }

ul.mainnav{
   list-style-type: none;
   margin: 0;
   padding: 0;
   font-family: var(--fontfam-button);
   font-size: var(--size-button);
   letter-spacing: var(--lettersp-button);
   font-weight: 500;
   text-transform: uppercase;
}
ul.mainnav > li{}
ul.mainnav > li:not(.menu-button) > a{
   display: block;
   padding: 11px 4px;
}

ul.mobinav{
   list-style-type: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-wrap: wrap;
   column-gap: 0;
   row-gap: var(--contentpad);
   text-align: center;
   font-family: var(--fontfam-heading);
   font-size: var(--size-mobinav);
   font-weight: 400;
   line-height: 1.0;
   text-transform: uppercase;
}
   ul.mobinav > li{
      display: block;
      width: 100%;
      flex-basis: 100%;
   }
   ul.mobinav > li > a{}


ul.mobibtns{
   margin: 0;
}
   ul.mobibtns > li{
      flex: 1;
   }
   ul.mobibtns > li > a{
      width: 100%;
   }


#site-header .btn-burger{
   display: inline-block;
   vertical-align: baseline;
   position: relative;
   padding: 10px;
   border: 0;
   appearance: none;
   -webkit-appearance: none;
   background-color: transparent;
   color: inherit;
   fill: inherit;
}
   #site-header .btn-burger > .burger{
      display: block;
      position: relative;
      transform-origin: center;
      width: 22px;
      height: 22px;
   }
      #site-header .btn-burger > .burger::before,
      #site-header .btn-burger > .burger::after,
      #site-header .btn-burger > .burger > .mid{
         content: '';
         display: block;
         position: absolute;
         background: currentColor;
         height: 2px;
         width: 100%;
         transition: all 0.35s ease;
      }
         #site-header .btn-burger > .burger::before{
            top: 2px;
         }
         #site-header .btn-burger > .burger > .mid{
            top: 10px;
         }
         #site-header .btn-burger > .burger::after{
            top: 18px;
         }
            /*#site-header .btn-burger[aria-expanded="true"] > .burger::before,*/
            body.menu-open #site-header .btn-burger > .burger::before{
               transform: rotate(45deg);
               top: 10px;
               transition: all 0.35s ease;
            }
            /*#site-header .btn-burger[aria-expanded="true"] > .burger::after,*/
            body.menu-open #site-header .btn-burger > .burger::after{
               transform: rotate(-45deg);
               top: 10px;
               transition: all 0.35s ease;
            }
            /*#site-header .btn-burger[aria-expanded="true"] > .burger > .mid,*/
            body.menu-open #site-header .btn-burger > .burger > .mid{
               transform: scaleX(0);
               top: 10px;
               transition: all 0.35s ease;
            }

@media (hover: hover){
	body:not(.is-device_android) .site_header.bg-black ul.mainnav li:not(.menu-button) > a:hover{
      color: var(--theme-fluo);
   }
   body:not(.is-device_android) .site_header.bg-white ul.mainnav li:not(.menu-button) > a:hover{
      color: var(--theme-grey-fluo);
   }
}

/*-------- FOOTER + MENU --------------------------------------------------- */

.site_footer{
   padding: var(--sectionpad05x) 0 var(--contentpad2x) 0;
}
.site_footer .container_body{}
   .site_footer .container_body .item_navs{
      grid-column: c0/c6;
      grid-row: 1/2;
      padding-bottom: var(--sectionpad05x);
   }
   .site_footer .container_body .item_form{
      grid-column: c8/c12;
      grid-row: 1/2;
      padding-bottom: var(--sectionpad05x);
   }
   .site_footer .container_body .item_logo{
      grid-column: c0/c6;
      grid-row: 2/3;
      padding-bottom: var(--contentpad2x);
   }
   .site_footer .container_body .item_info{
      grid-column: c0/c12;
      grid-row: 3/4;
      padding-bottom: var(--contentpad2x);
   }
      .site_footer ul.contact-table > li{
         padding: 0 0;
      }
      .site_footer ul.contact-table > li::before{
         display: none;
      }

   .site_footer .container_body .item_copyr{
      grid-column: c0/c6;
      grid-row: 4/5;
      align-self: end;
   }
   .site_footer .container_body .item_siteby{
      grid-column: c6/c12;
      grid-row: 4/5;
      align-self: end;
      text-align: right;
   }
      .site_footer .container_body .item_siteby ul.inline{
         justify-content: end;
      }



ul.footnav{
   display: flex;
   flex-wrap: wrap;
   list-style-type: none;
   padding: 0;
   row-gap: 8px;
}
ul.footnav > li{
   display: block;
   margin: 0;
   padding: 0;
   flex-basis: 100%;
}
ul.footnav > li > a{}

@media (hover: hover){
	body:not(.is-device_android) ul.menu-footernav > li > a:hover{}
}

/*-------- BANNER ---------------------------------------------------------- */
.section{
   position: relative;
   box-sizing: border-box;
   padding: var(--sectionpad) 0;
}
   .section.bg-white + .section.bg-white:not(.fullpad),
   .section.bg-black + .section.bg-black:not(.fullpad){
      padding-top: 0;
   }
   .section.bg-white + .section.bg-white.fullpad,
   .section.bg-black + .section.bg-black.fullpad{
      padding-top: var(--sectionpad);
   }

.section.banner_home{
   padding: 0 0;
}
   .banner_home .container_screen .mobile-only,
   .banner_page .container_body .mobile-only{
      display: none;
   }

/*
   .banner_home .container_screen{
      height: 100vh;
   }
      .banner_home .container_screen .item_media{
         grid-column: screenleft/screenright;
         grid-row: 1/4;
         height: 100%;
      }
      .banner_home .container_screen .item_title{
         grid-column: c0/c6;
         grid-row: 1 / 4;
         align-self: center;
         padding: var(--sectionpad2x) 0;
      }
      .banner_home .container_screen .item_link{
         display: none;
         grid-column: c7/c12;
         grid-row: 3/4;
         text-align: right;
         align-self: end;
         padding: 0 0 var(--sectionpad05x) 0;
      }

   .banner_home .container_intro{
      padding: var(--sectionpad05x) 0;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 2;
      height: 100%;
   }
      .banner_home .container_intro .item_text{
         grid-column: c7/c12;
         align-self: end;
      }

*/
   .banner_home .container_screen{
      /*min-height: 100svh;*/
   }
      .banner_home .container_screen .item_height{
         grid-column: screenleft/edgeleft;
         grid-row: 1/4;
         height: 100svh;
         max-height: 100svh;
      }
      .banner_home .container_screen .item_media{
         grid-column: screenleft/screenright;
         grid-row: 1/6;
         height: 100%;
      }
      .banner_home .container_screen .item_title{
         grid-column: c0/c6;
         grid-row: 1/4;
         align-self: center;
         padding: var(--sectionpad) 0;
      } 
      .banner_home .container_screen .item_link{
         grid-column: c4/c12;
         grid-row: 2/4;
         align-self: end;
         text-align: right;
         padding-bottom: var(--sectionpad05x);
      }
      .banner_home .container_screen .item_intro{
         grid-column: c7/c12;
         grid-row: 5/6;
         align-self: end;
         padding: var(--sectionpad05x) 0 var(--sectionpad) 0;
      }


.section.banner_page{
   padding: var(--sectionpad2x) 0;
}
   .section.banner_page.shortpad{
      padding-bottom: var(--sectionpad);
   }

   .banner_page .container_body{
      padding-top: var(--sectionpad05x);
      grid-template-rows: [r0] auto [r1] var(--size-h3) [r2] auto [r3] auto [r4];
   }
   .banner_page .container_body .item_title{
      grid-column: c0/c12;
      grid-row: r0/r2;
      z-index: 3;
   }
   .banner_page .container_body .item_media{
      grid-column: c0/c12;
      grid-row: r1/r3;
   }
   .banner_page .container_body .item_intro{
      grid-column: c2/c10;
      grid-row: r3/r4;
      padding-top: var(--sectionpad2x);
   }
      .container_body .wrapper-editor{
         margin: 0 var(--colw);
      }

.section.banner_simple{
   padding: var(--sectionpad2x) 0 var(--sectionpad) 0;
}
   .banner_simple .container_body{
      padding-top: var(--sectionpad05x);
   }
   .banner_simple .container_body .item_title{
      grid-column: c2/c10;
   }


/*-------- SECTION BUILDER ------------------------------------------------- */


.section.section_layouts{
   /*padding-top: var(--sectionpad2x);*/
}
   .section_layouts .container_body .item_text{
      grid-column: c2/c10;
   }
      .section_layouts .container_body + .container_layouts{
         padding-top: var(--sectionpad05x);
      }
   .section_layouts .container_layouts{}

.section.section_2col{}
   .section_2col.image_left .container_body .item_media{
      grid-column: c1/c5;
      grid-row: 1/2;
   }
      .section_2col .item_media.fill > .content,
      .section_2col .item_media.fill > .content img{
         height: 100%;
      }

   .section_2col.image_left .container_body .item_rows{
      grid-column: c7/c11;
      grid-row: 1/2;
      align-self: center;
   }
      .section_2col .item_rows .content:not(:last-child){
         margin-bottom: var(--sectionpad05x);
      }


   .section_2col.image_right .container_body .item_media{
      grid-column: c7/c11;
      grid-row: 1/2;
   }
   .section_2col.image_right .container_body .item_rows{
      grid-column: c1/c5;
      grid-row: 1/2;
   }

.section.section_contact{}
   .section_contact .container_body .item_title{
      grid-column: c0/c4;
   }
   .section_contact .container_body .item_text{
      grid-column: c4/c12;
   }

   ul.contact-table{
      list-style-type: none;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      row-gap: var(--contentpad2x);
/*      width: calc( var(--colw) * 4 );*/
      width: 100%;
      position: relative;
   }
   ul.contact-table > li{
      display: block;
      flex-basis: 100%;
      width: 100%;
      padding: 0 0 0 40px;
      margin: 0;
      position: relative;
   }
      ul.contact-table > li p:not([class]){
         margin: 0;
      }
      ul.contact-table > li p.hours-note{
         margin: var(--contentpad2x) 0 0 0;
      }

   ul.contact-table > li.hours{
      display: flex;
      flex-wrap: wrap;
      row-gap: var(--contentpad2x);
      column-gap: var(--contentpad4x);
      align-items: start;
   }
      ul.contact-table > li.hours > .hours-table{
         width: auto;
         max-width: calc( 50% - var(--contentpad4x) );
      }
         ul.contact-table .text-tag{
            margin-top: 2px;
         }
      ul.contact-table > li.hours > p{
         width: 100%;
         margin: 0;
      }

      ul.contact-table > li::before{
         content: '';
         display: block;
         width: 22px;
         height: 22px;
         position: absolute;
         top: 0.1em;
         left: 2px;
         background-color: currentColor;
         mask-size: contain;
         -webkit-mask-size: contain;
         mask-position: center;
         -webkit-mask-position: center;
         mask-repeat: no-repeat;
         -webkit-mask-repeat: no-repeat;
      }
      .bg-black ul.contact-table > li::before{
         background-color: var(--theme-fluo);
      }
      .bg-white ul.contact-table > li::before{
         background-color: var(--theme-grey-fluo);
      }

      ul.contact-table > li.hours::before{
         mask-image: url(../images/icon-contact-hours.svg);
         -webkit-mask-image: url(../images/icon-contact-hours.svg);
      }
      ul.contact-table > li.email::before{
         mask-image: url(../images/icon-contact-email.svg);
         -webkit-mask-image: url(../images/icon-contact-email.svg);
      }
      ul.contact-table > li.phone::before{
         mask-image: url(../images/icon-contact-phone.svg);
         -webkit-mask-image: url(../images/icon-contact-phone.svg);
      }
      ul.contact-table > li.address::before{
         mask-image: url(../images/icon-contact-address.svg);
         -webkit-mask-image: url(../images/icon-contact-address.svg);
      }

      .hours-table{
         list-style-type: none;
         margin: 0;
         padding: 0;
         display: table;
         border-collapse: collapse;
      }
      .hours-table > .hours-row{
         display: table-row;
      }
         .hours-table > .hours-row + .hours-heading{
            padding-top: var(--contentpad2x);
         }

         .hours-table > .hours-row > .day{
            display: table-cell;
            padding-right: var(--contentpad2x);
            white-space: nowrap;
         }
         .hours-table > .hours-row > .time{
            display: table-cell;
         }

.section.section_steps{
   position: relative;
   padding: 0;
}
   .section_steps .container_step{
      position: sticky;
      top: 0;
      /*padding: var(--sectionpad) 0 var(--sectionpad2x) 0;*/
      padding: 0;
   }
      .section_steps .container_step .item_step{
         grid-column: c0/c1;
         grid-row: 1/3;
         align-self: stretch;
         z-index: 3;
         padding: calc( var(--sectionpad) + var(--contentpad2x) ) 0 0 0;
      }
         .section_steps .container_step .item_step > .step{
            display: block;
            width: 16px;
            height: 16px;
            background-color: currentColor;
         }

         .container_step .item_step > .line{
            display: block;
            position: absolute;
            left: 7px;
            width: 2px;
            background-color: currentColor;

            height: calc(100% + var(--sectionpad));
            top: calc(var(--sectionpad) + var(--contentpad2x) + 16px );
         }
            .container_step:not(:last-child) .item_step > .line{}
            
            .section_steps.bg-black .container_step:last-child .item_step > .line{
               background-color: var(--theme-black);
            }
            .section_steps.bg-white .container_step:last-child .item_step > .line{
               background-color: var(--theme-white);
            }

           /* .container_step:first-child .item_step > .line{
               height: calc( 100% + (var(--sectionpad) * 3) );
               top: var(--contentpad2x);
            }
            .container_step:not(:first-child):not(:last-child) .item_step > .line{
               height: calc( 100% + (var(--sectionpad) * 3) );
               top: calc( var(--sectionpad) * -1 );
            }*/


      .section_steps .container_step .item_text{
         grid-column: c1/c5;
         grid-row: 1/2;
         padding: var(--sectionpad) 0 var(--sectionpad2x) 0;
      }
      .section_steps .container_step .item_image{
         grid-column: c6/c12;
         grid-row: 1/2;
         padding: var(--sectionpad) 0 var(--sectionpad) 0;
      }



.section.section_carousel{}
   .section_carousel .container_body .item_head{
      grid-column: c1/c11;
      padding-bottom: var(--sectionpad05x);
   }
   .section_carousel .container_body .item_slider{
      grid-column: screenleft/screenright;
   }
      .section_carousel .carousel-slider .card-slide .logo{
         display: block;
         margin: var(--contentpad2x) auto var(--contentpad) auto;
         height: auto;
         max-height: 30px;
         width: auto;
         max-width: 200px;
      }

   .section_carousel .container_body .item_more{
      padding-top: var(--sectionpad05x);
   }

.section.section_brands{
   padding: var(--sectionpad2x) 0;
}
   /*.section.bg-white + .section.section_brands.bg-white,
   .section.bg-black + .section.section_brands.bg-black{
      padding-top: var(--sectionpad);
   }*/
   .section_brands .container_body .item_head{
      grid-column: c1/c4;
      align-self: center;
   }
   .section_brands .container_body .item_logos{
      grid-column: c6/c12;
      text-align: center;
   }
      .section_brands .container_body .item_logos .logo{
         display: block;
         max-width: 100%;
         margin: 0 auto;
      }
         .section_brands .container_body .item_logos::before,
         .section_brands .container_body .item_logos::after{
            content: '';
            display: block;
            width: 100%;
            height: 25%;
            position: absolute;
            left: 0;
            pointer-events: none;
            user-select: none;
            z-index: 3;
         }
            .section_brands .container_body .item_logos::before{
               top: 0;
            }
            .section_brands .container_body .item_logos::after{
               bottom: 0;
            }
            .section_brands .container_body .flexcontainer_logos{
               padding: var(--contentpad2x) 0;
            } 

            .section_brands.bg-white .container_body .item_logos::before{
               background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.7) 70%, rgba(255, 255, 255, 0) 100%);
            }
            .section_brands.bg-white .container_body .item_logos::after{
               background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 30%, rgba(255, 255, 255, 1) 100%);
            }
            .section_brands.bg-black .container_body .item_logos::before{
               background: linear-gradient(180deg,rgba(26, 24, 24, 1) 0%, rgba(26, 24, 24, 0.7) 30%, rgba(0, 0, 0, 0) 100%);
            }
            .section_brands.bg-black .container_body .item_logos::after{
               background: linear-gradient(180deg,rgba(26, 24, 24, 0) 0%, rgba(26, 24, 24, 0.47) 30%, rgba(26, 24, 24, 1) 100%);
            }

     /* .carousel-wheel.slick-initialized .slick-slide:not(.slick-active){
         opacity: 0.20;
         transition: opacity 0.6s linear;
      }
      .carousel-wheel.slick-initialized .slick-slide.slick-active{
         opacity: 0.70;
         transition: opacity 0.6s linear;
      }
      .carousel-wheel.slick-initialized .slick-slide.slick-current{
         opacity: 1.0;
         transition: opacity 0.6s linear;
      }*/

.section.section_packages{}
   .section_packages .container_body .item_head{
      grid-column: c2/c10;
      padding-bottom: var(--sectionpad05x);
   }
   .section_packages .container_body .item_cards{
      /*grid-column: screenleft/screenright;*/
   }
      .card-item .flexcontainer_package{
         row-gap: var(--contentpad2x);
      }
      .card-item .package-name{}
      .card-item .package-name > span{
         display: block;
         margin: 0;
         width: 100%;
      }
      .card-item .package-price{
         margin: var(--contentpad2x) 0;
         row-gap: var(--contentpad);
         column-gap: var(--contentpad4x);
      }
         .card-item .package-price .flexitem_price{
            display: block;
            width: auto;
            position: relative;
            flex-shrink: 1;
            flex-grow: 0;
         }
         .card-item .package-price .flexitem_price:not(:last-child)::after{
            content: '';
            display: block;
            position: absolute;
            top: 0;
            right: calc( var(--contentpad2x) * -1 );
            width: 1px;
            height: 100%;
            background-color: currentColor;
         }

      .card-item ul:not([class]){
         display: flex;
         flex-wrap: wrap;
         row-gap: 12px;
         list-style-type: none;
         margin: var(--contentpad3x) 0 var(--contentpad) 0;
         padding: 0;
         line-height: 20px;
         position: relative;
      }
      .card-item ul:not([class]) > li{
         display: block;
         width: 100%;
         flex-basis: 100%;
         padding-left: 40px;
         position: relative;
      }
         .card-item ul:not([class]) > li::before{
            content: '';
            display: block;
            width: 16px;
            height: 16px;
            position: absolute;
            top: 2px;
            left: 2px;
            background-color: currentColor;
            mask-image: url(../images/icon-check.svg);
            -webkit-mask-image: url(../images/icon-check.svg);
            mask-size: contain;
            -webkit-mask-size: contain;
            mask-position: center;
            -webkit-mask-position: center;
            mask-repeat: no-repeat;
            -webkit-mask-repeat: no-repeat;
         }

      .section_packages .packages-slider{}
         .packages-slider:not(.slick-initialized) .card-package,
         .carousel-slider:not(.slick-initialized) .card-slide{
            width: calc( var(--colw) * 4 );
         }
         .packages-slider.slick-initialized .card-package,
         .carousel-slider.slick-initialized .card-slide{
            width: calc( var(--colw) * 4 )!important;
         }

      .section_packages .container_body .item_cards.centered{
         grid-column: c0/c12;
      }
      .packages-inline{
         display: flex;
         flex-wrap: wrap;
         align-items: stretch;
         justify-content: center;
         align-content: stretch;
      }
      .packages-inline .card-package{
         width: 33.33%;
         flex-basis: 33.33%;
      }


      /*
      .section_packages .packages-slider.slick-initialized .slick-slide.slick-current .card-package{
         width: calc( var(--colw) * 4 )!important;
         transition: all 0.35s ease;
      }
      .section_packages .packages-slider.slick-initialized .slick-slide:not(.slick-current) .card-package{
         width: calc( var(--colw) * 3 )!important;
         transition: all 0.35s ease;
      }
      */
      .section_packages .packages-slider.slick-initialized .slick-slide.slick-current .card-package .bg-grey{
         background-color: var(--theme-fluo);
         color: var(--theme-black);
         fill: var(--theme-black);
         transition: background 0.35s ease;
      }
      .section_packages .packages-slider.slick-initialized .slick-slide.slick-current .card-package .btn-solid{
         border-color: var(--theme-black);
         background-color: var(--theme-black);
         color: var(--theme-fluo);
         fill: var(--theme-fluo);
      }
      /*.section_packages .packages-slider.slick-initialized .slick-slide:not(.slick-active) .flexcontainer_package{
         opacity: 0;
         transition: none;
      }*/

   .section_packages .container_body .item_nav{
      grid-column: c4/c8;
      padding: var(--sectionpad05x) var(--contentpad2x) 0 var(--contentpad2x);
   }
   .section_packages .arrow{
      display: block;
      position: absolute;
      top: 0;
      width: 25%;
      height: 100%;
   }
   .section_packages .arrow.prev{
      left: 0;
   }
   .section_packages .arrow.next{
      right: 0;
   }

   ul.slick-dots{
      display: flex;
      flex-wrap: nowrap;
      row-gap: 0;
      margin: 0;
      padding: 0;
      list-style-type: none;
      align-items: center;
      justify-content: stretch;
      position: relative;
      line-height: 0px;
      height: 4px;
   }

   ul.slick-dots li{
      position: relative;
      display: block;
      flex: 1;
      margin-top: 0;
   }
   ul.slick-dots li.slick-active{}
      ul.slick-dots li button{
         display: block;
         appearance: none;
         -webkit-appearance: none;
         border: 0;
         height: 4px;
         width: 100%;
         overflow: hidden;
         padding: 0;
         margin: 0;
         text-indent: 100%;
         line-height: 0px;
         background-color: transparent;
      }
/*      ul.slick-dots li:not(.slick-active) button{
         width: 0px;
         transition: none;
      }
      ul.slick-dots li.slick-active button{
         width: 100%;
         transition: width 0.35s ease;
      }
*/
      ul.slick-dots li.slick-active button,
      ul.slick-dots li:has(~ .slick-active) button{
         width: 100%;
         background-color: var(--theme-fluo);
      }



.section.section_bookings{}
   .section_bookings .container_body .item_head{
      grid-column: c0/c3;
      align-self: center;
   }
   .section_bookings .container_body .item_cards{
      grid-column: c3/c12;
   }

.section.section_cta_banner{}
   .section_cta_banner .container_body .item_image{
      grid-column: c0/c12;
      grid-row: 1/4;
   }
   /*
      .section_cta_banner .container_body .item_imag::after{
         content: '';
         display: block;
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         pointer-events: none;
         user-select: none;
         -webkit-user-select: none;
         background-color: rgba(0,0,0,0.1);
         mix-blend-mode: multiply;
      }
   */

   .section_cta_banner .container_body .item_text{
      grid-column: c0/c5;
      grid-row: 3/4;
      align-self: end;
      padding: var(--contentpad3x);
   }


.section.section_cta_cards{
   padding: 0;
}
   .section_cta_cards .container_body{
      grid-template-rows: [top] var(--sectionpad) [r1] auto [r2] auto [r3] auto [r4] var(--sectionpad) [btm];
   }
   .section_cta_cards .container_body .item_image{
      grid-column: screenleft/screenright;
      grid-row: top/btm;
   }
      .section_cta_cards .container_body .item_image img{
         position: absolute;
         top: 0;
         left: 0;
      }
      .section_cta_cards .container_body .item_image::after{
         content: '';
         display: block;
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         pointer-events: none;
         user-select: none;
         -webkit-user-select: none;
         background-color: rgba(0,0,0,0.1);
         mix-blend-mode: multiply;
      }

   .section_cta_cards .container_body .item_text{
      grid-column: c3/c9;
      grid-row: r1/r2;
      padding-bottom: var(--sectionpad05x);
   }
   .section_cta_cards .container_body .item_cards{
      grid-column: c0/c12;
      grid-row: r2/r4;
      height: fit-content;
   }
      .item_cards .flexcontainer_box,
      .lay_cardhover .hoverable .on-hover .flexcontainer_inner{
         row-gap: var(--sectionpad2x);
      }
        .item_cards .flexcontainer_box .box-num{}
         .item_cards .flexcontainer_box .wrapper-text{
            padding-right: 25%;
         }
      .item_cards .content.cards-more{
         text-align: center;
         margin: 0 var(--colw);
         padding-top: var(--sectionpad05x);
      }


.section.section_cta{}
   .section_cta .container_body .item_title{
      grid-column: c2/c10;
   }
   .section_cta .container_body .item_text{
      grid-column: c4/c8;
   }
      .section_cta .container_body .item_title + .item_text{
         padding-top: var(--sectionpad05x);
      }



.section.section_cards{}
   .section_cards .container_body{
      padding-bottom: var(--sectionpad05x);
   }
   .section_cards .container_body .item_text{
      grid-column: c2/c10;
   }
   .section_cards .container_cards{}
   .section_cards .container_cards .item_cards{}

      .section_cards .item_cards .flexcontainer_box .flexitem_top{
         min-height: 64px;
      }
         .section_cards .item_cards .flexcontainer_box .flexitem_top .label{
            line-height: 64px;
         }
         .section_cards .item_cards .flexcontainer_box .flexitem_top .icon{
            width: 64px;
            height: 64px;
         }
      .section_cards .item_cards .flexcontainer_box .flexitem_bottom{} 


.section.section_cards_stack{}
   .section_cards_stack .container_body .item_head{
      grid-column: c0/c4;
   }
   .section_cards_stack .container_body .item_cards{
      grid-column: c5/c12;
   }
      .section_cards_stack .stack-container{
         position: relative;
      }
      .section_cards_stack .stack-container > .stack-item{
         position: sticky;
         top: var(--contentpad2x);
      }

.section.section_marquee{
   padding: var(--sectionpad05x) 0!important;
   overflow: hidden;
}
   .section_marquee .container_body{}
   .section_marquee .container_body .item_marquee{
      grid-column: screenleft/screenright;
      align-self: center;
      text-align: center;
      white-space: nowrap;
      height: calc(var(--size-h1) * 0.9);
   }
      .section_marquee .container_body .item_marquee > .marqee-inner{
         display: block;
         width: auto;
         width: 200%; /*need set width for consistent speed*/
         height: inherit;
         overflow: hidden;
         position: absolute;
         white-space: nowrap;
         word-break: keep-all;
         animation: rollingmarquee 14s linear infinite;
      }
      .section_marquee .container_body .item_marquee > .marqee-inner > *{
         white-space: nowrap;
         box-sizing: border-box;
         display: inline-block;
         vertical-align: middle;
         margin: 0 0;
         width: auto;
      }  
      @keyframes rollingmarquee{
         0% { transform: translate3d(0, 0, 0); }
         100% { transform: translate3d(-50%, 0, 0); }
      }




/*-------- LAYOUT BUILDER ------------------------------------------------- */

.layout{}
.layout + .layout{}

.layout .flexcontainer_cards{
   row-gap: var(--contentpad2x);
}


.layout.lay_text{
   grid-column: c2/c10;
   text-align: center;
   padding: var(--contentpad2x) 0;
}
   .layout.lay_text.colw_4{
      grid-column: c4/c8;
   }
   .layout.lay_text.colw_6{
      grid-column: c3/c9;
   }
   .layout.lay_text.colw_8{}
   .layout.lay_text.colw_12{
      grid-column: c0/c12;
   }


.layout.lay_faq{
   grid-column: c2/c10;
}
   .lay_faq .accordion{
      padding: var(--contentpad2x) 0;
   }
   .lay_faq .accordion:not(:last-child){
      border-bottom: 1px solid;
/*      margin-bottom: var(--contentpad);*/
   }
         .accordion button.acc-head{
            appearance: none;
            -webkit-appearance: none;
            color: inherit;
            fill: inherit;
            background-color: transparent;
            border: 0;
            border-radius: 0;
            text-align: left;
            margin: 0;
         }
         .accordion button.acc-head .acc-title{}
         .accordion button.acc-head .acc-icon{
            display: block;
            margin: 0;
            padding: 0;
            width: 1em;
            height: 1em;
            transform-origin: center;
            position: relative;
         }
         .accordion button.acc-head .acc-icon::before,
         .accordion button.acc-head .acc-icon::after{
            content: '';
            position: absolute;
            top: 0.5em;
            left: 0.2em;
            width: 0.6em;
            height: 1px;
            background-color: currentColor;
         }
         .accordion:not(.open) button.acc-head .acc-icon::after{
            transform: rotate(90deg);
            transition: transform 0.35s ease;
         }
         .accordion.open button.acc-head .acc-icon::after{
            transform: rotate(0deg);
            transition: transform 0.35s ease;
         }

   .lay_faq .accordion .acc-body{}
   .lay_faq .accordion .acc-body .wrapper-text{
      padding: var(--contentpad) 25% var(--contentpad) 0;
   }


.layout.lay_cardimg{}
   .lay_cardimg .flexitem_card .card-image{
      aspect-ratio: 6/5;
   }

.layout.lay_cardbox{}
   .lay_cardbox .flexitem_card .wrapper-image{
      position: relative;
      aspect-ratio: 9/5;
   }
      .lay_cardbox .flexitem_card .wrapper-image img{
         aspect-ratio: inherit;
      }
   .lay_cardbox .flexitem_card .card-tag{
      position: absolute;
      z-index: 3;
      top: var(--contentpad2x);
      left: var(--contentpad2x);
   }
   .lay_cardbox .flexitem_card .card-image{}
   .lay_cardbox .flexitem_card .box{
      padding-right: var(--colw2x);
   }


.layout.lay_cardhover{}
   .lay_cardhover .hoverable{
      display: block;
      position: relative;
   }
   .lay_cardhover .hoverable .off-hover{}
      .lay_cardhover .hoverable .off-hover img{
         aspect-ratio: 4 / 5;
      }
   .lay_cardhover .hoverable .on-hover{
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
   }

@media( hover: hover ){

   body:not(.is-device_android) .lay_cardhover .hoverable:not(:hover) .on-hover{
      opacity: 0;
      transition: opacity 0.35s ease;
   }
   body:not(.is-device_android) .lay_cardhover .hoverable:hover .on-hover{
      opacity: 1;
      transition: opacity 0.35s ease;
   }

   body:not(.is-device_android) .section_cards .card-item a.box:hover{
      color: var(--theme-black);
      fill: var(--theme-black);
      background-color: var(--theme-fluo);
      border-color: var(--theme-fluo);
   }

}


/*-------- FORMS  / GFORM -------------------------------------------------- */


body.p59-theme form ::placeholder{
   color: inherit;
   opacity: 0.7;
}

body.p59-theme .gform_wrapper.gravity-theme:not(.newsletter_wrapper) .gform_fields{
   grid-column-gap: var(--contentpad2x);
   grid-row-gap: var(--contentpad);
   align-items: end;
}
body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gform_fields{
   grid-column-gap: 8px;
   grid-row-gap: 8px;
   align-items: end;
}
   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gform_validation_errors,
   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gfield_validation_message{
      display: none;
   }
   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gfield.gfield_error,
   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gfield.gfield_error ::placeholder{
      color: var(--theme-error);
   }

   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gform_fields input[type=email]{}
   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gform_fields button[type=submit]{}
      

body.p59-theme form:not([id*=gform]) input[type=text],
body.p59-theme form:not([id*=gform]) input[type=password],
body.p59-theme form:not([id*=gform]) input[type=search],
body.p59-theme form:not([id*=gform]) select,
body.p59-theme .gform_wrapper.gravity-theme input[type=color], 
body.p59-theme .gform_wrapper.gravity-theme input[type=date], 
body.p59-theme .gform_wrapper.gravity-theme input[type=datetime-local], 
body.p59-theme .gform_wrapper.gravity-theme input[type=datetime], 
body.p59-theme .gform_wrapper.gravity-theme input[type=email], 
body.p59-theme .gform_wrapper.gravity-theme input[type=month], 
body.p59-theme .gform_wrapper.gravity-theme input[type=number], 
body.p59-theme .gform_wrapper.gravity-theme input[type=password], 
body.p59-theme .gform_wrapper.gravity-theme input[type=search], 
body.p59-theme .gform_wrapper.gravity-theme input[type=tel], 
body.p59-theme .gform_wrapper.gravity-theme input[type=text], 
body.p59-theme .gform_wrapper.gravity-theme input[type=time], 
body.p59-theme .gform_wrapper.gravity-theme input[type=url], 
body.p59-theme .gform_wrapper.gravity-theme input[type=week], 
body.p59-theme .gform_wrapper.gravity-theme select, 
body.p59-theme .gform_wrapper.gravity-theme textarea{
   font-family: var(--fontfam-text);
   font-size: var(--size-p);
   font-weight: 400;
   display: block;
   width: 100%;
   color: inherit;
   fill: inherit;
   background-color: transparent;
   border: 1px solid;
   border-radius: 0;
   line-height: 20px;
   padding: 10px 16px;
   height: 42px;
   text-decoration: none;
   position: relative;
   box-sizing: border-box;
}

   body.p59-theme form:not([id*=gform]) select,
   body.p59-theme .gform_wrapper.gravity-theme select{
      height: 42px;
   }
      body.p59-theme select{
         appearance: none;
         -webkit-appearance: none;
         padding-right: 40px;
         background-image: url('../images/icon-arrow-select.svg');
         background-repeat: no-repeat;
         background-position: center right 16px;
         background-size: 12px 12px;
      }
      body.p59-theme .bg-black select{
         background-image: url('../images/icon-arrow-select_white.svg');
      }

   body.p59-theme .gform_wrapper.gravity-theme textarea.small{
      height: calc( 20px * 4 );/* 3 row */
   }
   body.p59-theme .gform_wrapper.gravity-theme textarea.medium{
      height: calc( 20px * 7 );/* 6 row */
   }
   body.p59-theme .gform_wrapper.gravity-theme textarea.large{
      height: calc( 20px * 10 );/* 9 row */
   }

   body.p59-theme .gform_wrapper.gravity-theme input[type=checkbox],
   body.p59-theme .gform_wrapper.gravity-theme input[type=radio]{
      display: inline-block;
      vertical-align: baseline;
      width: 12px;
      height: 12px;
      color: inherit;
      fill: inherit;
      border: 1px solid currentColor;
      margin: 0px 12px 0px 0;
   }
   body.p59-theme .gform_wrapper.gravity-theme input[type=radio]{
      border-radius: 50%;
   }
      body.p59-theme .gform_wrapper.gravity-theme input[type=checkbox] + label,
      body.p59-theme .gform_wrapper.gravity-theme input[type=radio] + label{
         color: inherit;
      }
      body.p59-theme .gform_wrapper.gravity-theme input[type=checkbox]:checked,
      body.p59-theme .gform_wrapper.gravity-theme input[type=radio]:checked{
         background-color: currentColor;
      }


body.p59-theme .gform_wrapper.gravity-theme .gfield_label,
body.p59-theme .gform_wrapper.gravity-theme legend{
   display: block;
   font-size: var(--size-tag);
   font-family: var(--fontfam-tag);
   letter-spacing: var(--lettersp-tag);
   font-weight: 500;
   text-transform: uppercase;
   line-height: 1.5;
}
   body.p59-theme .gform_wrapper.gravity-theme .gfield_error .gfield_label,
   body.p59-theme .gform_wrapper.gravity-theme .gfield_error legend{
      color: inherit;
   }
   body.p59-theme .gform_wrapper.gravity-theme .gfield_required_asterisk{
      color: inherit;
   }
   body.p59-theme .gform_wrapper.gravity-theme .gfield_label .gfield_required{
      color: inherit;
   }
   body.p59-theme .gform_wrapper.gravity-theme .gfield_error .gfield_required{}


body.p59-theme .gform_wrapper.gravity-theme .gform_footer, 
body.p59-theme .gform_wrapper.gravity-theme .gform_page_footer{
   margin: 0;
   padding: var(--sectionpad05x) 0 0 0;
}

body.p59-theme .gform_wrapper.gravity-theme .ginput_complex{
   display: flex;
   flex-wrap: wrap;
   column-gap: var(--contentpad2x);
   row-gap: var(--contentpad);
}
body.p59-theme .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full), 
body.p59-theme .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full),
body.p59-theme .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full), 
body.p59-theme .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full){
   padding-right: 0;
   padding-left: 0;
}

body.p59-theme .gform_wrapper.gravity-theme:not(.newsletter_wrapper) .gfield_description,
body.p59-theme .gform_wrapper.gravity-theme:not(.newsletter_wrapper) .gfield_validation_message,
body.p59-theme .gform_wrapper.gravity-theme:not(.newsletter_wrapper) .validation_message{
  border: 0;
  margin: 4px 0;
  padding: 0;
  font-size: 12px;
  background: transparent;
}
   body.p59-theme .gform_wrapper.gravity-theme:not(.newsletter_wrapper) .gfield_validation_message,
   body.p59-theme .gform_wrapper.gravity-theme:not(.newsletter_wrapper) .validation_message{
      color: var(--theme-error);
   }


body.p59-theme .gform_wrapper.gravity-theme:not(.newsletter_wrapper) .gfield_error [aria-invalid=true]{
   border-color: var(--theme-error);
}

body.p59-theme .gform_wrapper #field_submit{
   position: relative;
}
body.p59-theme .gform_wrapper span.gform-loader,
body.p59-theme .gform_wrapper #field_submit > span.gform-loader{
   position: absolute;
   bottom: 12px;
   right: 8px;
}

body.p59-theme .gform_wrapper.gravity-theme .gform_validation_errors{
   display: none;
}
   body.p59-theme .gform_wrapper.gravity-theme .gform_validation_errors > h2{}
   body.p59-theme .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon{}

   body.p59-theme .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, 
   body.p59-theme .gform_wrapper.gravity-theme .gfield_error label, 
   body.p59-theme .gform_wrapper.gravity-theme .gfield_error legend, 
   body.p59-theme .gform_wrapper.gravity-theme .gfield_validation_message, 
   body.p59-theme .gform_wrapper.gravity-theme .validation_message, 
   body.p59-theme .gform_wrapper.gravity-theme [aria-invalid=true]+label, 
   body.p59-theme .gform_wrapper.gravity-theme label+[aria-invalid=true]{
      color: var(--theme-error);
   }



/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*-------------------------------------------------------- RESPONSIVE STYLES */
/*---------------------------------------------------------------------------*/
/*
COMMON SCREEN SIZES, AUS (Jan 2024) https://gs.statcounter.com/screen-resolution-stats
Desktop 54% vs Mobile 42% vs Tablet 4%. 
Desktop:
1. 1920x1080	~30.36%
2. 1536x864		~7.82%
3. 1440x900		~7.62%
4. 1280x720		~6.42%
5. 1366x768		~5.92%
6. 2560x1440	~4.01%
Tablet:
1. 768x1024		~37.06%
2. 810x1080		~13.12%
3. 820x1180		~8.07%
4. 1024x1366	~6.15%
5. 834x1194		~5.93%
6. 744x1133		~3.87%
>> iPad Pro 12′9″ 1366x1024 << note that ipad can use desktop CSS
Mobile: 
1. 390x844		~15.64%
2. 414x896		~9.97%
3. 375x812		~7.44%
4. 428x926		~6.62%
5. 430x932		~5.99%
6. 393x852		~5.32%
7. 360x800		~4.66%

Note: 
- Cap grid width at 1920px or 1440px
- Google defines 12px as the MINIMUM font size for mobile
- Google defines 10~8px as the MINIMUM space betwen clickable elements
- Google recommends ~46px as the best size for mobile clickable element
- Font size smaller than 16px on form input for mobile triggers auto-zoom on click
*/


/* Desktop/Laptop */
@media only screen and (max-width : 1366px) {
	:root{
		--gridgutter: 50px;
	}
}

@media only screen and (max-width : 1280px) {
	:root{
		--gridgutter: 20px;
      --size-h1: 130px;
      --size-h2: 90px;
      --sectionpad05x: 30px;
      --sectionpad: 70px;
      --sectionpad2x: 140px;
	}
   /* banner */
   .banner_page .container_body{
      padding-top: 0;
   }

   /* sections */
   .section_2col.image_left .container_body .item_media{
      grid-column: c0 / c5;
   }
   .section_2col.image_left .container_body .item_rows{
      grid-column: c6 / c12;
   }
   .section_2col.image_right .container_body .item_media{
      grid-column: c7 / c12;
   }
   .section_2col.image_right .container_body .item_rows{
      grid-column: c0 / c6;
   }

   .section_cta_cards .container_body .item_text{
      grid-column: c2 / c10;
   }

   /* layouts */
   .layout.lay_faq,
   .layout.lay_text{
      grid-column: c1 / c11;
   }
      .layout.lay_text.colw_4{
         grid-column: c3 / c9;
      }
      .layout.lay_text.colw_6{
         grid-column: c2 / c10;
      }

   .item_cards .flexcontainer_box .wrapper-text{
      padding-right: 40px;
   }
   .lay_cardbox .flexitem_card .box{
      padding-right: 40px;
   }

  ul.contact-table{}
  ul.contact-table > li.hours > .hours-table{
      max-width: 100%;
  }


   /* footer */
   .site_footer .container_body .item_form{
      grid-column: c7/c12;
   }

}

/* Tablet/iPad - fully switch to responsive between @980 ~ @1180 */
@media only screen and (max-width : 980px) {
	/* globals */
	:root{
		--gridgutter: 10px;
	}
	/* grid & flex */
	.flex-container:not(.flex-nowrap){ flex-wrap: wrap; }
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-75,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-50,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-25,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-66,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-33{ flex-basis: 100%; width: 100%; }
	
   /* header / menu */
   .site_header .logo{
      height: 42px;
      width: auto;
   }

   .site_header .flexcontainer_bar{
      justify-content: space-between;
      align-items: start;
   }
      .site_header .flexcontainer_bar .desktop-only{
         display: none;
      }
      .site_header .flexcontainer_bar .mobile-only{
         display: block;
      }


   /* banner */
   .banner_home .container_screen .mobile-only,
   .banner_page .container_body .mobile-only{
      display: block;
   }
   .banner_home .container_screen .desktop-only,
   .banner_page .container_body .desktop-only{
      display: none;
   }

   .banner_page .container_body{}
   .banner_page .container_body .item_intro{
      grid-column: c0 / c12;
      padding-top: var(--sectionpad);
   }

   .banner_home .container_screen .item_media{
      grid-row: 1/4;
   }
   .banner_home .container_screen .item_title{
      grid-column: c0 / c10;
      align-self: end;
   }
   .banner_home .container_screen .item_intro{
      grid-column: c0 / c10;
      padding-top: var(--sectionpad);
   }

   /* sections */
   .section_contact .container_body .item_title{
      grid-column: c0 / c12;
      grid-row: auto;
      padding-bottom: var(--sectionpad05x);
   }
   .section_contact .container_body .item_text{
      grid-column: c0 / c12;
      grid-row: auto;
   }

   .section_2col.image_left .container_body .item_media,
   .section_2col.image_left .container_body .item_rows,
   .section_2col.image_left .container_body .item_media,
   .section_2col.image_left .container_body .item_rows{
      grid-column: c0 / c12;
      grid-row: auto;
      aspect-ratio: auto;
   }
      .section_2col .container_body .item_media img{
         /*aspect-ratio: 6 / 5;
         object-position: top center;*/
/*         aspect-ratio: auto;*/
      }


   .section_cards .container_body .item_text{
      grid-column: c0 / c12;
   }  

   .section_steps .container_step .item_text{
      grid-column: c1 / c6;
   }

   .section_layouts .container_body .item_text{
      grid-column: c0 / c12;
   }

   .section_bookings .container_body .item_head{
      grid-column: c0 / c12;
      padding-bottom: var(--sectionpad05x);
   }
   .section_bookings .container_body .item_cards{
      grid-column: c0 / c12;
   }

   .section_cards_stack .container_body .item_head{
      grid-column: c0 / c12;
      padding-bottom: var(--sectionpad05x);
   }
   .section_cards_stack .container_body .item_cards{
      grid-column: c0 / c12;
   }

   .section_packages .container_body .item_head{
      grid-column: c0 / c12;
   }
   .section_packages .container_body .item_cards{
      grid-column: c0 / screenright;
   }
      .packages-slider.slick-initialized .card-package,
      .carousel-slider.slick-initialized .card-slide{
         width: calc(var(--colw) * 6) !important;
      }
      .section_packages .arrow.prev,
      .section_packages .arrow.next{
         display: none;
         pointer-events: none;
         user-select: none;
         -webkit-user-select: none;
      }
      .packages-inline .card-package{
         width: 50%;
         flex-basis: 50%;
      }


   .section_packages .container_body .item_nav{
      grid-column: c2 / c10;
   }

   .section_carousel .container_body .item_head{
      grid-column: c0 / c12;
   }

   .section_brands .container_body .item_head{
      grid-column: c0 / c5;
   }


   .section_cta_banner .container_body{
      min-height: 50vh;
   }
   .section_cta_banner .container_body .item_text{
      grid-column: c0 / c10;
      padding-top: var(--sectionpad2x);
      padding: var(--contentpad);
   }

   .section_cta .container_body .item_title{
      grid-column: c0 / c12;
   }
   .section_cta .container_body .item_text{
      grid-column: c1 / c11;
   }

   .section_cta_cards .container_body .item_text{
      grid-column: c0 / c12;
   }

   /* layouts */
   .item_cards .flexcontainer_box,
   .lay_cardhover .hoverable .on-hover .flexcontainer_inner{
/*      row-gap: var(--sectionpad);*/
   }

   .layout.lay_faq,
   .layout.lay_text{
      grid-column: c0 / c12;
   }
      .layout.lay_text.colw_4{
         grid-column: c2 / c10;
      }
      .layout.lay_text.colw_6{
         grid-column: c1 / c11;
      }

   .lay_cardhover .hoverable .off-hover img{
      aspect-ratio: 4 / 3;
      opacity: 0.6;
      object-position: top center;
   }

	/* footer */
   .site_footer .container_body .item_navs,
   .site_footer .container_body .item_form,
   .site_footer .container_body .item_logo,
   .site_footer .container_body .item_info,
   .site_footer .container_body .item_copyr,
   .site_footer .container_body .item_siteby{
      grid-column: c0 / c12;
      grid-row: auto;
   }
      .site_footer .container_body .item_siteby{
         text-align: left;
         align-self: unset;
      }
      .site_footer .container_body .item_siteby .content{
         padding-top: 0;
      }
      .site_footer .container_body .item_siteby ul.inline{
         justify-content: start;
      }

   .site_footer .container_body .item_navs .flexcontainer_navs{}
   .site_footer .container_body .item_navs .flexcontainer_navs .flexitem_nav{
      flex-basis: 50%;
      width: 50%;
   }

}

/* Mobile */
@media only screen and (max-width : 640px) {
   :root{
      --size-h1: 60px; /* 60px, rem | 3xl */
      --size-h2: 40px; /* 40px, rem | 2xl */
      --size-h3: 34px; /* 34px, rem | xl */
      --size-h4: 28px; /* 28px, rem | lg */
      --size-h5: 24px; /* 24px, rem | md */
      --size-h6: 18px; /* 18px, rem | sm */
      --sectionpad05x: 20px;
     /* --sectionpad: 70px;
      --sectionpad2x: 140px;*/
      --sectionpad: 60px;
      --sectionpad2x: 100px;
   }

   h2.short{
      font-size: var(--size-h1);
   }
   h2.h2, h2.h3{
      font-size: var(--size-h2);
   }
   h2.h4, h3.h4{
      font-size: var(--size-h3);
   }
   .card-listing .flexcontainer_box .h2{ font-size: var(--size-h1); }
   .card-listing .flexcontainer_box .h4{ font-size: var(--size-h2); }


/*   .section_steps .container_step .item_text .h4,
   .section_contact .container_body .item_title .h4,
   .lay_cardhover .hoverable .on-hover .h4,
   .section_cards .card-listing .h4{
      font-size: var(--size-h3);
   }*/

   /* header & menu */
   .site_header{
      padding: var(--gridgutter) 0 0 0;
   }
   .site_header .container_body .item_navbar > .content{
      width: 100%;
      max-width: 100%;
   }

   /* banner */
   /*
   .banner_home .container_screen{
      grid-template-rows: auto auto 60px;
   }
      .banner_home .container_screen .item_title{
         grid-column: c0 / c12;
         grid-row: 2 / 3;
         align-self: end;
         padding-bottom: var(--sectionpad);
      }
      .banner_home .container_screen .item_link{
         display: block;
         grid-column: c0 / c12;
      }
   .banner_home .container_intro{
      position: relative;
      padding-top: var(--sectionpad)
   }
      .banner_home .container_intro .item_text{
         grid-column: c0 / c12;
      }
   */
   .banner_home .container_screen .item_title,
   .banner_home .container_screen .item_link,
   .banner_home .container_screen .item_intro{
      grid-column: c0 / c12;
   }


   .section.banner_page{
      padding-bottom: var(--sectionpad);
   }
      .banner_page .container_body .item_media{
         padding: 0 var(--contentpad);
         aspect-ratio: 2 / 3;
      }
      .banner_page .container_body .item_media img{}

   /* sections */
   .packages-slider.slick-initialized .card-package{
      width: calc(var(--colw) * 12) !important;
   }
   .carousel-slider.slick-initialized .card-slide{
      width: calc(var(--colw) * 12) !important;
   }
   .packages-inline .card-package{
      width: 100%;
      flex-basis: 100%;
   }

   .section_cta .container_body .item_text{
      grid-column: c0 / c12;
   }

   .section_packages .container_body .item_nav{
      grid-column: c1 / c11;
      padding: var(--sectionpad05x) 0 0 0;
   }
   ul.slick-dots{}


   .section_steps{}
   .section_steps .container_step{
      padding-top: var(--sectionpad05x);
   }
      .section_steps .container_step .item_step{
         padding: calc( var(--sectionpad05x) + var(--contentpad) ) 0 0 0;
      }
         .container_step .item_step > .line{
            top: calc(var(--sectionpad05x) + var(--contentpad) + 16px );
         }
      .section_steps .container_step .item_text{
         grid-column: c1 / c12;
         grid-row: 1/2;
         padding: var(--sectionpad05x) 0 var(--sectionpad05x) 0;
      }

      .section_steps .container_step .item_image{
         grid-column: c1 / c12;
         grid-row: 2/3;
         padding: 0 0 var(--sectionpad05x) 0;
      }

   .section_brands .container_body .item_head{
      grid-column: c0 / c12;
   }
   .section_brands .container_body .item_logos{
      grid-column: c0 / c12;
   }
      .section_brands .container_body .item_head + .item_logos{
         margin-top: var(--sectionpad);
      }

   .section_packages .package-price .h2, .section_packages .package-price .h3,
   .section_bookings .package-price .h2, .section_bookings .package-price .h3{
      font-size: var(--size-h1);
   }

   .section.section_cta{
      padding: var(--sectionpad2x) 0;
   }
   .section_cta p.readmores a{
      width: 100%;
   }

   .section_cta_banner .container_body .item_image{
      grid-row: 1 / 2;
   }
      .section_cta_banner .container_body .item_image img{
         aspect-ratio: 6 / 5;
      }
   .section_cta_banner .container_body .item_text{
      grid-column: c0 / c12;
      padding: 0;
   }
   .section_cta_banner .container_body .item_text .box{
      padding: 0;
   }


   /* layouts */
   .item_cards p.readmores > a{
      /*width: 100%;*/
   }

   .layout .flexcontainer_cards{
      /*row-gap: 0;*/
   }

   .layout.lay_text.colw_4,
   .layout.lay_text.colw_6{
      grid-column: c0 / c12;
   }

   .item_cards .flexcontainer_box .wrapper-text{
      padding-right: 20px;
   }

   .container_body .wrapper-editor{
      margin: 0;
   }

   .lay_cardhover .hoverable .off-hover,
   .lay_cardhover .hoverable .off-hover img{
/*      display: none;*/
      display: block;
      opacity: 1;
      aspect-ratio: 3/4;
   }
   /*
   .lay_cardhover .hoverable .on-hover::before{
      content: attr(data-tag);
      display: inline-block;
      vertical-align: top;
      position: relative;
      font-size: var(--size-tag);
      font-weight: 500;
      line-height: 1.0;
      white-space: nowrap;
      border: 1px solid;
      border-radius: 20px;
      padding: 4px 8px;
      margin: 0 0 8px 0;
      text-transform: uppercase;
   }
   */
   .lay_cardhover .hoverable .on-hover{
      position: relative;
      padding: var(--contentpad2x) 0 0 0;
      background-color: transparent;
      overflow: hidden;
   }
      .section_layouts.bg-black .lay_cardhover .hoverable .on-hover{
         color: var(--theme-white);
         fill: var(--theme-white);
      }
      .section_layouts.bg-white .lay_cardhover .hoverable .on-hover{
         color: var(--theme-black);
         fill: var(--theme-black);
      }

   .lay_cardhover .hoverable .on-hover > .flexcontainer_inner{
      display: none;
   }
   .lay_cardhover .hoverable .on-hover::before{
      content: attr(data-tag);
      display: block;
      position: relative;
      font-size: var(--size-h3);
      font-family: var(--fontfam-heading);
      letter-spacing: var(--lettersp-heading);
      line-height: 1.0;
      font-weight: 400;
      text-transform: uppercase;
      width: calc( 100% - 52px );
      line-height: 32px;
      float: left;
   }
   .lay_cardhover a.hoverable .on-hover::after{
      content: '';
      display: block;
      width: 26px;
      height: 32px;
      color: inherit;
      background-color: currentColor;
      mask-image: url(../images/icon-link-arrow.svg);
      -webkit-mask-image: url(../images/icon-link-arrow.svg);
      mask-size: contain;
      -webkit-mask-size: contain;
      mask-position: left center;
      -webkit-mask-position: left center;
      mask-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
      float: right;
   }

   .lay_cardhover .off-card{
      display: none;
   }


   .item_cards .flexcontainer_box,
   .lay_cardhover .hoverable .on-hover .flexcontainer_inner{
/*      row-gap: var(--sectionpad);*/
   }

   body.p59-theme .bg-black:not(.boxed) .gform_wrapper.gravity-theme button, 
   body.p59-theme .bg-black:not(.boxed) .gform_wrapper.gravity-theme input[type="submit"], 
   body.p59-theme .bg-black:not(.boxed) .gform_wrapper.gravity-theme input[type="button"]{
      width: 100%;
   }

}

/* GRAVITY FORMS OVERRIDE RESPONSIVE */
@media only screen and (max-width: 641px){
   body.p59-theme .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]){
      line-height: 20px;
   }
}
@media (min-width: 641px){
   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gform_fields button[type=submit] > .label{
      display: block; position: absolute; height: 1px; width: 1px; overflow: hidden;
      clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
   }
   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gform_fields button[type=submit]::after{
      margin-left: 0;
   }
}
@media (max-width: 640px){
   body.p59-theme .gform_wrapper.gravity-theme.newsletter_wrapper .gform_fields button[type=submit]{
      width: 100%;
   }
}



