/*
Theme Name: Matrix Physio
Theme URI: https://www.inklab.com.au/
Description: Custom website theme
Version: 2.0
Author: Inklab
Author URI: https://www.inklab.com.au/
Requires at least: 5.9
*/

@font-face{ font-family: 'sailec';  src: url('fonts/Sailec-Regular.otf') format('opentype'); font-weight: normal; font-style: normal; } 
html, body {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-size: calc( 15px + 5 * (100vw - 768px) / 1920 );
	font-family: sailec, sans-serif;
	font-weight: normal;
	min-width: 320px;
	color: #231f20;
	background-color: #026fc9;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
html.noscroll, body.noscroll{ overflow: hidden; }

h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
	font-family: titling-gothic-fb-wide, sans-serif;
	font-weight: 700;
	font-style: normal;
	margin: 1em 0;
}
	h1, .h1, h2.h1{ font-size: 3.84rem; line-height: 1; text-transform: uppercase; margin: 2rem 0; }
	h1.banner-heading, .h1.banner-heading{ font-size: 4.84rem; margin: 2rem 0; line-height: 1; text-transform: uppercase; }
	h2, .h2{ font-size: 1.52rem; text-transform: uppercase; }
	h3, .h3{ font-weight: 500; font-size: 1.38rem; }
	h4, .h4{ font-weight: 500; font-size: 1rem; }
	h5, .h5{ font-weight: 500; font-size: 1rem; }


p + h2, p + h3, p + h4,
ul + h2, ul + h3, ul + h4,
ol + h2, ol + h3, ol + h4{
    padding-top: 1rem;
}
h2 + h3,
h3 + h4{}

/*---------------------------------------------------------Clearfix */
.group{ zoom: 1; position: relative; }
.group::before, .group::after{ content: ''; display: table; clear: both; } 

