/*   
Theme Name: Mertz Plumbing & Heating Inc.
Description: Mertz Plumbing & Heating Inc. website
Author: Odvod Media
Version: 2
*/

/* defaults*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}									

article, aside, figure, footer, header, hgroup, nav, section {display: block;}

/* Responsive images and other embedded objects
   Note: keeping IMG here will cause problems if you're using foreground images as sprites, like, say for Google Maps custom placemarkers. 
   There has been a report of problems with standard Google maps as well, but we haven't been able to duplicate or diagnose the issue. */
img,
object,
embed {width: 100%; height:auto}

/* force a vertical scrollbar to prevent a jumpy page */
html {overflow-y: scroll;}

/* we use a lot of ULs that aren't bulleted. 
	don't forget to restore the bullets within content. */
ul {list-style: none;}

blockquote, q {quotes: none;}

blockquote:before, 
blockquote:after, 
q:before, 
q:after {content: ''; content: none;}

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color:#666; text-decoration:none; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
a > span { transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
a:hover{ text-decoration:underline}

del {text-decoration: line-through;}

abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}

/* tables still need cellspacing="0" in the markup */
table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: bold; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

h1,h2,h3,h4,h5,h6{ font-weight:400}

hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}

input, select {vertical-align: middle;}

pre {
	white-space: pre; /* CSS2 */
	white-space: pre-wrap; /* CSS 2.1 */
	white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
	word-wrap: break-word; /* IE */
}

input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom; *vertical-align: baseline;}
.ie6 input {vertical-align: text-bottom;}

select, input, textarea {font: 99% sans-serif;}

table {font-size: inherit; font: 100%;}
 
/* Accessible focus treatment
	people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active {outline: none;}

small {font-size: 85%;}

strong, b, th {font-weight: 600; }
em, i {  }

td, td img {vertical-align: top;} 

/* Make sure sup and sub don't screw with your line-heights
	gist.github.com/413930 */
sub, sup {font-size: 75%; line-height: 0; position: relative;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* standardize any monospaced elements */
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/* hand cursor on clickable elements */
.clickable,
label, 
input[type=button], 
input[type=submit], 
button {cursor: pointer;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}

/* make buttons play nice in IE */
button {width: auto; overflow: visible;}
 
/* scale images in IE7 more attractively */
.ie7 img {-ms-interpolation-mode: bicubic;}

/* prevent BG image flicker upon hover */
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}

.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.clearfix:after { clear: both; }  

.clear { clear: both; }

.hide { display: none !important; }

img { display: block; /*transition: all .6s; -moz-transition: all .6s; -webkit-transition: all .6s; -o-transition: all .6s;*/ }

.show-right:before { position: relative; left: 100%; display: block; width: 100%; float: left; margin: 0 0 0 -100%; }

.left { float: left !important; }
.middle { float: none !important; }
.right { float: right !important; }

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

.ab-right { position: absolute !important; right: 0; }
.ab-bottom { position: absolute !important; bottom: 0; }

.uppercase { text-transform: uppercase; letter-spacing: 1.2px; }

.background { background-position: center center; background-repeat: no-repeat; background-size: cover; }
.overlay { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; }

.transition { text-decoration:none; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }

span.break { display: block !important; margin: 0 !important; padding: 0 !important; }

.no-padding-bottom { padding-bottom: 0 !important; }

/*** site variables ***/

:root {
  --font-heading: "Inter", sans-serif;
  --font-content: "Inter", sans-serif;
  
  --h1: 48px;
  --h2: 30px;
  --h3: 30px;
  --h4: 30px;
  --h5: 30px;
  
  --colour1: #ffffff; /* white */
  --colour2: #000000; /* black */
  --colour3: #0073ae; /* blue */
  --colour4: #e11733; /* red */
  --colour5: #e9ecef; /* light grey */
  
  --padding-width: 40px;
  --padding-paragraph: 40px;  
  --padding-height: 80px;
  --padding-height-2: 40px;
  --padding-height-header: 25px;
  --padding-height-sidebar: 20px;
  --padding-height-footer: 60px;
  --padding-height-banner: 100px;
  --padding-width-sidebar: 160px;
  
  --gap-width-sidebar: 240px;
  --gap-width-split: 80px;
  --gap-width-triple: 160px;
  --gap-width-gallery: 25px;
  --gap-width-gallery-2: 45px;
  --gap-height-form: 30px;
  
  --content-width: 1280px;
  --banner-width: 640px;
}


/*** site defaults ***/

html, BODY { height: 100%; }
BODY { background: var(--colour11); font-family: var(--font-content); font-size: 20px; color: var(--colour2); line-height: 1.3; text-align: center; overflow-wrap: break-word; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-variation-settings: "slnt" 0; }

h1, h2, h3, h4, h5 { margin: 0; padding: 0; line-height: 1.2; font-family: var(--font-heading); color: var(--colour2); font-optical-sizing: auto; font-weight: 700; font-style: normal; font-variation-settings: "slnt" 0; }
h1 { font-size: var(--h1); font-weight: 500; }
h2 { font-size: var(--h2); }
h3 { font-size: var(--h3); }
h4 { font-size: var(--h4); }
h5 { font-size: var(--h5); }

.size12 { font-size: 12px; }
.size13 { font-size: 13px; }
.size14 { font-size: 14px; }
.size16 { font-size: 16px; }
.size17 { font-size: 17px; }
.size18 { font-size: 18px; }
.size20 { font-size: 20px; }
.size24 { font-size: 24px; }
.size32 { font-size: 32px; }

.weightLight { font-weight: 300; }
.weightReg { font-weight: 400; }
.weightMedium { font-weight: 500; }
.weightSemi { font-weight: 600; }

.fontHeading { font-family: var(--font-heading); }
.fontContent { font-family: var(--font-content); }

a { color: var(--colour7); text-decoration: underline; }
a:hover { color: var(--colour5); text-decoration: underline; }

p { padding: 0 0 25px; margin: 0; line-height: 1.5; }
p:last-child, p:last-of-type { padding-bottom: 0; }

ul, ol { margin: 0 0 45px 15px; padding: 0; list-style-type: disc; }
ul:last-child, ul:last-of-type, ol:last-child, ol:last-of-type { padding-bottom: 0; }
ol { list-style-type: decimal; }
li { margin: 0 0 10px 15px; padding: 0 0 0 2px; }
ul:last-child, ul:last-of-type, ol:last-child, ol:last-of-type { margin-bottom: 0; }
li:last-child, li:last-of-type { margin-bottom: 0; }
li > ul, li > ol { margin-top: 0; margin-left: 0; padding-top: 10px; }
ul:last-child + p, ol:last-child + p, .image-wrapper + ul, .image-wrapper + ol { padding-top: 30px; }
p:last-child + ul, p:last-of-type + ul, p:last-child + ol, p:last-of-type + ol { margin-top: 0; padding: 20px 0 0; }
p:last-of-type + h2, p:last-of-type + h3 { padding-top: 30px; }
ul + h3, h3 + h3 { padding-top: 30px; }
ul + p { padding-top: 20px; }

hr { border-top-color: var(--colour3); opacity: .2; margin: var(--padding-height-2) 0; }
p + hr { margin-top: calc(var(--padding-height-2) - 20px); }
p:last-of-type + hr { margin-top: var(--padding-height-2); }

.wrap, .inner, .row, .col { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; overflow: hidden; }

.grid { display: grid; grid-template-columns: auto; grid-template-rows: auto; grid-auto-rows: minmax(min-content, max-content); }

.width-banner { width: 100%; max-width: var(--banner-width); margin: 0 auto; }
.width-section { width: 100%; max-width: var(--content-width); margin: 0 auto; }

.vert-bottom { display: grid; align-content: flex-end; }
.vert-middle { display: grid; align-content: center; }

.horiz-right { justify-content: right; }

.flyout-section { display: none; }
.flyout-section a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: var(--colour3);
  border-bottom: 3px solid var(--colour5);
}
.flyout-section a:hover {
  color: var(--colour2);
}