.unselectable{ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

*:focus{ outline: none; }


section.bg-charcoal *::selection{ background-color: rgba(2, 111, 201, 0.99); color: #fff; opacity: 1; }
section.bg-charcoal *::-moz-selection{ background-color: rgba(2, 111, 201, 0.99); color: #fff; opacity: 1; }

section.bg-blue *::selection{ background-color: rgba(35, 31, 32, 0.99); color: #fff; opacity: 1; }
section.bg-blue *::-moz-selection{ background-color: rgba(35, 31, 32, 0.99); color: #fff; opacity: 1; }



main{ overflow: hidden; }

div, nav, aside, section, header, footer, .block{ 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; }
img.block{ display: block; width: 100%; }

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

.block{ display: block; }
iframe{ width: 100%; max-width: 100%; min-height: 320px; }
video{ display: block; width: 100%; max-width: 100%; height: auto; object-fit: cover; object-position: center; }
form input, input[type="submit"], button{ border-radius: 0; -webkit-appearance: none; -webkit-border-radius:0px; }

a{ color: inherit; text-decoration: none; transition: all 0.4s ease 0s; }
a:hover{ transition: all 0.4s ease 0s; }

ul, ol{ margin: 1rem 0; line-height: 1.2; }
ul li, ol li{ margin-bottom: 0.2rem; }
p{ margin: 1rem 0; }

hr{
	display: block;
    height: 0;
    border: 0;
    border-bottom: 4px solid;
    margin: 2.25vw 0;
}

.bg-blue{ background-color: #026fc9; color: #fff; }
.bg-charcoal-clear{ background-color: #231f20; color: #fff;  }
.bg-charcoal,
.bg-charcoal:not([data-banner-full]):not([data-banner-mobi]){ 
	background-color: #231f20; color: #fff; 
	background-repeat: repeat;
	background-position: top left;
	background-image: url(images/noise-charcoal-mobi.svg);	
	background-size: 768px auto;
}
    #site-main .section.bg-blue:not(.banner_slider_bottom):not(.banner_simple) + .section.bg-blue > .inner,
    #site-main .section.bg-blue:not(.banner_slider_bottom):not(.banner_simple) + .section.bg-blue > .inner.tall,
    #site-main .section.bg-blue:not(.banner_slider_bottom):not(.banner_simple) + .section.bg-blue > .inner.tall, 
    #site-main .section.bg-blue:not(.banner_slider_bottom):not(.banner_simple) + .section.bg-blue > .full-inner.tall,
    #site-main .section.bg-charcoal:not(.banner_slider_bottom):not(.banner_simple) + .section.bg-charcoal > .inner,
    #site-main .section.bg-charcoal:not(.banner_slider_bottom):not(.banner_simple) + .section.bg-charcoal > .inner.tall,
    #site-main .section.bg-charcoal:not(.banner_slider_bottom):not(.banner_simple) + .section.bg-charcoal > .inner.tall, 
    #site-main .section.bg-charcoal:not(.banner_slider_bottom):not(.banner_simple) + .section.bg-charcoal > .full-inner.tall{
        padding-top: 0;
    }


.mobile-browser .bg-charcoal,
.mobile-browser .bg-charcoal:not([data-banner-full]):not([data-banner-mobi]){
	background-image: none;
}


.text-center{ text-align: center; }
.text-left{ text-align: left; }
.text-right{ text-align: right; }
.text-blue{ color: #026fc9; }
.section.bg-blue .text-blue, .section.color_rev .text-blue{ color: #231f20; }
.text-charcoal{ color: #231f20; }
.section.bg-charcoal .text-charcoal, .section.color_rev .text-charcoal{ color: #026fc9; }
.text-logoblue{ color: #1a99d0; }

.text-titling{ font-family: titling-gothic-fb-wide, sans-serif; font-weight: 500; }
.text-upper{ text-transform: uppercase; }
small, .text-small{ font-size: 0.70rem; }
.text-large{ font-size: 1.38rem; }

.screenheight{ height: 100vh; height: calc(var(--vh, 1vh) * 100); }

/*--------------------------------------------------------- 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; padding: 0 5vw; padding-right: 10vw; position: relative; box-sizing: border-box; }
.section .inner.wide{ max-width: 100%; }
.section .full-inner{ max-width: 100%; width: 100%; margin: 0; padding: 0; position: relative; box-sizing: border-box; }

/*--------------------------------------------------------- Flex grid */
.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: flex-start; justify-content: stretch; }
	.flex-container.flex-stretch-end{ align-items: stretch; align-content: flex-end; 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; max-width: 100%;
			box-sizing: border-box; box-shadow: none; text-decoration: none; border: 0px none; margin: 0 0; padding: 0 0; 
		}
		.flex-container .flex-item.flex-grow{ flex-grow: 1; }
		.flex-container .flex-item.flex-parts-100{ flex-basis: 100%; width: 100%; max-width: 100%; }
		.flex-container .flex-item.flex-parts-90{ flex-basis: 90%; width: 90%; max-width: 90%; }
		.flex-container .flex-item.flex-parts-75{ flex-basis: 75%; width: 75%; max-width: 75%; }
		.flex-container .flex-item.flex-parts-50{ flex-basis: 50%; width: 50%; max-width: 50%; }
		.flex-container .flex-item.flex-parts-25{ flex-basis: 25%; width: 25%; max-width: 25%; }
		.flex-container .flex-item.flex-parts-70{ flex-basis: 70%; width: 70%; max-width: 70%; }
		.flex-container .flex-item.flex-parts-30{ flex-basis: 30%; width: 30%; max-width: 30%; }
		.flex-container .flex-item.flex-parts-20{ flex-basis: 20%; width: 20%; max-width: 20%; }
			
			.flex-container .flex-item .content{ padding: 2.5vw 0; }
			main#site-main .flex-container .flex-item .content.heading{ padding-bottom: 0; }
			.content.heading h1, .content.heading h2, .content.heading h3{ margin-bottom: 0; margin-top: 1rem; }
			main#site-main .flex-container .flex-item .content.text{ /*padding-right: 5vw;*/ }
			main#site-main .flex-container .flex-item .content.subheading{ padding-bottom: 0; padding-top: 0; }

/*------------------------------------------------------ WEBSITE Page styles */

a.readmore{
	display: inline-block; vertical-align: baseline;
	padding-right: 2em;
	background-image: url(images/icon-next.svg);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: auto 0.7em;
	text-transform: uppercase;
	font-size: 1rem;
}

.section_shortnav a.readmore{ background-size: 1em auto; padding-right: 3em; }

a.readmore:hover,
section.bg-charcoal a.readmore:hover{
	color: #026fc9;
	background-image: url(images/icon-next_blue.svg);
}
section.bg-blue a.readmore:hover,
.pum.pum-theme-matrix-theme a.readmore:hover{
	color: #231f20;
	background-image: url(images/icon-next_charcoal.svg);
}




/*-------- HEADER */
#site-header{ z-index: 104; position: absolute; top: 2.5vw; left: 0; width: 100%; }
#site-header img.site-logo, #site-header svg.site-logo{ display: block; height: 5rem; width: auto; max-width: 320px; }
#site-header svg.site-logo .logo-fill-pri{ fill: #fff; }
#site-header svg.site-logo .logo-fill-sec{ /*fill: #1a99d0;*/ fill: #026fc9; }
#site-header svg.site-logo .logo-fill-outline{ fill: #231f20; }
#site-header.color_rev svg .logo-fill-pri{ fill: #231f20; }
#site-header.color_rev svg .logo-fill-sec{ fill: #fff; }
#site-header.color_rev svg .logo-fill-outline{ fill: #231f20; }

main#site-main #page-banner.banner_slider_bottom .flex-container .flex-item .content.heading{}

#site-fixed-menu{ position: fixed; top: 0; right: 0; z-index: 105; background-color: transparent; }
#site-fixed-menu .fixed-5vw{ position: fixed; top: 0; right: 0; left: auto; white-space: nowrap; height: 100%; width: 5vw; max-width: 80px; color: #fff; border-left: 4px solid #fff; }
#site-fixed-menu .fixed-5vw .content{ padding: 5vw 0; }
#site-fixed-menu .fixed-5vw span.fixed-menu-book{ display: block; transform-origin: center; transform: rotate(90deg); margin-bottom: 2.5vw; }
#site-fixed-menu a.site-menu-toggle{ display: inline-block; vertical-align: top; color: #fff; fill: #fff; }
#site-fixed-menu a.site-menu-toggle svg{ fill: inherit; }

#site-fixed-menu a.site-menu-toggle svg{ display: block; width: 3vw; height: auto; max-width: 44px; max-height: 44px; }
#site-fixed-menu a.site-menu-toggle svg .menu-open{ display: none; opacity: 0; transition: opacity 0.4s ease; }
#site-fixed-menu a.site-menu-toggle svg .menu-closed{ display: block; opacity: 1; transition: opacity 0.4s ease; }
#site-fixed-menu.menu-open a.site-menu-toggle svg .menu-open{ display: block; opacity: 1; transition: opacity 0.4s ease; }
#site-fixed-menu.menu-open a.site-menu-toggle svg .menu-closed{ display: none; opacity: 0; transition: opacity 0.4s ease; }


#site-fixed-menu a.site-menu-toggle:hover{ color: #026fc9; fill: #026fc9; }
body.scrolling #site-fixed-menu a.site-menu-toggle:hover,
#site-fixed-menu.menu-open a.site-menu-toggle:hover,
#site-fixed-menu.color_rev a.site-menu-toggle:hover{ color: #231f20; fill: #231f20; }

#site-fixed-menu .fixed-side-book a:hover{ /*color: #231f20; fill: #231f20;*/ color: #fff; fill: #fff; }

body.home #site-fixed-menu a.site-menu-toggle:hover{ color: #026fc9; fill: #026fc9; }
/*body.home #site-fixed-menu .fixed-side-book a:hover{ color: #026fc9; fill: #026fc9; }*/
body.home.noscroll #site-fixed-menu a.site-menu-toggle:hover{ color: #231f20; fill: #231f20; }
/*body.home.noscroll #site-fixed-menu .fixed-side-book a:hover{ color: #231f20; fill: #231f20; }*/

#site-fixed-menu .fixed-side-social a.social-icon{ display: block; width: 2vw; height: 2vw; max-height: 24px; fill:#fff; margin: 1.52rem auto 0 auto; }
#site-fixed-menu .fixed-side-social a.social-icon:hover{ fill:#231f20; }
#site-fixed-menu .fixed-side-social a.social-icon svg{ display: block; height: 100%; max-height: 100%; width: auto; margin: 0 auto; }

#site-fixed-menu .fixed-side-book{ display: block; opacity: 1; transition: opacity 0.4s ease; }
#site-fixed-menu .fixed-side-book a{ display: block; height: 2.84rem; }
#site-fixed-menu .fixed-side-social{ display: none; opacity: 0; transition: opacity 0.4s ease;}
#site-fixed-menu.menu-open{ background-color: #026fc9; }
#site-fixed-menu.menu-open .fixed-side-book{ display: none; opacity: 0; transition: opacity 0.4s ease; }
#site-fixed-menu.menu-open .fixed-side-social{ display: block; opacity: 1; transition: opacity 0.4s ease; }

#site-menu{ 
	z-index: 105; 
	width: 100vw; height: 100%; overflow: hidden; position: fixed; top: 0; left: 110%; transition: left 0.4s ease; 
}
#site-menu .scroll-container{ 
	display: block; position: relative; min-height: 100%; max-height: 100%; 
	height: 100vh; height: calc(var(--vh, 1vh) * 100); overflow: auto; 
}
#site-menu .scroll-container .inner{ display: block; min-height: 100vh; min-height: calc(var(--vh, 1vh) * 100); height: auto; }

#site-menu .scroll-container .items-nav-container{ padding-top: 5vw; }
#site-menu .scroll-container .items-nav-container .call-container{
	position: absolute; right: 0; top: 2.5vw; padding: 2.5vw 0;
}
#site-menu .scroll-container .items-nav-container .call-container a:hover{ color: #231f20; }

/*#site-menu.menu-open .inner{ display: block; overflow: auto; }*/

#site-menu.menu-open{ left: 0; opacity: 1; transition: left 0.7s ease; }
#site-menu .inner{ width: 100%; height: 100%; }
#site-menu .flex-parts-70 .content{ /*padding-left: 5vw;*/ }

#site-menu .flex-item.item-mainnav .content{}
#site-menu .flex-item.item-contact-addres .content,
#site-menu .flex-item.item-contact-details .content{ padding-bottom: 5vw; }
#site-menu .content p:first-child{ margin-top: 0; }
#site-menu .content p:last-child{ margin-bottom: 0; }


#site-menu ul.site-mainnav{ list-style: none; margin: 0 0 1rem 0; padding: 0;  padding-top: 2.5vw; text-transform: uppercase; font-weight: bold; line-height: 1.1; }
#site-menu ul.site-mainnav li{ font-size: 4.84rem; margin: 0; padding: 0; }
#site-menu ul.site-mainnav > li > a:hover{ color: transparent; text-stroke: 2px #fff; -webkit-text-stroke: 2px #fff; transition: all 0.4s ease; }
/* IE / IE10 Fix */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	#site-menu ul.site-mainnav:hover li a{ opacity: 0.3; }    
  	#site-menu ul.site-mainnav:hover li:hover a{ color: #fff; opacity: 1; text-stroke: 0; -webkit-text-stroke: 0; }
}

#site-menu ul.site-mainnav li.item-small,
#site-menu ul.site-mainnav li ul.sub-menu li{ font-size: 1.22rem; }
#site-menu ul.site-mainnav li a{ /*display: block;*/ display: inline-block; vertical-align: middle; padding: 0.4rem 0; color: #fff; }
#site-menu ul.site-mainnav li ul.sub-menu{ list-style: none; margin: 2.5vw 0 0 0; padding: 0; }
#site-menu ul.site-mainnav li ul.sub-menu li{}
#site-menu ul.site-mainnav li ul.sub-menu li a{}
#site-menu ul.site-mainnav li ul.sub-menu li a:hover{ color: #231f20; }

#site-menu ul.site-subnav{ list-style: none; margin: 0; padding: 0; }
#site-menu ul.site-subnav li{ font-size: 1.52rem; margin: 0; padding: 0; }
#site-menu ul.site-subnav li a{ display: block; padding: 0; }

#site-menu .content.text a:hover{ color: #231f20; }

#site-menu .image-container{ 
	position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; 
}

/*-------- BANNER */

h1 span.word{ display: inline-block; vertical-align: middle; overflow: hidden; }
h1 span.word .word-slide{ display: inline-block; vertical-align: middle; }
h1 span.word .word-slide.no-delay{ transition-delay: 0s!important; }
h1 span.word:nth-child(1) .word-slide{ transition-delay: 0.5s; }
h1 span.word:nth-child(2) .word-slide{ transition-delay: 0.6s; }
h1 span.word:nth-child(3) .word-slide{ transition-delay: 0.7s; }
h1 span.word:nth-child(4) .word-slide{ transition-delay: 0.8s; }
h1 span.word:nth-child(5) .word-slide{ transition-delay: 0.9s; }
h1 span.word:nth-child(6) .word-slide{ transition-delay: 1.0s; }
h1 span.word:nth-child(7) .word-slide{ transition-delay: 1.1s; }
h1 span.word:nth-child(n+8) .word-slide{ transition-delay: 1.2s; }

h1 div.word{ 
	display: inline-block; vertical-align: middle; 
	/* overflow needed for slide-up animation but can cut text with transform:translate! */
	overflow: hidden; padding-right: 7.5vw;
}
h1 div.word .word-slide{ display: inline-block; vertical-align: middle; }

#site-main section#page-banner.banner_slider_bottom .inner.tall{ padding-top: calc(7.5vw + 5vw + 5rem); }


#page-banner{}
#page-banner .banner-part-content .inner .flex-container{ padding-bottom: 40px; }

#page-banner a.jump-start{
	display: block; width: 40px; height: 40px;
	position: absolute; bottom: 5vw; left: 5vw;

}
#page-banner a.jump-start .arrow{
	display: block; width: 100%; height: 100%; position: absolute; top: 0;
	background-image: url(images/icon-down.svg);background-repeat: no-repeat; background-position: bottom left; background-size: 32px 32px;	
	animation: scroll_arrow_bounce 0.9s infinite ease-in-out; animation-delay: 0.5s;
}

@keyframes scroll_arrow_bounce{ 0%,100%{ top: 0; } 50%{ top: -8px; } }


/*-------- HOME */
.section_slide{ 
	height: 100%; width: 100%; 
	background-repeat: no-repeat; background-position: center; background-size: cover;
}
.section_slide .inner{ height: 100%; width: 100%; }


#pagepiling-nav #pp-nav{
	font-family: titling-gothic-fb-wide, sans-serif;
	font-weight: 500;
	font-size: 14px;
}
#pagepiling-nav #pp-nav.right{
	right: 5vw;
}
#pagepiling-nav #pp-nav li{
	width: 54px;
	height: 47px;
    margin: 7px 0;
    padding: 0;
}
#pagepiling-nav  #pp-nav span{
    z-index: 1;
    width: 54px;
    height: 4px;
    border-radius: 0;
    left: 0; top: auto; bottom: 14px;
    border: 0;
    background-color: #FFF;
    display: block;
    overflow: hidden;
}
#pagepiling-nav #pp-nav span::after{
	content: ''; display: block; width: 0px; height: 4px; 
	background-color: #026fc9;  transition: none;
	position: absolute; top: 0; left: 0;
}
#pagepiling-nav #pp-nav .visited{ color: #026fc9; transition: none; }
#pagepiling-nav #pp-nav .visited span::after{ width: 54px; transition: none; }
#pagepiling-nav #pp-nav .active{ color: #026fc9; transition: color 0.7s ease; }
#pagepiling-nav #pp-nav .active span::after{
	width: 54px; transition: width 4.7s linear;
	animation: banner_slider_drawtime 4700ms 1;
}