#flyout-menu { position: fixed; top: 0; left: 0; display: none; width: 100%; height: 100%; background: var(--colour1); padding: 30px var(--padding-width); z-index: 9999999; overflow-y: auto; }
#flyout-menu-top { margin: 0 0 30px; }
#flyout-menu-top .row-1 { grid-template-columns: 1fr auto; gap: 0 0; }
#flyout-menu-top .row-1 .logo { width: 45px; }
#flyout-menu-top .row-1 ul, #flyout-menu-top .row-1 li, #flyout-menu-main .row-1 ul, #flyout-menu-main .row-1 li { list-style-type: none; margin: 0; padding: 0; }
#flyout-menu-top .row-1 li a { text-decoration: none; color: var(--colour3); font-size: 24px; }
#flyout-menu-top .row-1 li a:hover { text-decoration: none; color: var(--colour2); }
#flyout-menu-main .row-1 { grid-template-columns: auto; gap: 30px 0; }
#flyout-menu-main .row-1 .col-1 li { display: block; border-bottom: 1px solid rgba(255, 255, 255, .2); }
#flyout-menu-main .row-1 .col-1 li a { display: block; background: var(--colour3); color: var(--colour1); font-size: 13px; text-transform: uppercase; font-weight: 500; letter-spacing: 1.2px; text-decoration: none; text-align: center; line-height: 60px; padding: 0 20px; box-sizing: border-box; -moz-box-sizing: border-box; }
.firefox #flyout-menu-main .row-1 li a { line-height: 1; padding-top: 20px; padding-bottom: 20px; }
#flyout-menu-main .row-1 .col-1 li a:hover, #flyout-menu-main .row-1 .col-1 li.current-menu-item a:hover { background: var(--colour2); color: var(--colour1); text-decoration: none; }
#flyout-menu-main .row-1 .col-2 { font-size: 16px; }
#flyout-menu-main .row-1 .col-3 a { color: var(--colour3); text-decoration: none; font-size: 24px; }
#flyout-menu-main .row-1 .col-3 a:hover { color: var(--colour2); text-decoration: none; }
#flyout-menu-sub { display: none; }

.menu ul, .menu li { display: inline-block; list-style-type: none; padding: 0; margin: 0; }
.menu li { margin-left: var(--gap-width); }
.menu li:first-of-type { margin-left: 0; }
.menu.stack ul, .menu.stack li { display: block; margin-left: 0; }
.menu li a { font-family: var(--font-heading); text-decoration: none; color: var(--colour5); }
.menu li a:hover, .menu li.current-menu-item a { text-decoration: none; color: var(--colour7); }

a.btn { display: block; background: var(--colour2); color: var(--colour1); font-size: 13px; text-transform: uppercase; font-weight: 500; letter-spacing: 1.2px; text-decoration: none; text-align: center; line-height: 40px; padding: 0 20px; box-sizing: border-box; -moz-box-sizing: border-box; }
.firefox a.btn { line-height: 1; padding-top: 16px; padding-bottom: 11px; }
a.btn:hover { background: var(--colour5); color: var(--colour1); text-decoration: none; }
a.btn.btn-2 { background: var(--colour5); }
a.btn.btn-2:hover { background: var(--colour2); }
a.btn.btn-3 { background: var(--colour2); }
a.btn.btn-3:hover { background: var(--colour1); }
a.btn.btn-4 { background: var(--colour3); }
a.btn.btn-4:hover { background: var(--colour2); }
a.btn.min-width { display: inline-block; min-width: 225px; }

p:last-child + .wpcf7, p:last-of-type + .wpcf7 { padding-top: var(--padding-paragraph); }
form .cols + .cols { padding-top: 25px; }
form label {
  position: absolute;
  top: 0;
  display: none;
  width: 100%;
  opacity: 0;
  font-size: 18px;
  color: var(--colour2);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  z-index: 1
}
form .field.select p {
  padding-right: 16px;
  background: var(--colour5);
}
form input, form select, form textarea {
  position: relative;
  width: 100%;
  background: var(--colour5);
  font-family: var(--font-content);
  font-size: 17px;
  letter-spacing: .02rem;
  color: var(--colour2);
  padding: 15px 15px;
  border: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.2s ease-out;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
form textarea { height: 100%; min-height: 180px; }
form .select-wrap { position: relative; display: block; background: var(--colour1); }
form .select-box-wrap { position: relative; display: block; z-index: 20; }
form select {
  padding-top: 14px;
  padding-bottom: 13px;
  text-overflow: '';
  border: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 60px;
  cursor: pointer;
  appearance: auto;
}
form select::-ms-expand { display: none; }
form .select-dir { position: absolute; top: 18px; right: 0px; display: block; height: 43%; padding: 0 15px; color: var(--colour2); line-height: 1.1; z-index: 10; }

form .floating label { display: block; margin-top: -2px; margin-left: 0; padding: 0 15px; text-align: left; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transform: translateY(3px); transform: translateY(3px); pointer-events: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -webkit-box-sizing: border-box; box-sizing: border-box; opacity: 1; }
form .wpcf7-not-valid { background: var(--colour4); }
form .wpcf7-not-valid-tip { display: none; }
form .floating input, form .floating select, form .floating textarea { padding-top: 24px; padding-bottom: 6px; }
form .floating select { padding-top: 25px; padding-bottom: 5px; padding-left: 15px; }
.firefox form .floating select { padding-left: 11px; }

form input[type="submit"] { position: relative; display: block; background: var(--colour3); color: var(--colour1); border-radius: 30px; padding: 14px 20px 15px; max-width: 190px; text-align: center; text-decoration: none; letter-spacing: 1.2px; text-transform: lowercase; }
.firefox form input[type="submit"] { line-height: 1; padding-top: 16px; padding-bottom: 11px; }
form input[type="submit"]:hover { background: var(--colour3); color: var(--colour1); }


form .ajax-loader, form .wpcf7-spinner { display: none; }
form .wpcf7-response-output { margin: 20px 0 0 !important; padding: 15px 30px !important; border: none !important; background: var(--colour3); color: var(--colour1); text-align: center; border-radius: 30px; }
form.invalid .wpcf7-response-output { background: var(--colour4); color: var(--colour1); }

form .responsive-hide { display: none; }
form .responsive-hide input, form .responsive-hide select { display: none; }

input.placeholder, textarea.placeholder { color: var(--colour2); font-family: var(--font-content); font-weight: 500; letter-spacing: .03rem; }
::-webkit-input-placeholder { /* WebKit browsers */
	color: var(--colour2);
	font-family: var(--font-content); font-weight: 500; letter-spacing: .03rem;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: var(--colour2);
	font-family: var(--font-content); font-weight: 500; letter-spacing: .03rem;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: var(--colour2);
	font-family: var(--font-content); font-weight: 500; letter-spacing: .03rem;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
	color: var(--colour2);
	font-family: var(--font-content); font-weight: 500; letter-spacing: .03rem;
}

/*** site styles ***/
header { background: var(--colour1); color: var(--colour2); line-height: 1.3; }
header a { color: var(--colour3); text-decoration: none; font-weight: 700; text-transform: lowercase; }
header a:hover { color: var(--colour2); text-decoration: none; }
header > .row.top > .row-1 {
  width: clamp(300px, calc(100% - 2 * var(--padding-width)),  var(--content-width));
  grid-template-columns: max-content 1fr max-content;
  gap: 0 40px;
}
header > .row.row-1.top {
  background: var(--colour5);
}
header > .row.row-1.top > .row.row-1.grid > .col.col-1.logo a {
  position: relative;
  display: block;
  max-width: 225px;
  padding: var(--padding-height-header) 0;
}
header > .row-1.top .menu-section ul.menu {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: end;
  gap: 30px;
  height: 100%;
}
header > .row.row-1.top > .row.row-1.grid > .col.menu-button ul { margin: 0; padding: 0; list-style-type: none; }
header > .row.row-1.top > .row.row-1.grid > .col.menu-button li {
  position: relative;
  display: inline-block;
  list-style-type: none;
}
header > .row.row-1.top > .row.row-1.grid > .col.menu-button li + li {
  padding-left: 20px;
}
header > .row.row-1.top > .row.row-1.grid > .col.menu-button li a {
  position: relative;
  display: block;
  background: var(--colour2);
  color: var(--colour1);
  border-radius: 30px;
  padding: 10px 20px;
  min-width: 90px;
  text-align: center;
}
header > .row.row-1.top > .row.row-1.grid > .col.menu-button li.btn-blue a { background: var(--colour3); }
header > .row.row-1.top > .row.row-1.grid > .col.menu-button li a:hover { background: var(--colour3); color: var(--colour1); }
header > .row.row-1.top > .row.row-1.grid > .col.menu-button li.btn-blue a:hover { background: var(--colour2); color: var(--colour1); }
header > .row.row-1.top > .row-1 > .col-2 ul { margin: 0; padding: 0; list-style-type: none; }
header > .top .col-2 li {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-bottom: 3px solid transparent;
  border-top: 3px solid transparent;
  box-sizing: border-box;
}
header > .row.row-1.top > .row-1 > .col-2 li a {
  position: relative;
  display: block;
  color: var(--colour3);
}
header > .row.top .col-2 li:hover,
header > .row.top .col-2 li.current_page_item {
  color: var(--colour3);
  border-bottom: 3px solid var(--colour2);
}

.body_content { font-family: var(--font-content); color: var(--colour2); line-height: 1.3; padding: 0 var(--padding-width); }

.body_content ul { margin-left: 0; }
.body_content ul li { font-weight: 500; list-style-type: none; margin-left: 0; padding-left: 30px; }
.body_content ul li::before { position: absolute; left: 0; content: '\e800'; font-family: "fontello"; font-style: normal; font-weight: normal; speak: never; display: inline-block; text-decoration: inherit; width: 1em; margin-right: 0; text-align: center; font-variant: normal; text-transform: none; line-height: 1em; margin-left: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: var(--colour3); padding-right: 10px; }

.body_content a { color: var(--colour3); text-decoration: none; }
.body_content a:hover { color: var(--colour2); text-decoration: none; }

.body_content > .row-1.grid .col .content-text h1, .body_content > .row-1.grid .col .content-text h2, .body_content > .row-1.grid .col .content-text h3, .body_content > .row-1.grid .col .content-text h4, .body_content > .row-1.grid .col .content-text h5 { margin-bottom: var(--padding-height-header); }

.body_content a.button.button-black { background: var(--colour2); }
.body_content.split_content { padding-top: var(--padding-height); padding-bottom: var(--padding-height); }
.body_content.split_content + .body_content.split_content.split_content_image, .body_content.split_content + .body_content.split_content.split_gallery_content, .body_content.split_content + .body_content.split_content.split_content_gallery { padding-top: var(--padding-height-2); }
.body_content.split_content > .row-1.grid { grid-template-columns: 1fr 1fr; gap: 0 var(--gap-width-split); }

.body_content.split_content > .row-1.grid > .col {  }
.body_content.split_content > .row-1.grid .col.grid.section-content { grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: var(--padding-height-header) 0; }
.body_content.split_content > .row-1.grid .col.grid.section-content .content-title {}
.body_content.split_content > .row-1.grid .col.grid.section-content .content-text {}


.body_content.split_content > .row-1.grid .col.section-image {  }
.body_content.split_content > .row-1.grid .col.section-image .content-image { }
.body_content.split_content > .row-1.grid .col.section-image .content-image img { width: 100%; height: auto; }


.body_content.split_content > .row-1.grid .col.grid.section-sidebar {
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  gap: var(--padding-height-header) 0;
  padding: var(--padding-height-sidebar) 0 0;
  padding-left: var(--padding-width-sidebar);
}
.body_content.split_content > .row-1.grid .col.grid.section-sidebar .content-title {}
.body_content.split_content > .row-1.grid .col.grid.section-sidebar .content-text {}
.body_content.split_content > .row-1.grid .col.grid.section-sidebar .grid.content-bottom-image { grid-template-columns: 40% 1fr; gap: 0 20px; padding: 20px 0 0; }
.body_content.split_content > .row-1.grid .col.grid.section-sidebar .grid.content-bottom-image .col-1 {  }
.body_content.split_content > .row-1.grid .col.grid.section-sidebar .grid.content-bottom-image .col-1 img { width: 100%; height: auto; }
.body_content.split_content > .row-1.grid .col.grid.section-sidebar .grid.content-bottom-image .col-2 { font-style: italic; }


.body_content.split_content > .row-1.grid .col.section-gallery > .row.grid { grid-template-columns: auto auto; grid-template-rows: auto; gap: var(--gap-width-gallery) var(--gap-width-gallery); }
.body_content.split_content > .row-1.grid .col.section-gallery > .row.grid img { width: 100%; height: auto; }
.body_content.split_content > .row-1.grid .col.section-gallery .grid.content-bottom-image { grid-template-columns: 40% 1fr; gap: 0 20px; padding: 30px 0 0; }
.body_content.split_content > .row-1.grid .col.section-gallery .grid.content-bottom-image .col-1 img { width: 100%; height: auto; }
.body_content.split_content > .row-1.grid .col.section-gallery .grid.content-bottom-image .col-2 { font-style: italic; }

.body_content.gallery > .row-1 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 30px;
  align-items: center;
}
.body_content.gallery .section-gallery .slick-slide .content-image img {
  max-height: 700px;
  width: 100%;
  object-fit: none;
  margin: auto;
  padding: 0 2px;
}
.body_content.gallery .section-thumbnails .slick-slide > div {
  font-size: 0;
}
.body_content.gallery .section-thumbnails .slick-slide > div + div {
  margin-top: 20px;
}
.body_content.gallery .section-thumbnails .slick-slide > div > .content-image + .content-image {
  margin-left: 20px;
}
.body_content.gallery .section-thumbnails .content-image {
  width: calc(50% - 10px) !important;
}
.body_content.gallery .section-thumbnails .content-image img {
  box-sizing: border-box;
  cursor: pointer;
}
.body_content.gallery .section-thumbnails .content-image img.selected {
  border: 4px solid var(--colour3);
}