.page_pile_slide .content{ position: relative; margin-top: 5rem; }
.page_pile_slide .banner-heading .part{ display: block; overflow: hidden; position: relative; }
.page_pile_slide .banner-heading .part .part-slide{ display: inline-block; vertical-align: middle;position: relative; }

.page_pile_slide.pp-table .banner-heading .part .part-slide{ top: 1em; transition: all 0.5s ease; }
.page_pile_slide.pp-table.active .banner-heading .part .part-slide{ top: 0; transition: all 0.5s ease; }
.page_pile_slide.pp-table.active .banner-heading .part:nth-child(1) .part-slide{ transition-delay: 0.5s; }
.page_pile_slide.pp-table.active .banner-heading .part:nth-child(2) .part-slide{ transition-delay: 0.7s; }
.page_pile_slide.pp-table.active .banner-heading .part:nth-child(3) .part-slide{ transition-delay: 0.9s; }
.page_pile_slide.pp-table.active .banner-heading .part:nth-child(n+4) .part-slide{ transition-delay: 1.1s; }

.page_pile_slide.pp-table .banner-content{ position: relative; /*top: 100px;*/  opacity: 0; transition: all 0.5s ease;  }
.page_pile_slide.pp-table.active .banner-content{ /*top: 0;*/ opacity: 1; transition: all 0.5s ease; transition-delay: 0.5s; }

.page_pile_slide.pp-table .banner-readmore{ position: relative; right: 100px; opacity: 0; transition: all 0.5s ease;transition-delay: 0.8s; }
.page_pile_slide.pp-table.active .banner-readmore{ position: relative; right: 0; opacity: 1; transition: all 0.5s ease;transition-delay: 0.8s; }

/* on first load: */
#pagepiling.load .page_pile_slide .banner-heading .part .part-slide{ top: 1em;  transition: all 0.5s ease; transition-delay: 0.5s; }
#pagepiling.load .page_pile_slide .banner-content{ opacity: 0; transition-delay: 0.5s; }
#pagepiling.load .page_pile_slide .banner-readmore{ opacity: 0; right: 0; transition-delay: 0.5s; }

.page_pile_slide div.h3{ width: 70%; }

/*-------- PAGE */

#site-main section .inner.tall, #site-main section .full-inner.tall{ padding-top: 7.5vw; padding-bottom: 7.5vw; }
.flex-container .flex-item.flex-parts-30 .content.heading{ padding: 2.5vw 2.5vw 0 0; }

#site-main .content ul:not([class]){ list-style-type: none; margin: 0; padding: 0; position: relative; }
#site-main .content ul:not([class]) li{ padding-left: 1.52rem; position: relative; }
#site-main .content ul:not([class]) li::before{ content:' \2014 '; display: block; height: 1.2em; width: 1rem; position: absolute; top: 0; left: 0; }

.section_banner{}
.section_banner .container{ 
	height: 100%; 
	background-repeat: no-repeat; background-position: center; background-size: cover; 
}
.section_banner .container .inner{ height: 100%; }

.section_banner.banner_simple{ height: auto; }
.section_banner.banner_plain .container{ padding-top: calc(5vw + 5rem); }

.section_banner.banner_simple{ height: 100vh; height: calc(var(--vh, 1vh) * 100); min-height: 100vh; max-height: 100%; }
.section_banner.banner_simple .container{ padding-top: calc(5vw + 5rem); }


.section_banner.banner_slider_top .banner-part-slider,
.section_banner.banner_slider_bottom .banner-part-slider{
	overflow: hidden;
}
.section_banner.banner_slider_top .banner-part-slider .banner-slide,
.section_banner.banner_slider_bottom .banner-part-slider .banner-slide{
	background-repeat: no-repeat; background-position: center; background-size: cover;
}
	.section_banner.banner_slider_top .banner-part-slider .banner-slide.bg-align-100,
	.section_banner.banner_slider_bottom .banner-part-slider .banner-slide.bg-align-100{ background-position: right; }
	.section_banner.banner_slider_top .banner-part-slider .banner-slide.bg-align-0,
	.section_banner.banner_slider_bottom .banner-part-slider .banner-slide.bg-align-0{ background-position: left; }

.section_banner.banner_slider_top{}
.section_banner.banner_slider_top .banner-part-slider{}
.section_banner.banner_slider_top .banner-part-slider .banner-slide{}
.section_banner.banner_slider_top .banner-part-content{ height: auto; }

.section_banner.banner_slider_bottom{}
.section_banner.banner_slider_bottom .banner-part-slider{}
.section_banner.banner_slider_bottom .banner-part-slider .banner-slide{}
.section_banner.banner_slider_bottom .banner-part-content{}


.section_banner.banner_slider_top .banner-part-slider,
.section_banner.banner_slider_bottom .banner-part-slider,
.section_banner.banner_slider_top .banner-part-slider .banner-slide,
.section_banner.banner_slider_bottom .banner-part-slider .banner-slide,
.section_banner.banner_slider_bottom .banner-part-content{
	height: 100vh; height: calc(var(--vh, 1vh) * 100); min-height: 900px; max-height: 100%; overflow: hidden;
}


.section_banner.banner_slider_top .banner-slider-dots,
.section_banner.banner_slider_bottom .banner-slider-dots{
	position: absolute;
    padding-top: calc(5vw + 5rem);
    right: 5vw;
    height: 100%;
    top: 0;
}

.section_banner.banner_slider_top .banner-slider-dots ul,
.section_banner.banner_slider_bottom .banner-slider-dots ul{ 
	list-style-type: none; margin: 0; padding: 0; 
	position: relative; top: 50%; transform: translate(0, -50%);
	font-family: titling-gothic-fb-wide, sans-serif;
    font-weight: 500;
    font-size: 14px;
}