.body_content a.button { position: relative; display: inline-block; background: var(--colour3); color: var(--colour1); border-radius: 30px; padding: 10px 20px; min-width: 190px; text-align: center; text-decoration: none; }
.body_content a.button:hover { background: var(--colour2); color: var(--colour1); text-decoration: none; }


.body_content.banner { background-repeat: no-repeat; background-size: cover; background-position: center; }
.body_content.banner.overlay-grey::after { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; content: ''; background: rgba(222, 226, 230, .8); z-index: 1; }
.body_content.banner.overlay-blue::after { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; content: ''; background: rgba(0, 115, 174, .9); z-index: 1; }
.body_content.banner.overlay-blue h3, .body_content.banner.overlay-blue { color: var(--colour1) }
.body_content.banner .width-banner { z-index: 30; }
.body_content.banner .width-banner .grid.section-content { grid-template-columns: auto; grid-template-rows: auto; gap: var(--padding-height-header) 0; padding: var(--padding-height-banner) 0; }


.body_content.triple_content { }
.body_content.triple_content > .row-1.grid { grid-template-columns: 1fr 1fr 1fr; gap: 0 var(--gap-width-triple); padding: var(--padding-height) 0 var(--padding-height); overflow: visible !important; }

.body_content.triple_content > .row-1.grid > .col { overflow: visible !important; }
.body_content.triple_content > .row-1.grid .col.grid.section-content { grid-template-columns: 1fr; grid-template-rows: auto auto 1fr; gap: var(--padding-height-header) 0; }
.body_content.triple_content > .row-1.grid .col.grid.section-content .content-title {}
.body_content.triple_content > .row-1.grid .col.grid.section-content .content-text {}
.body_content.triple_content > .row-1.grid .col.grid.section-content .content-link a { font-weight: 500; text-transform: lowercase; }

.body_content.triple_content > .row-1.grid .col.section-image { padding: var(--padding-height) 0 var(--padding-height); }
.body_content.triple_content > .row-1.grid .col.section-image .content-image img { width: 100%; height: auto; }

.body_content.triple_content > .row-1.grid > .col-1::after, .body_content.triple_content > .row-1.grid > .col-2::after { position: absolute; top: 0; right: -80px; display: block; width: 1px; height: 100%; background: var(--colour5); content: ''; }


.body_content.split_content.split_content_content > .row-1.grid { gap: 0 var(--gap-width-triple); /*padding: var(--padding-height) 0 var(--padding-height);*/ }
.body_content.split_content.split_content_content > .row-1.grid > .col { overflow: visible !important; }
.body_content.split_content.split_content_content > .row-1.grid .col.grid.section-content { padding: 0; }
.body_content.split_content.split_content_content > .row-1.grid > .col-1::after, .body_content.split_content.split_content_content > .row-1.grid > .col-2::after { position: absolute; top: 0; right: -80px; display: block; width: 1px; height: 100%; background: var(--colour5); content: ''; }


.body_content.single-content .section-content { max-width: 860px; margin: 0 auto; }
.body_content.single-content .section-content .content-title { margin-bottom: var(--padding-height-header); }


footer { background: var(--colour1); color: var(--colour2); padding: var(--padding-height-footer) var(--padding-width); line-height: 1.3; }
footer a { color: var(--colour3); text-decoration: none; }
footer a:hover { color: var(--colour2); text-decoration: none; }
footer > .row.row-1.grid {
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--gap-width-split);
}
footer > .row.row-1.grid > .col.col-1 > p {
  padding-bottom: 0;
}
footer > .row.row-1.grid > .col.col-1 p:first-of-type {
  padding-bottom: 25px;
}
footer > .row.row-1.grid > .col.col-2 .row.row-1.grid { grid-template-columns: 1fr; grid-template-rows: 1fr auto; gap: 20px 0; }
footer > .row.row-1.grid > .col.col-2 .row.row-1.grid .logo a { position: relative; display: block; max-width: 225px; margin: 0 0 0 auto; }