.section_banner.banner_slider_top .banner-slider-dots ul li,
.section_banner.banner_slider_bottom .banner-slider-dots ul li{
	display: block;
	width: 54px;
	height: 47px;
    margin: 7px 0;
    padding: 0;
    position: relative;
}
.section_banner.banner_slider_top .banner-slider-dots ul li span,
.section_banner.banner_slider_bottom .banner-slider-dots ul li span{
    z-index: 1;
    width: 54px;
    height: 4px;
    border-radius: 0;
    position: absolute;
    left: 0; top: auto; bottom: 14px;
    border: 0;
    background-color: #FFF;
    display: block;
    overflow: hidden;
    transition: none;
}
.section_banner.banner_slider_top .banner-slider-dots ul li span::after,
.section_banner.banner_slider_bottom .banner-slider-dots ul li span::after{
	content: ''; display: block; width: 0px; height: 4px; 
	background-color: #026fc9;  transition: none;
	position: absolute; top: 0; left: 0;
	transition: none;
}

.section_banner.banner_slider_top .banner-slider-dots ul li.slick-active,
.section_banner.banner_slider_bottom .banner-slider-dots ul li.slick-active{ color: #026fc9; }
.section_banner.banner_slider_top .banner-slider-dots ul li.slick-active span::after,
.section_banner.banner_slider_bottom .banner-slider-dots ul li.slick-active span::after{
	width: 54px; transition: width 4.0s linear;
	animation: banner_slider_drawtime 4000ms 1;
}
.section_banner.banner_slider_top .banner-slider-dots ul li.visited,
.section_banner.banner_slider_bottom .banner-slider-dots ul li.visited{ color: #026fc9; }
.section_banner.banner_slider_top .banner-slider-dots ul li.visited span::after,
.section_banner.banner_slider_bottom .banner-slider-dots ul li.visited span::after{
	width: 54px; transition: none;
}
@keyframes banner_slider_drawtime{ 0%{ width: 0; } 100%{ width: 54px; } }

/* h1 h =  (3.84rem*1.1 = (4.22)) + (2rem margins * 2 = (4rem)) */
.section_banner .content.break-heading{ position: relative; margin-bottom: 8.22rem; }
.section_banner .content.break-heading[data-words="3"][data-breaks="2"]{ margin-bottom: 12.44rem; }

.section_banner .content.break-heading .block-content{ padding-left: 30%; padding-right: 5vw; }
.section_banner .content.break-heading h1{ padding-left: 30%; padding-right: 5vw; height: 1.1em; color: #026fc9;  }
.section_banner .container.bg-blue .content.break-heading h1{ color: #231f20; }

.section_banner .content.break-heading h1 span[class]{
	position: absolute; display: block;
}
.section_banner .content.break-heading h1 span.top{}
.section_banner .content.break-heading h1 span.left{ left: 0; top: calc(1.1em + 2rem); }
.section_banner .content.break-heading h1 span.left.l_1{ left: 2rem; }
.section_banner .content.break-heading h1 span.left.l_2{ left: 0rem; }
.section_banner .content.break-heading h1 span.left.l_3{ left: -3rem; }
.section_banner .content.break-heading h1 span.bottom{ top: calc( 100% + 2rem ); }
/* 3 */
.section_banner .content.break-heading[data-words="3"] h1 span.left{ transform: translate(7.5vw, 0); }
.section_banner .content.break-heading[data-words="3"] h1 span.bottom{ transform: translate(-7.5vw, 0); }
.section_banner .content.break-heading[data-words="3"] h1 span.top.multi{ transform: translate(-7.5vw, 0); }
.section_banner .content.break-heading[data-words="3"] h1 span.bottom.multi{ transform: translate(-7.5vw, 0); }
.section_banner .content.break-heading[data-words="3"] h1 span.bottom.multi span{ 
	position: relative; right: -7.5vw; left: auto; display: block; text-align: right;
}
/* 2 */
.section_banner .content.break-heading[data-words="2"] h1 span.top{ transform: translate(-7.5vw, 0); }
.section_banner .content.break-heading[data-words="2"] h1 span.bottom{}
/* 1 */
.section_banner .content.break-heading[data-words="1"]{ margin-bottom: 0; }
.section_banner .content.break-heading[data-words="1"] h1 span.top{ transform: translate(-7.5vw, 0); }

section.section_banner.banner_slider_top  + section.section_fullwidth_content.bg-charcoal .content.text{
	padding-top: 0; padding-bottom: 7.5vw;
}
.section_fullwidth_content a:hover{ color: #231f20; }
.section_fullwidth_content.bg-charcoal a:hover{ color: #026fc9; }


.section_fullwidth_content.bg-blue .content.heading h2{ font-size: 1.22rem; }

.section_1col_profiles .content.break-heading{ position: relative; padding-right: 5vw; }

.section_1col_profiles .content.break-heading h2{     
	margin: 0.5rem 0; color: #026fc9; transition: all 0.4s ease;
}
.section_1col_profiles .content.break-heading h2 span.top{}
.section_1col_profiles .content.break-heading h2 span.bottom{}

.section_1col_profiles .content.break-heading h2.expand-toggle{ display: inline-block; vertical-align: top; }
.section_1col_profiles .content.break-heading h2.expand-toggle:hover,
.section_1col_profiles .content.break-heading.expanded h2.expand-toggle{
	color: transparent; text-stroke: 2px #026fc9; -webkit-text-stroke: 2px #026fc9; transition: all 0.4s ease;
}
.section_1col_profiles .content.break-heading h2.expand-toggle:hover{ cursor: pointer; }
/* IE / IE10 Fix */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  	.section_1col_profiles .content.break-heading h2.expand-toggle:hover,
	.section_1col_profiles .content.break-heading.expanded h2.expand-toggle{ color: #fff; text-stroke: 0; -webkit-text-stroke: 0; }
}

.section_1col_profiles .content.image{ padding: 2.5vw 5vw 0 0; height: 0; opacity: 0; /*overflow: hidden;*/ }
.section_1col_profiles .content.image img{ margin: 1rem 0; display: block; }
/*.section_1col_profiles .item-profile-image-mobi .content.image{ height: auto!important; }*/

.section_1col_profiles .content.break-heading h2 span{ display: inline-block; vertical-align: baseline; }
.section_1col_profiles .content.break-heading h2 span.top{}
.section_1col_profiles .content.break-heading h2 span.bottom{}
.section_1col_profiles .content.break-heading .block-content h3{ margin: 0.4rem 0 0 0; text-transform: uppercase; }
.section_1col_profiles .content.break-heading .block-content{}

.section_1col_profiles .content.break-heading .expand{ overflow: hidden; height: 0; }

.section_1row_services{}
.services-slider_row .slide{ width: 70vw; max-width: 70vw; position: relative; padding: 5vw 0; }
.services-slider_row .slide .slide-content{ display: block; box-sizing: border-box; padding: 0 2.5vw; }

.services-slider_row .slide .slide-content h2{ position: relative; z-index: 4; color: #026ec9; transition: all 0.4s ease; }

.services-slider_row .slide .slide-image{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.services-slider_row .slide .slide-image.align_middle{ text-align: center; }
.services-slider_row .slide .slide-image.align_left{ text-align: left; }
.services-slider_row .slide .slide-image.align_right{ text-align: right; }
.services-slider_row .slide .slide-image img{ display:inline-block; vertical-align: middle; height: 100%; width: auto; opacity: 0; transition: all 0.4s ease; }

.services-slider_row .slide .slide-content:hover h2{ color: transparent; text-stroke: 2px #026ec9; -webkit-text-stroke: 2px #026ec9; transition: all 0.4s ease; }
.services-slider_row .slide .slide-content:hover .slide-image img{ opacity: 1; transition: all 0.4s ease; }

/* else if banner instead in .slide-image */
.section_1row_services .services-slider_row.slick-initialized,
.section_1row_services .services-slider_row.slick-initialized .slick-list{ overflow: visible!important; }
.services-slider_row .slide .slide-banner{ 
	display: none; opacity: 0; position: absolute; left: 0; height: 100%; top: 0;  width: calc( 72vw*0.3275 ); /* width: 56%; max-width: 494px;*/
	background-repeat: no-repeat; background-size: cover; background-position: center; transition: all 0.4s ease;
}
	.services-slider_row .slide .slide-banner img{ display: none; }
	.services-slider_row .slide .slide-banner.bg-align-0{ background-position: left; }
	.services-slider_row .slide .slide-banner.bg-align-100{ background-position: right; }

.services-slider_row .slide .slide-banner.align_middle{ left: 28%; }
.services-slider_row .slide .slide-banner.align_left{ left: 0; }
.services-slider_row .slide .slide-banner.align_right{ left: auto; right: 0; }
.services-slider_row .slide .slide-content:hover .slide-banner{ opacity: 1; display: block; transition: all 0.4s ease; }

.section_2col_contact_maps{}
.section_2col_contact_maps .iframe-container{
	position: relative;
	overflow: hidden;
}
.section_2col_contact_maps .iframe-container::before{
	content: '';
    display: block;
    width: 100%;
    height: 100%;
    border: 4px solid;
    position: absolute;
    box-sizing: border-box;
}
.section_2col_contact_maps .iframe-container iframe{
	display: block;
	width: 340px;
	height: 340px;
	position: relative;
	z-index: 2;
}

.section_2col_contact_maps .contact-container .flex-parts-map{
	width: 340px;
	flex-basis: 340px;
}
.section_2col_contact_maps .contact-container .flex-parts-address{
	width: calc(100% - 340px);
	flex-basis: calc(100% - 340px);
}

/* https://loading.io/css/ */
.section_2col_contact_maps .lds-default {
  display: inline-block;
  /*position: relative;*/
  width: 80px;
  height: 80px;
  z-index: -1;
  position: absolute;
  top: calc(50% - 40px);
  left: calc(50% - 40px);
}
.section_2col_contact_maps .lds-default div {
  position: absolute;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  animation: lds-default 1.2s linear infinite;
}
.section_2col_contact_maps .lds-default div.l1 {
  animation-delay: 0s;
  top: 37px;
  left: 66px;
}
.section_2col_contact_maps .lds-default div.l2 {
  animation-delay: -0.1s;
  top: 22px;
  left: 62px;
}
.section_2col_contact_maps .lds-default div.l3 {
  animation-delay: -0.2s;
  top: 11px;
  left: 52px;
}
.section_2col_contact_maps .lds-default div.l4 {
  animation-delay: -0.3s;
  top: 7px;
  left: 37px;
}
.section_2col_contact_maps .lds-default div.l5 {
  animation-delay: -0.4s;
  top: 11px;
  left: 22px;
}
.section_2col_contact_maps .lds-default div.l6 {
  animation-delay: -0.5s;
  top: 22px;
  left: 11px;
}
.section_2col_contact_maps .lds-default div.l7 {
  animation-delay: -0.6s;
  top: 37px;
  left: 7px;
}
.section_2col_contact_maps .lds-default div.l8 {
  animation-delay: -0.7s;
  top: 52px;
  left: 11px;
}
.section_2col_contact_maps .lds-default div.l9 {
  animation-delay: -0.8s;
  top: 62px;
  left: 22px;
}
.section_2col_contact_maps .lds-default div.l10 {
  animation-delay: -0.9s;
  top: 66px;
  left: 37px;
}
.section_2col_contact_maps .lds-default div.l11 {
  animation-delay: -1s;
  top: 62px;
  left: 52px;
}
.section_2col_contact_maps .lds-default div.l12 {
  animation-delay: -1.1s;
  top: 52px;
  left: 62px;
}
@keyframes lds-default {
  0%, 20%, 80%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.5);
  }
}
.section_2col_contact_maps .lds-dual-ring {
	display: inline-block;
	width: 60px;
	height: 60px;
	z-index: -1;
	position: absolute;
	top: calc(50% - 30px);
	left: calc(50% - 30px);
}
.section_2col_contact_maps .lds-dual-ring:after {
	content: " ";
	display: block;
	width: 32px;
	height: 32px;
	margin: 8px;
	border-radius: 50%;
	border: 6px solid #fff;
	border-color: #fff transparent #fff transparent;
	animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.section_2col_contact_maps .flex-container .flex-item .content.text{
	padding: 0 0;
	height: 100%;
}
.section_2col_contact_maps .contact-container.flex-container .flex-item .content.text > *:first-child{
	/*margin-top: 0;*/
}
.section_2col_contact_maps .contact-container.flex-container .flex-item .content.text > *:last-child{
	/*margin-bottom: 0;*/
}

.section_2col_contact_maps .contact-container{}
.section_2col_contact_maps .contact-container + .contact-container{
	padding-top: 2.5vw;
}

.section_2col_contact_maps .flex-container .flex-item.item-contact-map{}
.section_2col_contact_maps .flex-container .flex-item.item-contact-address{}
.section_2col_contact_maps .flex-container .flex-item.item-contact-address .content.text{
	padding-left: 5vw;
}

@media( hover: hover){
	.section_2col_contact_maps .flex-container .flex-item.item-contact-address a:hover{
		color: #231f20;
	}
}

/* IE / IE10 Fix */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .services-slider_row .slide .slide-content:hover h2{ color: #fff; text-stroke: 0; -webkit-text-stroke: 0; }
}

.services-slider_row .slick-slide{ opacity: 0.24; }
.services-slider_row .slick-slide.slick-current{ opacity: 1; }
/*.services-slider_row .slick-slide.slick-current .slide-content:hover .slide-image img{  opacity: 1; transition: all 0.5s ease; }*/

.services-slider_row-nav.prev,
.services-slider_row-nav.next{
	position: absolute; height: 100%; width: 32.5%; z-index: 4; top: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px auto;	 
	opacity: 0; transition: opacity 0.4s ease;
}
.services-slider_row-nav.prev,
.section_multicol_carousel .carousel-slider_nav.prev{
	/*background-image: url(images/icon-prev.svg);*/ left: 0; right: auto;
}
.services-slider_row-nav.next{
	/*background-image: url(images/icon-next.svg);*/ left: auto; right: 0;
}

.section_1row_services .services-slider_row .slick-slide.slick-active a:hover{
	cursor: url(images/icon-enter.png) 16 16, pointer;
}
.services-slider_row-nav.prev:hover,
.section_1row_services .services-slider_row-nav.prev:hover,
.section_1col_services .services-slider_row-nav.prev:hover,
.section_multicol_carousel .carousel-slider_nav.prev:hover{
	cursor: url(images/icon-prev_s.png) 16 16, pointer;
	opacity: 1; transition: opacity 0.4s ease;
}
.services-slider_row-nav.next:hover,
.section_1row_services .services-slider_row-nav.next:hover,
.section_1col_services .services-slider_row-nav.next:hover,
.section_multicol_carousel .carousel-slider_nav.next:hover{
	cursor: url(images/icon-next_s.png) 16 16, pointer;
	opacity: 1; transition: opacity 0.4s ease;
}

.services-slider_row-nav.dots{ width: 32.5%; margin: 0 auto; padding: 0; /*color: #231f20;*/ color: #fff; }
.services-slider_row-nav.dots ul.ssr-nav-counter{ 
	list-style-type: none; margin: 0; padding: 0; display: block; position: relative; text-align: center; 
	font-size: 1rem; height: 2rem; line-height: 2rem; /*letter-spacing: 1rem;*/
	font-family: titling-gothic-fb-wide, sans-serif; font-weight: 700; font-style: normal;
}
.services-slider_row-nav.dots ul.ssr-nav-counter li{ padding: 0; margin: 0 auto; display: block; width: 100%; position: absolute; opacity: 0; }
.services-slider_row-nav.dots ul.ssr-nav-counter li.slick-active{  opacity: 1; }

.section_1row_services .services-slider_row-nav.dots{ display: none; }


.section_multicol_carousel{}
.section_multicol_carousel .carousel-slider_cols{
    overflow: hidden;
}
    .section_multicol_carousel .carousel-slider_cols .crsl-slide{
        padding: 0 1.25vw 2.5vw 1.25vw;
        width: 42vw;
    }
        .section_multicol_carousel .carousel-slider_cols .crsl-slide img{}
.section_multicol_carousel .carousel-slider_nav.prev{}
.section_multicol_carousel .carousel-slider_nav.next{}

.section_1col_services{}
.section_1col_services .pad-left, .section_1col_services .content.pad-left{ padding-left: 30%; margin-right: 5vw; padding-right: 5vw; }
.section_1col_services a.toogle-service-readmore{ display: block; }
.section_1col_services a.toogle-service-readmore h2{ color: #fff; transition: all 0.4s ease; }
.section_1col_services a.toogle-service-readmore:hover h2,
.section_1col_services a.toogle-service-readmore.active h2{ 
	color: transparent; text-stroke: 2px #fff; -webkit-text-stroke: 2px #fff; transition: all 0.4s ease; 
}
/* IE / IE10 Fix */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.section_1col_services a.toogle-service-readmore:hover h2,
	.section_1col_services a.toogle-service-readmore.active h2{ color: #fff; text-stroke: 0; -webkit-text-stroke: 0; }
}
.section_1col_services .service_read{ z-index: 4; }
.section_1col_services .service_expand{ height: 0; opacity: 0; overflow: hidden; transition: all 0.4s ease; }
.section_1col_services .service_expand.active{ height: auto; opacity: 1; transition: all 0.4s ease; }

.section_1col_services .service_expand{ position: relative; }
.section_1col_services .service_expand .content .text{ max-width: 80vw; }
.section_1col_services .service_expand .content .text p{ margin-top: 0; }
.section_1col_services .service_expand .content img{ display:block; box-sizing: border-box; padding: 0 1.25vw; }    
.section_1col_services .services-slider_row .slide{ padding: 1.25vw 0; }

.section_1col_services .service_expand.service_slide_image,
.section_1col_services .service_expand.service_slide_mixed{ margin-top: calc(-2.44rem - 2rem); }
.section_1col_services .service_expand.service_slide_image > .content,
.section_1col_services .service_expand.service_slide_mixed > .content{ padding-top: 0; }

.section_1col_services .service_expand.service_slide_text > .content{ padding-top: 0; }
.section_1col_services .service_expand.service_slide_text > .content p{ margin-top: 0; }

.section_1col_services .service_slide_mixed .slide-text{ padding: 2rem 5vw 0 5vw; }


.section_2col_feature{}
.section_2col_feature .content a{ display:block; position: relative; min-height: calc(4.22rem * 3); margin: 0 2.5vw; box-sizing: border-box; }
.section_2col_feature .content a .feat-image{ opacity: 0; max-height: 100%; transition: all 0.4s ease; }
.section_2col_feature .content a .feat-text{ position: absolute; top: 50%; left: 0; transform: translate(0, -50%); }
.section_2col_feature .content a .feat-text h2{ color: #026fc9; font-size: 2.84rem; transition: all 0.4s ease; }
.section_2col_feature .content a:hover{
	cursor: url(images/icon-enter.png) 8 8, pointer;
}
.section_2col_feature .content a:hover .feat-image{ opacity: 1; transition: all 0.4s ease; }
.section_2col_feature .content a:hover .feat-text h2{ color: transparent; text-stroke: 2px #026ec9; -webkit-text-stroke: 2px #026ec9; transition: all 0.4s ease; }
/* IE / IE10 Fix */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .section_2col_feature .content a:hover .feat-text h2{ color: #fff; text-stroke: 0; -webkit-text-stroke: 0; }
}


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/*-------------------------------------------------------- RESPONSIVE STYLES */
/*---------------------------------------------------------------------------*/
/* Desktop */
@media only screen and (min-width : 1920px) {}
@media only screen and (min-width : 1600px) {
	#site-header{ top: 30px; }
	#site-header .flex-container .flex-item .content{ padding: 30px 0; }
	#site-fixed-menu .fixed-5vw .content{ padding: 60px 0; }
	#site-menu .flex-parts-70 .content{ /*padding-left: 60px;*/ }
	#site-menu ul.site-mainnav li ul.sub-menu{ margin: 30px 0 0 0; }
	#site-menu .flex-item.item-contact-addres .content, #site-menu .flex-item.item-contact-details .content{ padding-bottom: 60px; }

	.section .inner{ padding-right: calc(5vw + 80px); }
	.section_banner.banner_slider_top .banner-slider-dots, .section_banner.banner_slider_bottom .banner-slider-dots{ right: 80px; }	
	#pagepiling-nav #pp-nav.right{ right: 80px; }	
}

@media only screen and (max-width : 1280px) {
	/*.h1.banner-heading{ font-size: 3.84rem; }*/
	h1, .h1, h2.h1, h1.banner-heading, .h1.banner-heading{ font-size: 3.4rem; }	
	h3, .h3{ font-size: 1.24rem; }

	#site-header img.site-logo, #site-header svg.site-logo{ height: 3.84rem; }
	.page_pile_slide .content{ margin-top: 3.84rem; }

	.services-slider_row-nav.prev, .services-slider_row-nav.next{}
	#site-menu ul.site-mainnav li{ font-size: 3.4rem; }
	#site-menu ul.site-mainnav li.item-small, #site-menu ul.site-mainnav li ul.sub-menu li{ font-size: 1rem; }
	#site-menu .site-by{ font-size: 0.77rem; }	

	.section_1col_profiles .content.break-heading h2{ font-size: 3.4rem; }
	.section_2col_feature .content a .feat-text h2{ font-size: 2.4rem; }

	.section_banner.banner_plain .flex-container .flex-item.flex-parts-30,
	.section_fullwidth_content .flex-container .flex-item.flex-parts-30{ flex-basis: 40%; width: 40%; max-width: 40%; }
	.section_banner.banner_plain .flex-container .flex-item.flex-parts-70,
	.section_fullwidth_content .flex-container .flex-item.flex-parts-70{ flex-basis: 60%; width: 60%; max-width: 60%; }
	.flex-container .flex-item.flex-parts-30 .content.heading{ padding-left: 0; word-break: break-word; }

	.section_banner.banner_slider_top .banner-part-slider,
	.section_banner.banner_slider_top .banner-part-slider .banner-slide,
	.section_banner.banner_slider_bottom .banner-part-slider,
	.section_banner.banner_slider_bottom .banner-part-slider .banner-slide{ 
		height: calc(var(--vh, 1vh) * 100);
		min-height: 460px;
	}
	.section_banner.banner_slider_bottom .banner-part-content{ min-height: 460px; }
}

@media only screen and (max-height : 800px){
	h1, .h1, h2.h1, h1.banner-heading, .h1.banner-heading{ font-size: 3.4rem; }	
}


/* iPad */
@media only screen and (max-width : 1100px) {
	.section_2col_feature .content a .feat-text h2{ font-size: 2rem; }
	.section_1col_profiles .content.break-heading h2{ font-size: 2rem; }
}
@media only screen and (max-width : 1024px) {
	#site-fixed-menu.menu-open .fixed-5vw{ height: 100%; min-height: 100%; max-height: 100% }
	.section_2col_feature .flex-container .flex-item.flex-parts-50{ flex-basis: 100%; width: 100%; max-width: 100%; }
}

@media only screen and (max-width : 1020px) {
	.h1, h2.h1, h1.banner-heading, .h1.banner-heading{ font-size: 2.84rem; }
	/*h1.banner-heading, .h1.banner-heading{ font-size: 3.84rem; }	*/

	#site-header .flex-container .flex-item.item-sitephone{ display: none; }
	#site-menu .flex-container .flex-item.flex-parts-30,
	#site-menu .flex-container .flex-item.flex-parts-70{ flex-basis: 100%; width: 100%; max-width: 100%; }
	#site-menu .flex-parts-70 .content{}
	#site-menu .flex-parts-30 .content{ padding-bottom: 0; }

	#site-menu .inner .flex-container{ display: block; padding-top: calc(2.84rem + 2.5vw); }
	#site-menu .inner .flex-container .flex-item .content{ /*padding-right: 1.84rem;*/ }
	#site-menu .inner .flex-container .item-contact-details{ padding-bottom: 1rem; }
	#site-fixed-menu.menu-open .fixed-side-social{ padding-bottom: 1rem; }

	#site-fixed-menu .fixed-5vw{ width: 2.84rem; max-width: 2.84rem; height: calc( 2.84rem + 10vw ); border: 0; right: 2vw; }
	#site-fixed-menu a.site-menu-toggle svg,
	#site-fixed-menu.menu-open a.site-menu-toggle svg{ width: 2.84rem; }
	#site-fixed-menu .fixed-side-book{ display: none; }
	#site-fixed-menu .fixed-side-social{}
	#site-fixed-menu .fixed-side-social a.social-icon{ width: 1.84rem; height: 1.84rem; }

	#pagepiling-nav #pp-nav.right{ right: 0; }

	.section_slide .h1, .section_slide h2.h1, .section_slide .h1.banner-heading{ font-size: 3.84rem; }
	.section_slide .flex-container .flex-item .content{ padding-right: 54px; }
	.page_pile_slide div.h3{ width: 100%; }

	.flex-container{ flex-wrap: wrap; }
	.flex-container .flex-item.flex-parts-30,
	.section_banner.banner_plain .flex-container .flex-item.flex-parts-30,
	.section_fullwidth_content .flex-container .flex-item.flex-parts-30{ flex-basis: 100%; width: 100%; max-width: 100%; }
	.flex-container .flex-item.flex-parts-70,
	.section_banner.banner_plain .flex-container .flex-item.flex-parts-70,
	.section_fullwidth_content .flex-container .flex-item.flex-parts-70{ flex-basis: 100%; width: 100%; max-width: 100%; }
	.flex-container .flex-item.flex-parts-50{ flex-basis: 100%; width: 100%; max-width: 100%; }

	.section_1col_profiles .content.image img{ padding-bottom: 1.84rem; }
	.section_1col_profiles .content.image{ padding: 0 5vw 2.5vw 0; }
	.section_1col_profiles .item-profile .flex-container{ flex-direction: column-reverse; }

	.flex-container .flex-item.flex-parts-30 .content.heading{ padding-left: 0; }

	.section_banner.banner_slider_top .banner-slider-dots, .section_banner.banner_slider_bottom .banner-slider-dots{ right: 0; }
	.section_banner .content.break-heading h1{ font-size: 2.84rem; }
	.section_banner .content.break-heading h1,
	.section_banner .content.break-heading .block-content{ padding-left: 7.5vw; padding-right: 0; }
	.section_banner .content.break-heading[data-words="3"] h1{ height: auto; }
	.section_banner .content.break-heading[data-words="3"] h1 span.top{ position: relative; }
	.section_banner .content.break-heading[data-words="3"] h1 span.left{ position: relative; transform: translate(-7.5vw, 0); /*transform: none;*/ top: 0; left: auto; }

	.section_2col_feature .content a .feat-image{ opacity: 1; max-width: 70%; }
	.section_2col_feature .content a .feat-text{ position: relative; }

	.services-slider_row .slick-slide.slick-current .slide .slide-content h2{ color: transparent; text-stroke: 2px #026ec9; -webkit-text-stroke: 2px #026ec9; }

	/* 1ROW SLIDER - Services */
	.section_1row_services .services-slider_row-nav.dots,
	.section_1row_services .services-slider_row-nav.prev, 
	.section_1row_services .services-slider_row-nav.next{
		display: none!important;
	}
	.section_1row_services .services-slider_row .slide{ 
		text-align: center; width: 100vw; max-width: 100vw; padding: 0 5vw; padding-right: 10vw;box-sizing: border-box; 
	}
	.section_1row_services .services-slider_row .slide .slide-content{ padding: 2.5vw 2.5vw; }
	.section_1row_services .services-slider_row .slide .slide-content h2{ font-size: 2rem; margin-top: 0.5rem; }

	.section_1row_services .services-slider_row .slide .slide-image.align_left,
	.section_1row_services .services-slider_row .slide .slide-image.align_right{ text-align: center; }

	.section_1row_services .services-slider_row .slide .slide-banner,
	.section_1row_services .services-slider_row .slide .slide-banner.align_left,
	.section_1row_services .services-slider_row .slide .slide-banner.align_middle,
	.section_1row_services .services-slider_row .slide .slide-banner.align_right{ 
		/*left: calc( 50% - 15vw ); right: auto; width: 30vw;*/
		display: block; opacity: 1; background-image: none!important; background-color: transparent;
		position: unset; left: auto; right: auto; height: auto; width: auto;
	}

	.section_1row_services .services-slider_row .slide .slide-image{ position: relative; z-index: unset; }
	.section_1row_services .services-slider_row .slide .slide-image img,
	.section_1row_services .services-slider_row .slide .slide-banner img,
	.section_1row_services .services-slider_row .slick-slide.slick-current .slide .slide-image img{ max-width: 70%; display: block; margin: 0 auto; opacity: 1; }


	/* 1COL SLIDER - Community */
	.section_1col_services .pad-left, 
	.section_1col_services .content.pad-left{ padding-left: 5vw; padding-right: 0; }
	.section_1col_services .service_expand{}
	.section_1col_services .service_expand.service_slide_image,
	.section_1col_services .service_expand.service_slide_mixed{ margin-top: -2rem; }
	.section_1col_services a.toogle-service-readmore{}
	.section_1col_services .service_slide_mixed .slide-text{ padding-top: 0.44rem; }

	.section_1col_services .services-slider_row .slide{ width: 90vw; max-width: 90vw; }
	.section_1col_services .service_expand .content img{ padding: 0 2.5vw; }	

	.section_1col_services .services-slider_row-nav.dots{ margin-top: 0.8rem; }
	.section_1col_services .services-slider_row-nav.prev, 
	.section_1col_services .services-slider_row-nav.next{
		position: absolute; height: 2rem; width: 32.5%; z-index: 4; top: auto; bottom: 2.5vw;
		background-size: 1.4rem auto; /*opacity: 1;*/ opacity: 0; transition: opacity 0.4s ease; transition-delay: 0;
	}
	.section_1col_services .services-slider_row-nav.prev{ background-image: url(images/icon-prev.svg); background-position: right; }
	.section_1col_services .services-slider_row-nav.next{ background-image: url(images/icon-next.svg); background-position: left; }
	.section_1col_services .services-slider_row-nav.prev:hover, .section_1col_services .services-slider_row-nav.next:hover{
		cursor: pointer; opacity: 1; opacity: 1;
	}
	.section_1col_services .service_expand.active .services-slider_row-nav.prev,
	.section_1col_services .service_expand.active .services-slider_row-nav.next{ opacity: 1; transition: opacity 0.4s ease; transition-delay: 1.0s; }


	#site-menu .scroll-container .items-nav-container{ padding-top: 0; }
    #site-menu .scroll-container .items-nav-container .call-container{ display: none; }
}
/* IE / IE10 Fix */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) and (max-width : 1020px) {
	.services-slider_row .slick-slide.slick-current .slide .slide-content h2{ color: #fff; text-stroke: 0; -webkit-text-stroke: 0; }
}

@media only screen and (max-width : 764px) {
	#pagepiling-nav{}
	#pagepiling-nav #pp-nav.right{ right: auto; left: 0; width: 100%; bottom: 0; top: auto; height: 54px;   }
	#pagepiling-nav #pp-nav ul{ display: block; width: 100%; position: absolute; bottom: 0;  left: 0; padding: 1rem 5vw;  box-sizing: border-box; }
	#pagepiling-nav #pp-nav ul li{ display: inline-block; vertical-align: bottom; width: 40px; margin: 0 5vw 0 0; }
	#pagepiling-nav #pp-nav span{ width: 40px; }
	#pagepiling-nav #pp-nav .visited span::after{ width: 40px; }

	.section_banner.banner_slider_top .banner-slider-dots ul li span, 
	.section_banner.banner_slider_bottom .banner-slider-dots ul li span{ width: 40px; }
	.section_banner.banner_slider_top .banner-slider-dots ul li.visited span::after, 
	.section_banner.banner_slider_bottom .banner-slider-dots ul li.visited span::after,
	.section_banner.banner_slider_top .banner-slider-dots ul li.slick-active span::after, 
	.section_banner.banner_slider_bottom .banner-slider-dots ul li.slick-active span::after{ width: 40px; }
	@keyframes banner_slider_drawtime{ 0%{ width: 0; } 100%{ width: 40px; } }	


	#page-banner a.jump-start{ left: auto; right: 5vw; }
	#page-banner .banner-part-slider a.jump-start{ margin-bottom: 1rem; }
	#page-banner a.jump-start .arrow{ background-position: bottom right; }

	.section_banner.banner_slider_bottom .banner-part-slider,
	.section_banner.banner_slider_top .banner-part-slider{ position: relative; }
	.section_banner.banner_slider_top .banner-slider-dots, 
	.section_banner.banner_slider_bottom .banner-slider-dots{ 
		height: 100%;  width: 100%;  position: absolute;  transform: none;  padding: 0;  top: 0;  left: 0;  bottom: auto;
	}
	.section_banner.banner_slider_top .banner-slider-dots ul, 
	.section_banner.banner_slider_bottom .banner-slider-dots ul{
		top: auto;  bottom: 0;  position: absolute; width: 100%; height: 54px; padding: 1rem 5vw; box-sizing: border-box;
	}
	.section_banner.banner_slider_top .banner-slider-dots ul li, 
	.section_banner.banner_slider_bottom .banner-slider-dots ul li{
		display: inline-block; vertical-align: bottom; width: 40px; margin: 0 5vw 0 0;
	}

	.section_1col_services .service_expand .content img{ padding: 0 2.5vw; }
	.section_1col_services .service_slide_mixed .slide-caption{ padding: 0 2.5vw; }
	.section_1col_services .services-slider_row-nav.prev, 
	.section_1col_services .services-slider_row-nav.next{ width: 22.5%; }	
}

/* Mobile */
@media only screen and (max-width : 680px) {
	h1, .h1, h2.h1, .h1.banner-heading,.section_1col_profiles .content.break-heading h2{ font-size: 1.8rem; line-height: 1.2; }
	h1 br, .h1 br, h2.h1 br{ display: none; }
	h3, .h3{ font-size: 1.12rem; }

	#page-banner a.jump-start .arrow{ background-size: 1.4rem 1.4rem; }

	.section_banner .content.break-heading h1{ font-size: 1.8rem; height: auto; }
	.section_banner .content.break-heading h1, .section_banner .content.break-heading .block-content{ padding-left: 0; }
	.section_banner .content.break-heading,
	.section_banner .content.break-heading[data-words="3"][data-breaks="2"]{ margin-bottom: 0.5rem; }
	h1 div.word{ padding-right: 0; }
	.section_banner .content.break-heading[data-words] h1 span,
	.section_banner .content.break-heading h1 span.top,
	.section_banner .content.break-heading h1 span.left,
	.section_banner .content.break-heading h1 span.bottom{ 
		position: relative!important; transform: initial!important; 
		left: auto; right: auto; top: auto; bottom: auto; display: block; /*display: inline-block; vertical-align: baseline;*/
	}
	.section_banner .content.break-heading[data-words="3"] h1 span.bottom.multi span{ right: auto; text-align: left; vertical-align: baseline; }	

	#site-menu ul.site-mainnav li{ font-size: 1.7rem; }
	#site-menu ul.site-mainnav > li > a:hover{ text-stroke: 1px #fff; -webkit-text-stroke: 1px #fff; }

	small, .text-small{ font-size: 0.82rem; }	
	#site-menu .text-small, #site-menu .item-contact-address .content, #site-menu .item-contact-details .content{ font-size: 0.7rem; }

	#site-menu .item-contact-details br + br{ display: none; }

	.section_1col_profiles .content.break-heading.expanded h2.expand-toggle{ text-stroke: 1px #026fc9; -webkit-text-stroke: 1px #026fc9; }
	.services-slider_row .slick-slide.slick-current .slide .slide-content h2{ text-stroke: 1px #026ec9; -webkit-text-stroke: 1px #026ec9; }
	.services-slider_row .slide .slide-content:hover h2{ text-stroke: 1px #026ec9; -webkit-text-stroke: 1px #026ec9; }
	.section_1col_services a.toogle-service-readmore:hover h2, .section_1col_services a.toogle-service-readmore.active h2{ text-stroke: 1px #fff; -webkit-text-stroke: 1px #fff; }
	.section_1row_services a.toogle-service-readmore:hover h2, .section_1row_services a.toogle-service-readmore.active h2{ text-stroke: 1px #fff; -webkit-text-stroke: 1px #fff; }

	.section_2col_feature .content a:hover .feat-text h2{ text-stroke: 1px #026ec9; -webkit-text-stroke: 1px #026ec9; }
	.section_1col_profiles .flex-item.item-profile{ margin-bottom: 1rem; }
	.section_1col_profiles .content.image img{ padding-bottom: 1rem; }	

	.section_2col_feature .content a .feat-text{ top: 0; transform: initial; }
	.section_2col_feature .content a .feat-text h2{ font-size: 1.42rem; margin: 1rem 0 5vw 0; }
	.section_2col_feature .content a .feat-image{ max-height: 70vh; }

	.section_1row_services .services-slider_row .slide .slide-content h2{ font-size: 1.42rem; margin: 1rem 0 5vw 0; }	

	.section_1col_services .service_expand .content .text{ max-width: 100%; }	
	.section_1col_services a.toogle-service-readmore h2{ margin: 1rem 40px 1rem 0; }
	.section_1col_services .services-slider_row-nav.dots ul.ssr-nav-counter{ font-size: 0.8rem; height: 1.6rem; line-height: 1.6rem; }
	.section_1col_services .services-slider_row-nav.prev, .section_1col_services .services-slider_row-nav.next{ height: 1.6rem; background-size: 1rem auto; }

	h1.banner-heading, .h1.banner-heading{ font-size: 1.84rem; /*word-break: break-all;*/ }
	.section_slide .h1, .section_slide h2.h1, .section_slide .h1.banner-heading{ font-size: 1.84rem; /*word-break: break-all;*/ }
	.section_slide .flex-container .flex-item .content {/*padding-right: 40px;*/ padding-right: 0; }

	#site-main .section.section_fullwidth_content:last-child{ padding-bottom: 1rem; }

	/*.section_1col_profiles .content.image{ height: auto; opacity: 1; }
	.section_1col_profiles .content.image img{ margin: 0; }*/

	.section_2col_contact_maps .flex-container .flex-item.item-contact-map{
		display: none;
		width: 100%;
    	flex-basis: 100%;
	}
		.section_2col_contact_maps .iframe-container iframe{
			width: 100%;
			height: 320px;
		}
	.section_2col_contact_maps .flex-container .flex-item.item-contact-address{
		width: 100%;
    	flex-basis: 100%;
	}
	.section_2col_contact_maps .flex-container .flex-item.item-contact-address .content.text{
		padding-left: 0;
	}
	.section_2col_contact_maps .contact-container + .contact-container{}
}

@media only screen and (max-width : 370px) {
	h1, .h1, h2.h1, .h1.banner-heading,.section_1col_profiles .content.break-heading h2{ font-size: 1.42rem; }
	.section_banner .content.break-heading h1{ font-size: 1.42rem; height: auto; }		

}

/*
@media only screen and (max-width : 740px) {
	#wpadminbar{
		display: none;
		position: fixed;
		top: calc(100vh - 46px);
		top: calc(var(--vh, 1vh) * 100  - 46px);
	}	
}
*/


/*---------------------------------------------------------------------------*/
/*------- FIX HOVER/ACTIVE STATES -------------------------------------------*/
html.mobile-browser, body.mobile-browser{}

	/*body.mobile-browser main .bg-charcoal{ border-bottom: 1px solid #231f20; }
	body.mobile-browser main .bg-charcoal + .bg-charcoal{ margin-top: -1px; border-top: 1px solid #231f20; }*/

	body.mobile-browser #site-fixed-menu a.site-menu-toggle, 
	body.mobile-browser #site-fixed-menu a.site-menu-toggle:hover{ color: #fff; fill: #fff; }
	body.mobile-browser.scrolling #site-fixed-menu a.site-menu-toggle, 
	body.mobile-browser.scrolling #site-fixed-menu a.site-menu-toggle:hover{ color: #fff; fill: #fff; }
	body.mobile-browser #site-fixed-menu.menu-open a.site-menu-toggle, 
	body.mobile-browser #site-fixed-menu.menu-open a.site-menu-toggle:hover,
	body.mobile-browser.scrolling #site-fixed-menu.menu-open a.site-menu-toggle, 
	body.mobile-browser.scrolling #site-fixed-menu.menu-open a.site-menu-toggle:hover{ color: #fff; fill: #fff; }
	body.mobile-browser #site-fixed-menu .fixed-side-social a.social-icon:hover{ color: #fff; fill: #fff; }

	body.mobile-browser .section_1col_services a.toogle-service-readmore:not(.active):hover h2{
		color: #fff; -webkit-text-stroke: 0; text-stroke: 0;
	}
	body.mobile-browser .services-slider_row .slide .slide-content:not(.active):hover h2{
		color: #fff; -webkit-text-stroke: 0; text-stroke: 0;
	}
	body.mobile-browser .section_1col_profiles .content.break-heading:not(.expanded) h2.expand-toggle:hover{
		color: #026fc9; -webkit-text-stroke: 0; text-stroke: 0;
	}

@media only screen and (max-width : 680px) {
	#site-fixed-menu a.site-menu-toggle, #site-fixed-menu a.site-menu-toggle:hover{ color: #fff; fill: #fff; }
	body.scrolling #site-fixed-menu a.site-menu-toggle, body.scrolling #site-fixed-menu a.site-menu-toggle:hover{ color: #fff; fill: #fff; }
	#site-fixed-menu.menu-open a.site-menu-toggle, #site-fixed-menu.menu-open a.site-menu-toggle:hover,
	body.scrolling #site-fixed-menu.menu-open a.site-menu-toggle, body.scrolling #site-fixed-menu.menu-open a.site-menu-toggle:hover{ color: #fff; fill: #fff; }
}