.grecaptcha-badge { display: none !important; }
.page-id-146 .grecaptcha-badge, .page-id-241 .grecaptcha-badge { display: block !important; }

@viewport { width: auto; }


@media only screen and (max-width: 1240px) {
  :root {
    --h1: 42px;
    --h2: 28px;
    --h3: 28px;
    --padding-width-sidebar: 100px;
    --padding-height: 60px;
  }
}

@media only screen and (max-width: 1180px) {
  header > .row.top > .row-1 {
    grid-template-columns: 1fr 1fr;
  }
  header > .row.top .menu-section,
  header > .row.top .menu-button {
    display: none;
  }
  header > .row.top .flyout-section {
    display: flex;
    flex-direction: row;
    justify-content: end;
    align-items: center;
  }
}

@media only screen and (max-width: 920px) {
  :root {
    --h1: 40px;
    --h2: 26px;
    --h3: 26px;
    --padding-width-sidebar: 60px;
    --padding-height-banner: 60px;
    --gap-width-triple: 80px;
  }
  .body_content.triple_content > .row-1.grid > .col-1::after, .body_content.triple_content > .row-1.grid > .col-2::after, .body_content.split_content.split_content_content > .row-1.grid > .col-1::after, .body_content.split_content.split_content_content > .row-1.grid > .col-2::after { right: -40px; }
  
  footer > .row.row-1.grid > .col.col-2 .row.row-1.grid .logo a { max-width: 200px; }
}

@media only screen and (max-width: 740px) {
  :root {
    --h1: 38px;
    --h2: 24px;
    --h3: 24px;
    --padding-width-sidebar: 20px;
    --gap-width-split: 40px;
  }
  
  header > .row.row-1.top > .row.row-1.grid > .col.col-1.logo a { max-width: 180px; }
  
  footer > .row.row-1.grid > .col.col-2 .row.row-1.grid .logo a { max-width: 180px; }
}

@media only screen and (max-width: 660px) {
  
  :root {
    --h1: 32px;
    --h2: 20px;
    --h3: 20px;
    --padding-width-sidebar: 0;
    --gap-width-gallery-2: 20px;
  }

  footer > .row.row-1.grid { grid-template-columns: 1fr; gap: 30px var(--gap-width-split); }
  footer > .row.row-1.grid > .col.col-2 .row.row-1.grid .logo a { max-width: 160px; }
  
  .body_content.gallery > .row-1 {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 120px;
  }
  .body_content.gallery .section-thumbnails .slick-slide > div {
    padding: 0 10px;
  }
  .body_content.gallery .section-thumbnails .slick-slide > div > .content-image {
    width: 100% !important;
  }
}

@media only screen and (max-width: 640px) {
  
  :root {
    --padding-height: 40px;
  }
  
  .body_content.split_content > .row-1.grid { grid-template-columns: 1fr; gap: 30px var(--gap-width-split); }
  .body_content.split_content.split_content_content > .row-1.grid { gap: 30px 0; }
  .body_content.triple_content > .row-1.grid { grid-template-columns: auto; gap: 50px var(--gap-width-triple); }
  
  .body_content.triple_content > .row-1.grid > .col-1::after, .body_content.triple_content > .row-1.grid > .col-2::after, .body_content.split_content.split_content_content > .row-1.grid > .col-1::after, .body_content.split_content.split_content_content > .row-1.grid > .col-2::after { right: 0; top: auto; bottom: -25px; width: 100%; height: 1px; }
  
  .body_content.split_content > .row-1.grid .col.section-gallery > .row.grid { gap: 20px 20px; }
}

@media only screen and (max-width: 480px) {
  :root {
    --h1: 28px;
  }
  
  .body_content.split_content > .row-1.grid .col.grid.section-sidebar .grid.content-bottom-image .col-2, .body_content.split_content > .row-1.grid .col.section-gallery .grid.content-bottom-image .col-2 { font-size: 12px; }
}

@media only screen and (max-width: 360px) {
  :root {
    --h1: 24px;
    --padding-width: 20px;
  }
}