/*------------- COLORS

- green: #0892A5 rgba(8,146,165,1)
- text/grey: #0E0004 rgba(14,0,4,1)
- lgrey: #F3F3F3 rgba(243,243,243,1)
- F3F3F3 -> FFFFFF: lgrey gradient header
- extra light grey: #E8E8E8 rgba(232,232,232,1)
- extra extra light grey: #D3D3D3 rgba(211,211,211,1)

- mred: #EB9491 rgba(235,148,145,1)
- medium grey: #979797 rgba(151,151,151,1)
- extra medium grey: #564c4f rgba(86,76,79,1) == grey with 70% opacity over #fff bg
- almost white: #FBFBFB rgba(251,251,251,1)

*/

/*** CSS PROPERTIES/VARIABLES ------------------------------ */

:root {
   /* colors*/
   --green:#0892A5;
   --grey:#0E0004;
   --lgrey:#F3F3F3;
   --xlgrey:#E8E8E8;
   --xxlgrey:#D3D3D3;

   --mred:#EB9491;
   --mgrey:#979797;
   --xmgrey:#564c4f;
   --almostwhite:#FBFBFB;

   /* scrollbars */
   /*--scrollbar-size:Xpx; /* will be set from js: SEE functions adjustScrollbar and scrollbarProperties in main.js */
   /*--vwratio:Xpx; /* will be set from js: SEE functions adjustScrollbar and scrollbarProperties in main.js */
}



/* ---------- OBTRUSIVE SCROLLBARS */

/* Obtrusive scrollbars : class .scrollbars-obtrusive added to html+body elements */
/* Non-Obtrusive scrollbars : class .scrollbars-overlay added to html+body elements */

html.scrollbars-obtrusive:not(.withscrollbars) {
   /*overflow-y:scroll; /* force place for the scrollbar even if there is no content to be scrolled, to avoid springing by changing between showing-hiding obtrusive scrollbars */
}
html:not(.scrollbars-overlay):not(.scrollbars-obtrusive)::-webkit-scrollbar,
body:not(.scrollbars-overlay):not(.scrollbars-obtrusive)::-webkit-scrollbar { /* chrome, safari, edge, opera */
   height:15px; /* init, SEE: function adjustScrollbar in main.js */
   width:15px;
}


/* Non scrollable (+ hidden scrollbar) :
*  - class .noscrollbar added to body+html elements
*/

.noscrollbar:not(.win)::-webkit-scrollbar { /* chrome, edge, safari, opera */ /* From Safari 13 on iOS, only display:none works with the pseudo-element ::-webkit-scrollbar */
   display:none;
   width: 0px !important;
   height: 0px !important;
   background: transparent;
   -webkit-appearance: none; /* safari */
   -webkit-overflow-scrolling: touch; /* iOS */
}
.win.noscrollbar::-webkit-scrollbar {
   display:none;
   width:0 !important;
   height: 0px !important;
   background: auto;
   -webkit-appearance: auto;
}
.noscrollbar {
   scrollbar-width: none; /* firefox */
   overflow: -moz-scrollbars-none;
   -ms-overflow-style: none;  /* IE 10+ */
}
.noscrollbar {
   overflow:hidden !important;
}


/* Keeping widths (and thus avoid content spring) with obtrusive scrollbars
by hiding the scrollbar of (== adding class .nonscrollbar to) body/html elements */
/* - Add class .keepwidth to elements that use the whole width of html/body (.ct-header, .site-footer, .site-content..)
*    and should NOT traspase parents borders, because they will change their widths by hiding the vertical scrollbar => css rules:
*     -- width:100% : if html/body WITHOUT .noscrollbar.scrollbars-obstrusive.withscrollbars classes
*     -- width:calc(100% - var(--scrollbar-size)) : if html/body WITH .noscrollbar.scrollbars-obstrusive.withscrollbars classes
*     -- transition duration and delay for width and margin-right (maybe also right) must be set to 0s : if html/body WITH .scrollbars-obstrusive.withscrollbars class
*/

.keepwidth,
.noscrollbar.scrollbars-overlay .keepwidth {
   margin-right:0;
}
.noscrollbar.scrollbars-obtrusive.withscrollbars .keepwidth {
   margin-right:var(--scrollbar-size,0);
}


/* Hidden additional scrollbars in content elements, but keeping the elements scrollable */
/* - Add class .hiddenscrollbar/.hiddenobscrollbar to elements that generate an inline scrollbar
*    (to hide it, but still be able to scroll the elements content) =>
*     -- overflow-y:scroll
*     -- overflow-y:auto + content is longer as the height of the element
*     -- overflow-y:visible + content is longer as the height of the element
* - Class .hiddenscrollbar: for elements which scrollbar should ALWAYS be hidden
*   => use it with/without class .scrollbars-obtrusive for html/body
* - Class .hiddenobscrollbar: for elements which scrollbar should be hidden ONLY if user has obtrusive scrollbars selected
*   => use it ONLY combined with class .scrollbars-obtrusive for html/body
*/

.hiddenobscrollbar {
   opacity:0; /* keep it hidden till checking witch kind of scrollbars (obtrusive or not) we have */
}
.hiddenscrollbar,
.scrollbars-obtrusive .hiddenobscrollbar,
.scrollbars-overlay .hiddenobscrollbar {
   opacity:1;
}
.hiddenscrollbar,
.scrollbars-obtrusive .hiddenobscrollbar {
   scrollbar-width:none !important; /* firefox */
   -ms-overflow-style: -ms-autohiding-scrollbar !important; /* In IE this will only hide the scrollbar when it is not in hover state. It can be hidden with -ms-overflow-style: none, but for devices that need to grab the scrollbar to scroll there’ll be no way to trigger the scrolling. */
}
.hiddenscrollbar::-webkit-scrollbar,
.scrollbars-obtrusive .hiddenobscrollbar::-webkit-scrollbar { /* chrome, safari, edge, opera */
   height:0px !important;
   width:0px !important;
}


/* Additional adjustment for obstrusive scrollbars may be required for special cases:
*  - Elements using vw units (for width, padding/margin left/right, right/left..):
*    to preserve vw as global unity equal for every element regardless of its width:
*    - use css property --vwratio (also set as global variable 'viewratioW' in js)
*      to get the value of a 1vw once rested the scrollbar-size, and be able with it
*      to calculate vw values uniform for all the elements :: 7vw == calc(7 * var(--vwratio,1vw))
*
*  - Elements with position:fixed > adjust: width AND/OR right-position + transition duration/delay for right-position
*  - Elements using the whole width of html/body (and should not traspase parents borders):
*     - CASE A: using 100vw => convert to calc(100vw - var(--scrollbar-size,0)) with html/body classes .scrollbars-obtrusive.withscrollbars
*     - CASE B: using 100% => convert to calc(100% - var(--scrollbar-size,0)) with html/body classes .noscrollbar.scrollbars-obtrusive.withscrollbars
*
*  - Elements using the whole width of the viewport (and may traspase parents borders):
*     - CASE A: using 100vw => do not convert
*     - CASE B: using 100% => convert to 100vw  with html/body classes .scrollbars-obtrusive.withscrollbars
*
* Additionally, transitions duration and delay for the related css rules (width, right..)
* muss be set to 0s
*/



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

/*:root {
  font-size: calc(0.5vw + 1vh + 0.5vmin);
}
body {
  font: 100 50%/1.5 'Roboto', sans-serif;
}*/

html {
	font-family: sans-serif;
	line-height: 1.5;
	/*-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;*/
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	margin-top:0 !important;
}
body {
   font-family:'Tomorrow',sans-serif;
   font-size:18px;
   font-weight:400;
   letter-spacing:0;
   line-height:1.5;
   color:var(--grey);
   position:relative;
   min-height:100vh;
   overflow-x:hidden;
   display:flex;
   flex-direction:column;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
   background-color:#fff;
}
/*body * {
	hyphens: auto;
	overflow-wrap: break-word;
}*/
body * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
   -webkit-tap-highlight-color: rgba(0,0,0,0); /* Remove grey background of clicked links by Safari on iOS*/
}

#page { /* use also class .hiddenobscrollbar */
   overflow:hidden;
   background-color:#fff;
   width:100%;
   max-width:100%;
   margin:0 auto;
}
.noscrollbar.scrollbars-obtrusive.withscrollbars #page {
   width:calc(100% - var(--scrollbar-size,0));
   margin-right:var(--scrollbar-size,0);
}
#scroll-top-point{
   display:inline-block;
   width:100%;
   height:0;
   position:absolute;
   top:0;
   visibility:hidden;
}

@media screen and (max-width:3999.98px){
   /*body{
      font-size:40px;
   }*/
}
@media screen and (max-width:3799.98px){
   /*body{
      font-size:38px;
   }*/
}
@media screen and (max-width:3599.98px){
   /*body{
      font-size:36px;
   }*/
}
@media screen and (max-width:3399.98px){
   /*body{
      font-size:34px;
   }*/
}
@media screen and (max-width:3199.98px){
   /*body{
      font-size:32px;
   }*/
}
@media screen and (max-width:2999.98px){
   /*body{
      font-size:30px;
   }*/
}
@media screen and (max-width:2799.98px){
   /*body{
      font-size:28px;
   }*/
}
@media screen and (max-width:2599.98px){
   /*body{
      font-size:26px;
   }*/
}
@media screen and (max-width:2399.98px){
   /*body{
      font-size:24px;
   }*/
}
@media screen and (max-width:2299.98px){
   body{
      font-size:22px;
   }
}
@media screen and (max-width:2199.98px){
   body{
      font-size:21px;
   }
}
@media screen and (max-width:2099.98px){
   body{
      font-size:20px;
   }
}
@media screen and (max-width:1999.98px){
   body{
      font-size:19px;
   }
}
@media screen and (max-width:1899.98px){
   body{
      font-size:18px;
   }
}
@media screen and (max-width:1759.98px){
   body{
      font-size:17px;
   }
}
@media screen and (max-width:1443.98px){
   body{
      font-size:16px;
   }
}
@media screen and (max-width: 1199.98px){
   body{
      font-size:16px;
   }
}
@media screen and (max-width: 991.98px){
   body{
      font-size:15px;
   }
}
@media screen and (max-width: 767.98px){
   body{
      font-size:15px;
   }
}
@media screen and (max-width: 575.98px){
   body{
      font-size:14px;
   }
}
@media screen and (max-width: 349.98px){
   body{
      font-size:13px;
   }
}



/*------------- LINKS */

a {
   overflow-wrap:break-word;
   word-wrap:break-word;
	text-decoration:underline;
	-webkit-transition: color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.3s cubic-bezier(0.4,0,0.2,1), text-decoration-color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition: color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.3s cubic-bezier(0.4,0,0.2,1), text-decoration-color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1);
   color:currentColor;
}
.menu-item a {
	text-decoration:none;
}
a:focus,
a:hover,
a:active {
	outline-width: 0;
   color:currentColor;
}
a:hover {
	text-decoration:none;
   color:currentColor;
}
.alignnone,
a img.alignnone {
   margin: 0;
}
.standard-page-content-wlimit a {
   color:var(--grey);
}
.standard-page-content-wlimit a:hover {
   color:var(--grey);
}
a .bottomline {
	width:0;
	display:inline-block;
	height:2px;
	background-color:var(--red);
	-webkit-transition: width 0.25s ease;
	transition: width 0.25s ease 0.5s;
}



/*------------- TEXT */

p {
   margin-bottom:1.5em; /* equal to base line-height */
}
p:last-child {
	margin-bottom: 0;
}
strong {
   font-weight:bold;
   font-weight:600;
}


/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
   margin:0 auto;
   word-wrap:break-word;
   overflow-wrap:break-word;
   line-height:1.2;
   color:var(--green);
   letter-spacing:.065em;
   font-weight:normal;
   text-transform:none;
}
h1,h2,h3 {
   font-family:'Gilroy-Light',sans-serif;
}
h4,h5,h6 {
   font-family:'Gilroy-ExtraBold',sans-serif;
   font-variant:small-caps;
}
h1 b, h1 strong,
h2 b, h2 strong,
h3 b, h3 strong {
   font-family:'Gilroy-Extrabold',sans-serif;
}
h1.tx-smallcaps b, h1.tx-smallcaps strong,
h2.tx-smallcaps b, h2.tx-smallcaps strong,
h3.tx-smallcaps b, h3.tx-smallcaps strong {
   letter-spacing:.15em;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
   font-size:75%;
}
h1 {
	font-size:2.9em; /* == 50px */
}
h2 {
	font-size:2.9em; /* == 50px */
}
h3 {
	font-size:2.8em; /* == 48px */
}
h4 {
	font-size:2.25em; /* == 36px */
}
h5 {
	font-size:1.625em; /* == 26px */
}
h6 {
	font-size:1.176em; /* == 20px */
}

@media screen and (max-width: 1099.98px){
   h1 {
      font-size:2.7em; /* == 43.2px */
   }
   h2 {
      font-size:2.7em; /* == 43.2px */
   }
   h3 {
      font-size:2.6em; /* == 41.6px */
   }
}
@media screen and (max-width: 991.98px){
   h1 {
      font-size:2.5em; /* == 37.5px */
   }
   h2 {
      font-size:2.5em; /* == 37.5px */
   }
   h3 {
      font-size:2.4em; /* == 36px */
   }
}
@media screen and (max-width: 899.98px){
   h1 {
      font-size:2.3em; /* == 34.5px */
   }
   h2 {
      font-size:2.3em; /* == 34.5px */
   }
   h3 {
      font-size:2.2em; /* == 33px */
   }
}
@media screen and (max-width: 849.98px){
   h1 {
      font-size:2.2em; /* == 33px */
   }
   h2 {
      font-size:2.2em; /* == 33px */
   }
   h3 {
      font-size:2.1em; /* == 31.5px */
   }
}
@media screen and (max-width: 799.98px){
   h1 {
      font-size:2.1em; /* == 31.5px */
   }
   h2 {
      font-size:2.1em; /* == 31.5px */
   }
   h3 {
      font-size:2em; /* == 30px */
   }
}
@media screen and (max-width: 768.98px){
   h1 {
      font-size:2.9em; /* == 43.5px */
   }
   h2 {
      font-size:2.9em; /* == 43.5px */
   }
   h3 {
      font-size:2.8em; /* == 42px */
   }
}
/*@media screen and (max-width: 575.98px){
   h1 {
      font-size:2.9em; /* == 40.6px */
   /*}
   h2 {
      font-size:2.9em; /* == 40.6px */
   /*}
   h3 {
      font-size:2.8em; /* == 39.2px */
   /*}
}*/
/*@media screen and (max-width: 349.98px){
   h1 {
      font-size:2.9em; /* == 37.7px */
   /*}
   h2 {
      font-size:2.9em; /* == 37.7px */
   /*}
   h3 {
      font-size:2.8em; /* == 36.4px */
   /*}
}*/



/*------------- MEDIA */

img {
   max-width:100%;
   height:auto;
}
video {
   object-fit:contain;
   max-width:100%;
   width:100%;
   height:auto;
}
.wp-video {
   width:100% !important;
}
.wp-playlist {
   border: 0 solid #ccc;
   padding: 0;
   margin: 12px 0 18px;
   font-size: 14px;
	line-height: 1.36;
}


/** MediaElement player **/

.mejs-container,
.mejs-embed,
.mejs-embed body {
	background: transparent !important;
}
.mejs-container .mejs-controls {
	background:var(--salbei) !important;
}
.mejs-container.ct_mejs-container.fw-video-shortcode .mejs-controls {
  display: none !important;
}
.mejs-controls .mejs-time-rail .mejs-time-current {
	background:var(--green) !important;
}
.mejs-volume-button > .mejs-volume-slider {
	background:rgba(88,147,127,.7) !important; /* green #58937f */
}


/* Caption */

.wp-caption{
   background:#fff;
   border:1px solid #f0f0f0;
   max-width:96%;
   padding:5px 3px 10px;
   text-align:center;
}
.wp-caption.alignnone{
   margin:5px 20px 20px 0;
}
.wp-caption.alignleft{
   margin:5px 20px 20px 0;
}
.wp-caption.alignright{
   margin:5px 0 20px 20px;
}
.wp-caption img{
   border:0 none;
   height:auto;
   margin:0;
   max-width:98.5%;
   padding:0;
   width:auto;
}
.wp-caption p.wp-caption-text{
   font-size:11px;
	line-height: 1.36;
   margin:0;
   padding:0 4px 5px;
}



/*------------- SVG ICONS */

svg {
	overflow:visible !important;
}
svg.icon {
	display: inline-block;
	color: currentColor;
	height: auto;
	position: relative; /* Align more nicely with capital letters */
	top:0;
	vertical-align: middle;
	-webkit-transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
	transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}


/* Buttons */
svg.icon.icon-button-top {
	width:46px;
}
.icon.icon-button-top .st0 {
   fill:none;
   stroke-width:8;
   stroke:currentColor;
}



/*------------- CUSTOM CLASSES */

.fl-left {
   float:left;
   max-width:calc(50% - 15px);
   width:calc(50% - 15px);
   margin-right:15px;
}
.fl-right {
   float:right;
   max-width:calc(50% - 15px);
   width:calc(50% - 15px);
   margin-left:15px;
}
.clear {
   display:block;
   clear:both;
   width:100%;
   height:0;
}

@media screen and (max-width:767.98px) {
   .fl-left,
   .fl-right {
      float:none;
      max-width:100%;
      width:100%;
      margin-left:auto;
      margin-right:auto;
   }
   .fl-right {
      margin-top:4em;
   }
}


/* Background colors */

.bg-none {
   background-color:rgba(0,0,0,0) !important;
}
.bg-white {
   background-color:#fff;
}
.bg-grey {
   background-color:var(--grey);
}
.bg-lgrey {
   background-color:var(--lgrey);
}
.bg-green {
   background-color:var(--green);
}
.bg-lgrey-gradient { /* + with #fff bg */
   background:-webkit-linear-gradient(270deg, rgb(243,243,243) 0%, rgba(243, 243, 243,1) 50%, rgba(243,243,243,.7) 60%, rgba(243,243,243,0) 96%);
   background:linear-gradient(180deg, rgb(243,243,243) 0%, rgba(243, 243, 243,1) 50%, rgba(243,243,243,.7) 60%, rgba(243,243,243,0) 96%);
}


/* Text colors */

.tx-grey {
   color:var(--grey);
}
.tx-lgrey {
   color:var(--lgrey);
}
.tx-green {
   color:var(--green);
}
.tx-black {
   color:#000;
}
.tx-white {
   color:#fff;
}


/* Text options */

.tx-regular {
   font-weight:400;
}
.tx-medium {
   font-weight:500;
}
.tx-semibold {
   font-weight:600;
}
.tx-bold {
   font-weight:bold;
   font-weight:800;
}
.tx-smallcaps {
   font-variant:small-caps;
}
.tx-sans {
   font-family:'Tomorrow',sans-serif;
}
.tx-serif {
   font-family:serif;
}
.tx-bigger {
   font-size:1.1em;
}
.tx-smaller {
   font-size:0.9em;
}
.text-justify {
   text-align:justify;
}
.tx-left {
   text-align:left;
}
.tx-right {
   text-align:right;
}
.tx-center {
   text-align:center;
}



/*------------- ELEMENTS */

/* Menus */
ul.menu {
   margin-bottom:0;
   list-style:none;
   padding:0;
}

.menu-wrapper .active {
   display:block;
}
.menu-item {
	list-style:none;
}
.menu-wrapper .menu-item {
   position:relative;
}


/* Alignments */

.alignnone{
   margin:0;
}
.aligncenter,div.aligncenter{
   display:block;
   margin:0 auto;
}
.alignright{
   float:right;
   margin:0 0 0 20px;
}
.alignleft{
   float:left;
   margin:0 20px 0 0;
}
a img.alignright{
   float:right;
   margin:0 0 0 20px;
}
a img.alignnone{
   margin:0;
}
a img.alignleft{
   float:left;
   margin:0 20px 0 0;
}
a img.aligncenter{
   display:block;
   margin-left:auto;
   margin-right:auto;
}


/* Lists */

ul:not(.menu):not(.sub-menu):not(.select2-selection__rendered):not(.select2-results__options),
dl {
   margin-bottom:1.5em; /* equal to p margin-bottom */
   padding-left:0;
}
@counter-style brackets-nr-olist {
  system: numeric;
  symbols: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9";
  prefix: "(";
  suffix: ") ";
  pad:2.3em;
}
ol {
   margin-bottom:1.5em; /* equal to p margin-bottom */
   padding-left:2.5em; /* at least as big as pad of the counter-style 'brackets-nr-olist' */
/*list-style: symbols(numeric "(0)" "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)");*/
list-style:brackets-nr-olist;
}
ul:last-child,
dl:last-child,
ol:last-child {
   margin-bottom:0;
}
ol > li::marker {
/*display:inline-block;*/
   font-variant-numeric: tabular-nums;
	text-align: start;
	text-transform: none;
	unicode-bidi: isolate;
	white-space: pre;
}
ul:not(.menu):not(.sub-menu):not(.select2-selection__rendered):not(.select2-results__options) > li {
   margin-top:1.5em;
   text-align:match-parent;
   display:list-items;
   list-style-type:none;
   position:relative;
   padding-left:1em;
}
ul:not(.menu):not(.sub-menu):not(.select2-selection__rendered):not(.select2-results__options) > li:before {
   content:'–';
   position:absolute;
   left:0;
}


/* Buttons */

button {
	-webkit-appearance: unset !important;
	appearance: unset !important;
	border-width: 0;
	background-color: transparent;
	outline: none !important;
}


/* Pseudo tables */

.pstable {
   display:table;
   border-spacing:0;
   width:100%;
}
.psrow {
   display:table-row;
}
.pscell {
   display:table-cell;
   vertical-align:bottom;
}

@media screen and (max-width: 767.98px) {
   .pstable,
   .pscell {
      display:block;
      width:100%;
   }
}


/* Screen reader text */

.screen-reader-text{
   border:0;
   clip:rect(1px, 1px, 1px, 1px);
   clip-path:inset(50%);
   height:1px;
   margin:-1px;
   overflow:hidden;
   padding:0;
   position:absolute !important;
   width:1px;
   word-wrap:normal !important;
}
.screen-reader-text:focus{
   background-color:#eee;
   clip:auto !important;
   clip-path:none;
   color:#444;
   display:block;
   font-size:1em;
   height:auto;
   left:5px;
   line-height:normal;
   padding:15px 23px 14px;
   text-decoration:none;
   top:5px;
   width:auto;
   z-index:100000;
}


/* Loading animation */
/* Thanks to http://tobiasahlin.com/spinkit/ */

.loading-wrapper {
	height: 100px;
	width: 100%;
	text-align:center;
	position: absolute;
	top:0;
	left:0;
}
.spinner {
  margin: 100px auto;
  width: 100px;
  height: 100px;
  position: relative;
  text-align: center;
  -webkit-animation: sk-rotate 2.0s linear infinite;
  animation: sk-rotate 2.0s linear infinite;
}
.dot1, .dot2 {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: var(--green);
  opacity:.9;
  border-radius: 100%;
  -webkit-animation: sk-bounce 2.0s ease-in-out infinite;
  animation: sk-bounce 2.0s ease-in-out infinite;
}
.bgcolor-container.bg-green .dot1,
bgcolor-container .bg-green .dot2 {
  background-color:#fff;
}
.dot2 {
  top: auto;
  bottom: 0;
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes sk-rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes sk-rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}

@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}



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

#ct-header-wrapper {
   position:relative;
}
.ct-header {
   position:fixed;
   top:0;
   left:0;
   right:0;
   z-index:10; /* bigger as z-index of #backtotop */
   color:var(--grey);
   font-size:1em;
   font-weight:400;
	padding:0;
   min-height:100px;
	width:100%;
   max-width:100%;
   overflow:visible;
	opacity:0;
   box-shadow:0 0 0 0 rgba(0,0,0,0);
   -webkit-transition:all 0.3s ease, opacity 0.15s linear, box-shadow 0.05s ease, background 0.05s ease;
   transition:all 0.3s ease, opacity 0.15s linear, box-shadow 0.05s ease, background 0.05s ease;
/* uses bg-class .bg-white */
}
.scrollbars-obtrusive.withscrollbars .ct-header {
   -webkit-transition:all 0.3s ease, opacity 0.15s linear, box-shadow 0.05s ease, background 0.05s ease, width 0s linear, max-width 0s linear, right 0s linear, left 0s linear, padding-left 0s linear, padding-right 0s linear;
   transition:all 0.3s ease, opacity 0.15s linear, box-shadow 0.05s ease, background 0.05s ease, width 0s linear, max-width 0s linear, right 0s linear, left 0s linear, padding-left 0s linear, padding-right 0s linear;
}
.noscrollbar.scrollbars-obtrusive.withscrollbars .ct-header {
   width:calc(100% - var(--scrollbar-size,0));
   right:auto;
}
.ct-header.ready {
   opacity:1;
}
.ct-header.scrolled,
.ct-header.ready.scrolled {
   position:fixed;
   min-height:90px;
   background-color:var(--lgrey) !important;
   box-shadow:0 0 6px 1px rgba(200,200,200,.25);
   -webkit-transition:all 0.3s ease, opacity 0.15s linear, box-shadow 0.3s ease;
   transition:all 0.3s ease, opacity 0.15s linear, box-shadow 0.3s ease;
}
.scrollbars-obtrusive.withscrollbars .ct-header.scrolled,
.scrollbars-obtrusive.withscrollbars .ct-header.ready.scrolled {
   -webkit-transition:all 0.3s ease, opacity 0.15s linear, box-shadow 0.3s ease, width 0s linear, max-width 0s linear, right 0s linear, left 0s linear, padding-left 0s linear, padding-right 0s linear;
   transition:all 0.3s ease, opacity 0.15s linear, box-shadow 0.3s ease, width 0s linear, max-width 0s linear, right 0s linear, left 0s linear, padding-left 0s linear, padding-right 0s linear;
}
.ct-header.scrolled.inverse:not(.noshadowtrans),
.ct-header.ready.scrolled.inverse:not(.noshadowtrans) {
}
.ct-header #mastheader-inner {
   position:relative;
   z-index:10; /* bigger as z-index of #mainnav-condensed */
   display:block;
   min-height:100px; /* equal to of .ct-header min-height */
   width:100%;
   max-width:100%;
   padding:0 9% 5px;
   margin:0 auto;
   text-align:right;
	-webkit-transition:min-height 0.3s ease;
	transition:min-height 0.3s ease;
/* uses bg-class .bg-lgrey-gradient */
}
.ct-header.scrolled #mastheader-inner {
/*min-height:90px;*/
min-height:90px;
}

/*@media all and (min-width:1800px) {*/
@media all and (min-width:1760px) {
   .ct-header #mastheader-inner {
      padding-left: calc((100% - 1444px) / 2);
      padding-right: calc((100% - 1444px) / 2);
/*max-width:1444px; /* 1444px = 1760px (max content width) - 9% padding left+right */
   }
}
@media all and (max-width:991.98px) {
   .ct-header,
   .ct-header.scrolled,
   .ct-header.ready.scrolled {
/*min-height:90px; /* equal to .icon-logo max-height (90px) + padding top/bottom of .ct-header (0px) */
min-height:90px; /* equal to .icon-logo max-height (85px) + padding bottom of #mastheader-inner (5px) */
   }
   .ct-header #mastheader-inner,
   .ct-header.scrolled #mastheader-inner {
      min-height:90px;
   }
}
@media all and (max-width:767.98px) {
   .ct-header,
   .ct-header.scrolled,
   .ct-header.ready.scrolled {
/*min-height:70px;  /* equal to .icon-logo max-height (70px) + padding top/bottom of .ct-header (0px) */
min-height:70px;  /* equal to .icon-logo max-height (65px) + padding bottom of #mastheader-inner (5px) */
   }
   .ct-header #mastheader-inner,
   .ct-header.scrolled #mastheader-inner {
      min-height:70px;
   }
}


/* Header Inner --------------------------- */

#site-header {
	background: transparent;
	position: relative;
}
.header-inner {
	padding:0;
	z-index: 100;
   display:flex;
   align-items:end;
	justify-content: space-between;
}
.site-description {
	display: none !important;
}

@media all and ( min-width: 992px ) {
	#site-header {
		z-index: 2;
      padding:0;
      -webkit-transition: padding-top 0.3s ease;
      transition: padding-top 0.3s ease;
	}
	.ct-header.scrolled #site-header {
      padding:0;
	}
   .header-inner {
      align-items:normal;
   }
}


/* Header logo */

#mainlogo {
	margin:0;
	padding:14px 30px 0 0 !important;
   text-align:left;
   -webkit-transition:all 0s linear;
   transition:all 0s linear;
   pointer-events:none;
}
.mainlogo-link {
	display:block;
	position:relative;
	text-align:left;
	color:var(--grey);
	text-decoration: none;
	-webkit-transition: color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition: color 0.3s cubic-bezier(0.4,0,0.2,1);
}
.mainlogo-link:hover {
	color:var(--green);
	opacity:1;
}
.mainlogo-graf {
	display:inline-block;
   width:100%;
   max-width:210px;
   pointer-events:auto;
	position:relative;
   margin:0 auto;
	z-index:2;
   -webkit-transition:max-width 0.3s ease;
   transition:max-width 0.3s ease;
}
.ct-header.scrolled .mainlogo-graf {
   max-width:210px;
}
.ct-header.trans:not(.scrolled) .mainlogo-graf {
   max-width:210px;
}

#mainlogo .icon-logo {
   width:100%;
   height:auto;
   max-width:210px; /* => max-height: 50px */
   max-height:95px; /* equal to .ct-header min-height (100px) - 5px padding bottom of #mastheader-inner + padding #site-header (0px) */
   color:currentColor;
   -webkit-transition:all 0.25s ease;
   transition:all 0.25s ease;
}
.ct-header.scrolled #mainlogo .icon-logo {
   max-height:85px; /* equal to .ct-header min-height (90px) - 5px padding bottom of #mastheader-inner + padding #site-header (0px) */
}
#mainlogo .icon-logo .st1 {
   fill:currentColor;
   stroke:none;
}

@media screen and (max-width: 991.98px) {
   #mainlogo .icon-logo,
   .ct-header.scrolled #mainlogo .icon-logo {
      max-height:85px; /* equal to .ct-header min-height (90px) - 5px padding top/bottom of #mastheader-inner + #site-header (0px) */
   }
}
@media screen and (max-width: 767.98px) {
   #mainlogo {
      padding-top:10px !important;
   }
   #mainlogo .icon-logo,
   .ct-header.scrolled #mainlogo .icon-logo {
      max-width:164px; /* => max-height: 38.58px */
      max-height:65px; /* equal to .ct-header min-height (70px) - 5px padding top/bottom of #mastheader-inner + #site-header (0px) */
   }
}


/* Navigation toggle */

.col-hamburger {
	border-width:0;
	border-color:rgba(0,0,0,0);
	padding:0 0 5px;
   overflow:hidden;
   min-height:0 !important;
	opacity:1;
	-webkit-transition:all 0s linear, opacity 0.05s linear, transform 0.5s cubic-bezier(0.4,0,0.2,1);
	transition:all 0s linear, opacity 0.05s linear, transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.inverse .col-hamburger {
	-webkit-transition-delay:0.5s;
	transition-delay:0.5s;
}
.col-hamburger .nav-toggle {
   display:block;
   height:32px;
}


/* Navigation burger toogle
* @author Jonathan Suh @jonsuh
* @site https://jonsuh.com/hamburgers
* @link https://github.com/jonsuh/hamburgers
*/

.hamburger {
   padding:0;
   display: inline-block;
   cursor:pointer;
   font: inherit;
   text-transform: none;
   background-color: transparent !important;
   border:0;
   margin:0;
   overflow: visible;
   height:32px;
   -webkit-transition-property: opacity, filter;
   -webkit-transition-duration: 0.15s;
   -webkit-transition-timing-function: linear;
   transition-property: opacity, filter;
   transition-duration: 0.15s;
   transition-timing-function: linear;
}
.hamburger.hamburger-modal {
margin-top:0;
}
.hamburger-box {
   width:36px;
   height:32px;
   display:inline-block;
   position:relative;
}
.hamburger-inner {
   display:block;
   top:50%;
}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before {
   width:36px;
   height:4px;
   position:absolute;
   -webkit-transition: transform 0.15s ease, background-color 0.3s cubic-bezier(0.4,0,0.2,1);
   transition: transform 0.15s ease, background-color 0.3s cubic-bezier(0.4,0,0.2,1);
}
.ct-header .hamburger-inner,
.ct-header .hamburger-inner::after,
.ct-header .hamburger-inner::before {
   background-color:var(--grey);
}
#modalmenu .hamburger-inner,
#modalmenu .hamburger-inner::after,
#modalmenu .hamburger-inner::before {
   background-color:var(--lgrey);
}
body:not(.mobile) .ct-header .hamburger-box:hover .hamburger-inner,
body:not(.mobile) .ct-header .hamburger-box:hover .hamburger-inner::before,
body:not(.mobile) .ct-header .hamburger-box:hover .hamburger-inner::after,
body.mobile .ct-header .hamburger-box:not(.blured) .hamburger-inner,
body.mobile .ct-header .hamburger-box:not(.blured) .hamburger-inner::before,
body.mobile .ct-header .hamburger-box:not(.blured) .hamburger-inner::after {
   background-color: var(--green);
}
body:not(.mobile) #modalmenu .hamburger-box:hover .hamburger-inner,
body:not(.mobile) #modalmenu .hamburger-box:hover .hamburger-inner::before,
body:not(.mobile) #modalmenu .hamburger-box:hover .hamburger-inner::after,
body.mobile #modalmenu .hamburger-box:not(.blured) .hamburger-inner,
body.mobile #modalmenu .hamburger-box:not(.blured) .hamburger-inner::before,
body.mobile #modalmenu .hamburger-box:not(.blured) .hamburger-inner::after {
   background-color: var(--grey);
}
.hamburger-inner::after,
.hamburger-inner::before {
   content:"";
   display:block;
}
.hamburger-inner::before {
   top:-12px;
}
.hamburger-inner::after {
   bottom:-12px;
}


/* Close toggle (modal) */

.close-nav-toggle-wrapper {
   display: flex;
   justify-content: flex-end;
   align-items:start;
   padding:0;
	color:var(--grey);
	position:fixed;
	z-index:3;
   top:10px;
   right:9%; /* equal to #mastheader-inner padding-right */
	overflow:visible;
   color:#fff;
}
.close-nav-toggle {
   display: flex;
   justify-content:flex-end;
   align-items: start;
   height:32px;
   padding:0;
	color:var(--grey);
   position:relative;
   top:0;
   right:0;
   z-index:2;
	border-radius:0 !important;
   opacity:1;
   color:#fff;
   background-color:transparent !important;
	-webkit-transition:all 0s linear, opacity 0.15s ease;
	transition:all 0s linear, opacity 0.15s ease;
}
#modalmenu.inverse:not(.active) .close-nav-toggle {
   opacity:0;
}
.close-nav-toggle.bottomlimit {
	opacity:0;
	z-index:0;
}
#modalmenu.inverse:not(.active) .hamburger-inner,
#modalmenu.inverse:not(.active) .hamburger-inner::before,
#modalmenu.inverse:not(.active) .hamburger-inner::after {
   background-color:transparent;
}

@media all and (max-width:1099.98px) {
   .close-nav-toggle {
      right:calc(9% - 2px); /* equal to #mastheader-inner padding-right - 2px */
   }
}


/* Burger squeeze animation */

.hamburger-inner {
   -webkit-transition: transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
   transition: transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
}
.hamburger-inner::before {
   -webkit-transition: opacity 0.075s ease, background-color 0.3s cubic-bezier(0.4,0,0.2,1), top 0.075s 0.12s ease;
   transition: opacity 0.075s ease, background-color 0.3s cubic-bezier(0.4,0,0.2,1), top 0.075s 0.12s ease;
}
.hamburger-inner::after {
   -webkit-transition: transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0.3s cubic-bezier(0.4,0,0.2,1), bottom 0.075s 0.12s ease;
   transition: transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0.3s cubic-bezier(0.4,0,0.2,1), bottom 0.075s 0.12s ease;
}
.nav-toggle.active .hamburger-inner {
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
   -webkit-transition: transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
   transition: transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
}
.nav-toggle.active .hamburger-inner::before {
   top: 0;
   opacity: 0;
   -webkit-transition: opacity 0.075s 0.12s ease, background-color 0.3s cubic-bezier(0.4,0,0.2,1), top 0.075s ease;
   transition: opacity 0.075s 0.12s ease, background-color 0.3s cubic-bezier(0.4,0,0.2,1), top 0.075s ease;
}
.nav-toggle.active .hamburger-inner::after {
   bottom: 0;
   transform: rotate(-90deg);
   -webkit-transition: transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.3s cubic-bezier(0.4,0,0.2,1), bottom 0.075s ease;
   transition: transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.3s cubic-bezier(0.4,0,0.2,1), bottom 0.075s ease;
}


/* Contact navigation (#contactnav block) */

.ct-header__contactnav {
   display:inline-flex;
   align-items:center;
   justify-content:end;
	text-align: right;
	margin:0;
   padding:10px 0 0; /* padding-top equal to padding-bottom of #mastheader-inner */
   max-height:110px; /* equal to .icon-logo max-height *//* equal to .ct-header min-height (140px) - padding top/bottom of #mastheader-inner + .site-header (30px) */
   -webkit-transition:max-height 0.3s ease;
   transition:max-height 0.3s ease;
}
.ct-header.scrolled .ct-header__contactnav {
   max-height:90px; /* equal to .icon-logo max-height *//* equal to .ct-header min-height (110px) - padding top/bottom of #mastheader-inner (20px) */
   -webkit-transition:max-height 0.3s ease 0.05s;
   transition:max-height 0.3s ease 0.05s;
}
.ct-header .contact-menu {
   margin-bottom:0;
   padding-top:0;
   -webkit-transition:padding-top 0s linear;
   transition:padding-top 0s linear;
}
.ct-header__contactnav .ct-header__link {
   display:inline-block;
   width:auto;
   margin:0 -0.2em 0 40px; /* margin-right negative to compensate the letter-spacing (0.2em) of the link-text */
   padding:0;
}
.ct-header__contactnav .ct-header__link:first-child {
   margin-left:0;
}
.ct-header__contactnav .ct-header__link a {
   font-family:'Gilroy-ExtraBold',sans-serif;
   font-weight:normal;
   letter-spacing:.1em;
   font-size:1.3em;
   text-transform:uppercase;
   letter-spacing:.2em;
   -webkit-transition:color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.3s cubic-bezier(0.4,0,0.2,1), text-decoration-color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1), letter-spacing 0.3s cubic-bezier(0.4,0,0.2,1);
   transition:color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.3s cubic-bezier(0.4,0,0.2,1), text-decoration-color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1), letter-spacing 0.3s cubic-bezier(0.4,0,0.2,1);
}
.menu-item.ct-header__link a:hover {
   color:var(--green);
   letter-spacing:.4em;
}
.ct-header__contactnav .ct-header__link.contactlink.current_page_item > a {
	color: var(--green);
}

@media screen and (max-width:991.98px) {
   .ct-header__contactnav,
   .ct-header.scrolled .ct-header__contactnav {
      max-height:90px; /* equal to .icon-logo max-height *//* equal to .ct-header min-height (110px) - padding top/bottom of #mastheader-inner + .site-header (20px) */
   }
}
@media screen and (max-width:767.98px) {
   .ct-header__contactnav,
   .ct-header.scrolled .ct-header__contactnav {
      max-height:70px; /* equal to .icon-logo max-height *//* equal to .ct-header min-height (90px) - padding top/bottom of #mastheader-inner + .site-header (20px) */
   }
}


/* Modal navigation */

.menu-modal {
	display: none;
	opacity: 1;
	overflow-y: auto;
	overflow-x: hidden;
	position: fixed;
	z-index: 99;
	bottom: 0;
	left: -99999rem;
	right: 99999rem;
	top: 0;
	padding:0;
   -webkit-transition: background-color 0.3s ease-in, left 0s 0.3s, right 0s 0.3s;
   transition: background-color 0.3s ease-in, left 0s 0.3s, right 0s 0.3s;
}
.menu-modal.cover-modal {
   background:transparent;
}
.menu-modal.show-modal {
	display: flex;
	justify-content: flex-end;
}
.menu-modal.active {
	background: rgba(0,0,0,.4);
	left: 0;
	right: 0;
	opacity: 1;
	-webkit-transition: opacity 0.25s ease-out, background-color 0.3s ease-out;
	transition: opacity 0.25s ease-out, background-color 0.3s ease-out;
}
.menu-modal-inner {
   width:100%;
   padding: 0;
   background-color:var(--green);
	display: flex;
	justify-content: stretch;
	overflow: auto;
	-ms-overflow-style: auto;
   box-shadow: 0 0 0 0 rgba(0,0,0,0);
   opacity: 0;
   -webkit-transition: transform 0.2s ease-in, opacity 0.2s ease-in;
   transition: transform 0.2s ease-in, opacity 0.2s ease-in;
}
.menu-modal.active .menu-modal-inner {
   opacity: 1;
   -webkit-transition-timing-function: ease-out;
   transition-timing-function: ease-out;
}
.menu-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.menu-wrapper.section-inner {
   width:100%;
}
.menu-modal .menu-top {
	flex-shrink: 0;
   padding-top:8em;
   padding-bottom:4em;
}


/* Close Toogle ---------------------------- */

#modalmenu .ct-header__mobile-close {
   position:static;
   margin:1em auto;
   display:inline-block;
   background-image:none;
   width:auto;
   height:auto;
   color:var(--salbei);
	-webkit-transition:color 0.3s ease-in-out;
	transition:color 0.3s ease-in-out;
}
.ct-header__mobile-close:hover {
	color:var(--beige);
}


/* Modal Main Menu --------------------------------- */

.mobile-menu {
	display: block;
	padding-right:calc(9% + 36px); /* 9% == ( .ct-header padding-right + 2% ) + 36px width of .nav-toogle/.hamburger */
}
#modalmenu .modal-menu.menu {
   padding:0;
   margin:0;
   position:relative;
}
.modal-menu ul {
	display: none;
	margin: 0;
	width: 100%;
	padding:0 !important;
}


/* Modal navigation links */

.modal-menu li {
   display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: start;
	margin: 0;
	border-color: transparent;
	border-style: solid;
	border-width: .1rem 0 0 0;
   text-align:left;
   text-transform:uppercase;
   line-height:1;
   cursor:default;
}
.modal-menu > li:last-child {
	border-bottom-width:.1rem;
}
.modal-menu .ancestor-wrapper {
	display: flex;
	align-items: start;
   justify-content: flex-start;
   text-align:left;
   width:auto;
   font-size:1.8em;
   letter-spacing:0.2em;
   font-family:'Gilroy-ExtraBold',sans-serif;
   font-weight:normal;
}
.modal-menu > li > .ancestor-wrapper {
   margin:0 0 .5em 2em;
}
.modal-menu a {
   display:inline-block;
	line-height: 1.1;
	font-weight:normal;
	background-color:var(--green); /* equal to #modalmenu bgcolor */
   color:var(--lgrey);
}
body:not(.mobile) .modal-menu a:hover,
body.mobile .modal-menu a:not(.blured) {
   color:var(--grey);
   text-decoration:none;
}
.modal-menu > li > a/*,
.modal-menu > li > .ancestor-wrapper > a*/ {
	padding: .5rem 0 .5rem 6rem;
}
.modal-menu ul li a {
	color: var(--lgrey);
	font-size:.9em;
   padding:.5rem 2.5rem .5rem 8rem;
}
.modal-menu li.current_page_item > .ancestor-wrapper > a,
body:not(.mobile) .modal-menu ul li a:hover {
	color: var(--grey);
}
.modal-menu li.current_page_item > .ancestor-wrapper > a {
	font-weight:800;
}

@media all and (max-width:575.98px) {
   .modal-menu .ancestor-wrapper {
      font-size:1.6em;
   }
}
@media all and (max-width:449.98px) {
   .modal-menu .ancestor-wrapper {
      font-size:1.4em;
   }
}
@media all and (max-width:399.98px) {
   .modal-menu .ancestor-wrapper {
      font-size:1.2em;
   }
}


/* Modal Main menu animation ----------------------- */

.menu-wrapper .menu-item {
	position: relative;
}
.menu-wrapper .active {
	display: block;
}
.menu-wrapper.is-toggling {
	pointer-events: none;
}
.menu-wrapper.is-toggling .menu-top .menu-item {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
}
.menu-wrapper.is-toggling .menu-bottom .social-menu .menu-item {
	width: auto;
}
.menu-wrapper.is-toggling .menu-bottom .menu-item {
	opacity:0;
}
.menu-wrapper.is-animating .menu-top .menu-item,
.menu-wrapper.is-animating .toggling-target {
	transition-duration: 250ms;
}
.menu-wrapper.is-animating .menu-top .menu-item {
	transition-property: transform;
}
.menu-wrapper.is-toggling .toggling-target {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
}
.menu-wrapper.is-toggling .toggling-target.active {
	opacity: 0;
}
.menu-wrapper.is-animating.is-toggling .toggling-target {
	display: block;
	transition-property: opacity;
	opacity: 0;
}
.menu-wrapper.is-animating.is-toggling .toggling-target.active {
	opacity: 1;
}
.menu-wrapper.is-toggling .modal-menu > li:last-child li > a {
	border-top-color: transparent;
	border-bottom-width: 0.1rem;
}

@media (prefers-reduced-motion: reduce) {
	.menu-wrapper.is-animating .menu-top .menu-item,
	.menu-wrapper.is-animating .toggling-target {
		transition-duration: 1ms !important;
	}
}



/*------------- FOOTER */

.site-footer {
   width:100%;
   padding:2em 0 0;
   margin:0 auto;
   position:relative;
   z-index:1; /* smaller than #backtotop z-index */
}
.tpl-formpg .site-footer {
   padding-top:0;
}
.site-footer-bg {
   width:100%;
   height:100%;
}
#footer-container {
   padding:2em 3.5%;
}
.footer-col {
   padding-top:0;
   padding-bottom:0;
   position:relative;
   z-index:2;
}
.footer-col.footer-col-right {
   z-index:1;
   text-align:right;
}
.footer-col.footer-col-right .footer-col-inner {
   position:relative;
}

@media screen and (min-width:576px) {
   .footer-col.footer-col-left {
      display: inline-flex;
      flex-wrap: wrap;
      align-content:center;
   }
   .footer-col.footer-col-right {
      display: inline-flex;
      flex-wrap: wrap;
      align-content:center;
   }
}
@media screen and (min-width:1760px) {
   #footer-container {
      padding-left:calc((100% - 1444px) / 2);
      padding-right:calc((100% - 1444px) / 2);
/*max-width:1444px; /* 1444px = 1760px (max content width) - 9% padding left+right */
   }
}
@media screen and (max-width:575.98px) {
   .site-footer .footer-col-left,
   .site-footer .footer-col-right {
      text-align:center;
   }
}


/* Footer navigation + Footer containers */

.site-footer .menu-container,
.site-footer .footer-subcontainer {
	max-width:100%;
	width:100%;
	margin:0;
}
.site-footer .footer-subcontainer {
   font-size:0.75em;
}
.site-footer .menu-container .secondary-menu {
text-align:left;
}
.site-footer .menu-container .menu-item {
   display:block;
   line-height:1em;
   margin:.8em 0 0;
}
.site-footer .menu-container .menu-item:first-child {
   margin-top:0;
}
.site-footer .menu-container .secondary-menu .menu-item:first-child {
   margin-top:0;
}
.site-footer .menu-container .menu-item a {
	display:inline-block;
	font-size:.75em;
	font-weight:500;
   line-height:1;
   letter-spacing:.1em;
	opacity:1;
	text-transform:uppercase;
	position:relative;
}
body:not(.mobile) .site-footer .menu-container .menu-item a:hover {
	color:var(--green);
}
.site-footer .menu-container .menu-item.current_page_item a {
	color:var(--green);
   font-weight:700;
}
.site-footer .menu-container .secondary-menu .menu-item.current_page_item a { }

@media screen and (max-width:991.98px) {
   .site-footer .menu-container.secondary-menu-container {
      padding-top:0;
   }
}
@media screen and (max-width:575.98px) {
   .site-footer .footer-subcontainer {
      font-size:1.1em;
   }
   .site-footer .footer-subcontainer.secondarylogo-container {
      font-size:.825em; /* == 1.1 x 0.75 > to be equal to the .menu-item elements of the footer navigation */
      padding:2.5em 0 0;
   }
   .site-footer .menu-container .secondary-menu {
      text-align:center;
   }
   .site-footer .menu-container .secondary-menu .menu-item {
      display:block;
      font-size:1.1em;
      margin:.75em auto;
      text-align:center;
   }
   .site-footer .menu-container .secondary-menu .menu-item:first-child {
      margin:0 auto .75em;
   }
   .site-footer .menu-container .secondary-menu .menu-item a {
      font-size:.85em;
   }
}


/* Footer logo */

#secondarylogo {
	margin:0;
	padding:0;
   text-align:right;
   -webkit-transition:all 0s linear;
   transition:all 0s linear;
   pointer-events:none;
}
.secondarylogo-link {
	display:block;
	position:relative;
	text-align:right;
	color:var(--grey);
	text-decoration: none;
	-webkit-transition: color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition: color 0.3s cubic-bezier(0.4,0,0.2,1);
}
.secondarylogo-link:hover {
	color:var(--green);
	opacity:1;
}
.secondarylogo-graf {
	display:inline-block;
   width:100%;
   max-width:140px;
   pointer-events:auto;
	position:relative;
   margin:0 auto;
	z-index:2;
   -webkit-transition:max-width 0.3s ease;
   transition:max-width 0.3s ease;
}

#secondarylogo .icon-logo {
   width:100%;
   height:auto;
   max-width:140px; /* => max-height: 43.8px */
   max-height:46px;
   color:currentColor;
   -webkit-transition:all 0.25s ease;
   transition:all 0.25s ease;
}
#secondarylogo .icon-logo .st1 {
   fill:currentColor;
   stroke:none;
}

@media screen and (max-width: 575.98px) {
   #secondarylogo {
      text-align:center;
   }
   .secondarylogo-link {
      text-align:center;
   }
   .secondarylogo-graf {
      max-width:120px;
   }
   #secondarylogo .icon-logo {
      max-width:120px; /* => max-height: 37.56px */
      max-height:40px;
   }
}


/* Scroll to top */

#backtotop {
	position: fixed;
	z-index:9; /* smaller as z-index of #mastheader */
	bottom:4px; /* init: SEE setBackToTop() in main.js */
	left:auto;
   right:3.5%;
   width:1.6em;
}
#backtotop:not(.visible) {
   opacity:0;
}
#backtotop.visible {
   opacity:1;
	cursor:pointer;
}
#backtotop-link-container {
   height:100%;
   position:relative;
}
#backtotop #backtotop-link {
	color:var(--grey);
	background:transparent;
	padding:0;
	display:inline-block;
	border-radius:0;
}
body:not(.mobile) #backtotop #backtotop-link:hover,
body.mobile #backtotop #backtotop-link:not(.blured) {
	color:var(--green);
	opacity:1;
}
#backtotop #backtotop-link .icon {
	height:1.6em;
	width: auto;
   max-width:1.6em;
   fill:currentColor;
   -webkit-transform-origin:center center;
   transform-origin:center center;
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

@media all and (min-width:1760px) {
   #backtotop {
      right:calc(1.6 * 17px);
   }
}
@media all and (min-width:1900px) {
   #backtotop {
      right:calc(1.6 * 18px);
   }
}
@media all and (min-width:2000px) {
   #backtotop {
      right:calc(1.6 * 19px);
   }
}
@media all and (min-width:2100px) {
   #backtotop {
      right:calc(1.6 * 20px);
   }
}
@media all and (min-width:2200px) {
   #backtotop {
      right:calc(1.6 * 21px);
   }
}
@media all and (min-width:2300px) {
   #backtotop {
      right:calc(1.6 * 22px);
   }
}


/* Cookie banner */

#cookie-wrapperr-overlay {
   width:100%;
   height:100%;
   background-color:rgba(0,0,0,.5);
   position:absolute;
   z-index:997;
   top:0;
   left:0;
   opacity:1;
   -webkit-transition:opacity 0.1s linear;
   -moz-transition:opacity 0.1s linear;
   transition:opacity 0.1s linear;
   overflow:hidden;
   scrollbar-width:none !important; /* firefox */
   -ms-overflow-style: -ms-autohiding-scrollbar !important; /* In IE this will only hide the scrollbar when it is not in hover state. It can be hidden with -ms-overflow-style: none, but for devices that need to grab the scrollbar to scroll there’ll be no way to trigger the scrolling. */
   display:none !important;
}
#cookie-wrapperr-overlay.hidden {
   opacity:0;
}
#cookie-wrapperr-overlay:not(.hidden),
#cookie-wrapperr-overlay.hidden.trans {
   display:block !important;
}
.cookie-wrapperr {
	min-width: 0;
	width:100%;
	overflow:scroll;
	margin: 0;
	left: 0;
	bottom: 0;
	position: fixed;
	z-index: 998;
	text-align: left;
	padding: 2em 3em;
	font-size:.75em;
	background:var(--green);
	color:#fff;
	font-weight:400;
	box-shadow: 0 0 12px 3px rgba(0,0,0,.3);
	box-sizing:border-box;
   scrollbar-width:none !important; /* firefox */
   -ms-overflow-style: -ms-autohiding-scrollbar !important; /* In IE this will only hide the scrollbar when it is not in hover state. It can be hidden with -ms-overflow-style: none, but for devices that need to grab the scrollbar to scroll there’ll be no way to trigger the scrolling. */
}
.cookie-wrapperr::-webkit-scrollbar {
   height:0px !important;
   width:0px !important;
}
body.loaded .cookie-wrapperr:not(.hidden) {
    display:block;
}
.cookie-wrapperr.hidden {
    display:none;
}
.cookie-wrapperr p {
	padding:0 !important;
	margin:0 0 1em !important;
	position:relative;
}
.cookie-wrapperr p:last-child {
	margin-bottom:0 !important;
	min-height:calc(1.5em + 10px + 4px); /* make sure is enough for the button */
}
.cookie-wrapperr #cookie-inf {
	margin:0;
	display:inline;
	color:var(--almostwhite);
	text-decoration:underline;
}
.cookie-wrapperr #cookie-inf:hover {
	color:var(--almostwhite);
	text-decoration:none;
}
.cookie-wrapperr .cookie-button-container {
   display:block;
   text-align:right;
   margin-top:1em;
}
.cookie-wrapperr .cookie-button {
	background:var(--almostwhite);
	color:var(--green);
	font-size:.9em;
	line-height:1.2;
	letter-spacing:.083em;
	text-transform:uppercase;
	text-decoration:none;
	padding:5px 3em;
	border:1px solid var(--almostwhite);
	border-radius:8px;
	cursor:pointer;
	margin:0;
	display:inline-block !important;
	font-weight:400;
	-webkit-transition:color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition:color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
}
.cookie-wrapperr .cookie-button:hover {
	background:var(--grey);
	border-color:var(--grey);
	color:var(--almostwhite);
}

@media all and (max-width:575.98px) {
   .cookie-wrapperr {
      padding: 2em;
      font-size:.8em;
   }
}



/*------------- MAIN CONTENT */

.site-content{
   flex-grow:1;
   -webkit-transition: all 0s linear;
   transition: all 0s linear;
}
.site-content #content-init-bg {
   padding-top:98px; /* equal to .ct-header:not(.scrolled) min-height - 2px */
   height:2px;
   background:transparent !important;
}
.site-content #content-fade-bg {
   min-height:10em; /* default */
   -webkit-transform:translateY(-5px);
   transform:translateY(-5px);
   background:transparent !important;
}
body.tpl-formpg .site-content #content-fade-bg {
   min-height:2.125em;
   min-height:1.375em;
}

@media screen and (max-width:991.98px) {
   .site-content #content-init-bg {
      padding-top:88px;
   }
}


/* Bootstrap */

.col-0, .col-sm-0, .col-md-0, .col-lg-0,
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto,
.col-xs, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-auto  /* min-width: */
.col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, /* min-width:576px */
.col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-md-04, .col-md-36, .col-md-35, .col-md-85, .col-md-55 /* min-width:768px */
.col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, /* min-width:992px */
.col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto, .col-xl-25, .col-xl-35, .col-xl-45, .col-xl-75, /* min-width:1200px */
.col-xxl, .col-xxl-1, .col-xxl-10, .col-xxl-11, .col-xxl-12, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-auto, /* min-width:1600px */
.col-xxxl, .col-xxxl-1, .col-xxxl-10, .col-xxxl-11, .col-xxxl-12, .col-xxxl-2, .col-xxxl-3, .col-xxxl-4, .col-xxxl-5, .col-xxxl-6, .col-xxxl-7, .col-xxxl-8, .col-xxxl-9, .col-xxxl-auto/*,*/ /* min-width:1920px */ {
	position:relative;
   min-height: 0;
}

@media screen and (min-width:992px) {
   .col-lg-0 {
      -ms-flex: 0 0 0% !important;
      flex: 0 0 0% !important;
      max-width: 0% !important;
      min-height:0 !important;
      padding:0 !important;
      overflow:hidden;
   }
}
@media screen and (min-width:576px) and (max-width:767.98px) {
   .col-sm-0 {
      -ms-flex: 0 0 0% !important;
      flex: 0 0 0% !important;
      max-width: 0% !important;
      min-height:0 !important;
      padding:0 !important;
      overflow:hidden;
   }
}
@media screen and (min-width:768px) and (max-width:991.98px) {
   .col-md-0 {
      -ms-flex: 0 0 0% !important;
      flex: 0 0 0% !important;
      max-width: 0% !important;
      min-height:0 !important;
      padding:0 !important;
      overflow:hidden;
   }
}
@media screen and (max-width:575.98px) {
   .col-0 {
      -ms-flex: 0 0 0% !important;
      flex: 0 0 0% !important;
      max-width: 0% !important;
      min-height:0 !important;
      padding:0 !important;
      overflow:hidden;
   }
   .col-09 {
      -ms-flex: 0 0 9.81% !important;
      flex: 0 0 9.81% !important;
      max-width: 9.81% !important;
   }
   .col-91 {
      -ms-flex: 0 0 90.19% !important;
      flex: 0 0 90.19% !important;
      max-width: 90.19% !important;
   }
}
@media screen and (min-width:768px) and (max-width:1759.98px) {
   .col-md-27 {
      -ms-flex: 0 0 27% !important;
      flex: 0 0 27% !important;
      max-width: 27% !important;
   }
   .col-md-73 {
      -ms-flex: 0 0 73% !important;
      flex: 0 0 73% !important;
      max-width: 73% !important;
   }
}
@media screen and (min-width:1760px) {
   .col-md-27 {
      -ms-flex: 0 0 40% !important;
      flex: 0 0 40% !important;
      max-width: 40% !important;
   }
   .col-md-73 {
      -ms-flex: 0 0 60% !important;
      flex: 0 0 60% !important;
      max-width: 60% !important;
   }
}
@media screen and (min-width:2200px) {
   .col-md-27 {
      -ms-flex: 0 0 50% !important;
      flex: 0 0 50% !important;
      max-width: 50% !important;
   }
   .col-md-73 {
      -ms-flex: 0 0 50% !important;
      flex: 0 0 50% !important;
      max-width: 50% !important;
   }
}



/*------------- SINGLE POST/STANDPOINT */

.single .tx-container {
   padding-bottom:4em;
}
.single .post-file a {
   display:block;
   height:65px;
}
.single .standpoint-icon {
   height:100%;
   background-image:url('../img/pdf-icon.png');
   background-color:transparent;
   background-repeat:no-repeat;
   background-size:auto 100%; /* 54x65px */
   background-position:top left;
}



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

.error404 .standard-page-content-wlimit {
   padding-bottom:4em;
}



/*------------- STANDARD PAGES */

.standard-page-content-wlimit {
   text-align:left;
   margin:0 9%;
   padding-left:0;
   padding-right:0;
   position:relative;
}
.standard-page-content-wlimit.narrow {
   padding-left:3%;
   padding-right:3%;
}
.standard-page-content-wlimit.fullw {
   text-align:center;
   margin:0;
}
.standard-page-content-wlimit .content-main-col {
	padding:0 !important;
}
body.page-template-default .standard-page-content-wlimit,
body.page-template-default .standard-page-content-wlimit.fullw {
	margin-bottom:6em;
}

@media screen and (min-width:1444px) {
   .standard-page-content-wlimit.fullw {
      margin-left:auto;
      margin-right:auto;
      padding-left:calc((100% - 1444px) / 2); /* 1444px = 1760px (max content width) - 9% margin left */
      padding-right:calc((100% - 1444px) / 2); /* 1444px = 1760px (max content width) - 9% margin right */
   }
}
@media all and (min-width:1760px) {
   .standard-page-content-wlimit,
   .standard-page-content-wlimit.narrow {
      margin-left:auto;
      margin-right:auto;
      padding-left:calc((100% - 1444px) / 2);
      padding-right:calc((100% - 1444px) / 2);
/*max-width:1444px; /* 1444px = 1760px (max content width) - 9% padding left+right */
   }
}
@media all and (max-width:1099.98px) {
   .standard-page-content-wlimit.narrow {
      padding-left:0;
      padding-right:0;
   }
}


/* Standard pages contents */

.pg-main-title-container.entry-header {
   margin:0 9% 2em;
   text-align:left;
   -webkit-transform:translateY(-2.9em);
   transform:translateY(-2.9em);
}
.entry-header .entry-title {
/* word-wrap: break-word; */
   letter-spacing:.1em;
   text-align:left;
   margin:0 auto;
   text-transform:none;
   position:relative;
   z-index:2;
   opacity:0;
}
body.loaded .entry-header .entry-title {
   opacity:1;
}
.entry-header .entry-title.nomargin-bottom {
   margin-bottom:0;
}
.site-content div.legal-block {
   margin-top:3em;
}
.site-content div.legal-block:first-child {
   margin-top:0;
}
.site-content p.legal-block {
   margin-bottom:3em;
}
.site-content p.legal-block:last-child {
   margin-bottom:0;
}
.site-content .legal-block-title {
   margin-bottom:.9em;
}

@media all and (min-width:1760px) {
   .pg-main-title-container.entry-header {
      margin-left: auto;
      margin-right: auto;
      padding-left: calc((100% - 1444px) / 2);
      padding-right: calc((100% - 1444px) / 2);
	}
	.entry-header .entry-title {
      padding-right:15%;
   }
}



/*------------- MODULES & PAGE SECTIONS */

.mod-section {
   position:relative;
   overflow:visible;
   width:100%;
	margin:0;
   padding:0 0 5.5em; /* padding-bottom def, SEE php function ct_render_content_module */
}
.mod-section:last-child {
   padding-bottom:4em !important;
}
.mod-section .mod-section-main {
   position:relative;
   z-index:2;
   width:100%;
   max-width:100%;
	overflow:hidden;
	margin-left:0; /* same as pading left/right of .section-first/.mod-section */
	margin-right:0;
   margin-top:0 !important;
   margin-bottom:0 !important;
}
.mod-section .content-main-row {
	overflow-y:hidden;
}
.mod-section .content-main-col {
	padding:0 !important;
	overflow:hidden !important;
}
.mod-section .mod-section-main .mod-section-content {
   overflow:hidden;
   width:100%;
   max-width:100%;
   position:relative;
   margin-left:0;
   margin-right:0;
   background-color:transparent;
   padding:0;
}
.mod-section .mod-section-main .mod-section-content .bgcolor-container {
   width:100%;
   text-align:center;
}
.mod-section .mod-section-main .mod-section-content .mod-content-wlimit {
   text-align:left;
   margin:0 9%;
   padding-left:0;
   padding-right:0;
   position:relative;
}
.mod-section .mod-section-main .mod-section-content .mod-content-wlimit.fullw,
.mod-section .mod-section-main .mod-section-content .mod-content-wlimit.fullbg,
.mod-section .mod-section-main .mod-section-content .mod-content-wlimit.narrowbg {
   margin:0;
}
.mod-section .mod-section-main .mod-section-content .mod-content-wlimit.fullw {
   padding:7em 0;
}
.mod-section .mod-section-main .mod-section-content .mod-content-wlimit.fullbg {
   padding:7em 9%;
}
.mod-section .mod-section-main .mod-section-content .mod-content-wlimit.narrowbg {
   padding:0 0 0 9%;
}

@media screen and (min-width:768px) {
   .mod-section .col, .mod-section .col-1, .mod-section .col-2, .mod-section .col-3, .mod-section .col-4, .mod-section .col-5, .mod-section .col-6, .mod-section .col-7, .mod-section .col-8, .mod-section .col-9, .mod-section .col-10, .mod-section .col-11, .mod-section .col-12, .mod-section .col-lg-0, .mod-section .col-auto {
      padding-top:0 !important;
      margin-top:0 !important;
      padding-bottom:0 !important;
      margin-bottom:0 !important;
   }
}
@media screen and (min-width:1760px) {
   .mod-section .mod-section-main .mod-section-content .mod-content-wlimit {
      margin-left:auto;
      margin-right:auto;
      padding-left:calc((100% - 1444px) / 2);
      padding-right:calc((100% - 1444px) / 2);
   }
   .mod-section .mod-section-main .mod-section-content .mod-content-wlimit.fullbg {
      padding:7em calc((100% - 1444px) / 2);
   }
   .mod-section .mod-section-main .mod-section-content .mod-content-wlimit.narrowbg {
      padding:0 0 0 calc((100% - 1444px) / 2);
   }
}


/* MODULE TYPE twocols-text */

.mod-section.sectiontype_twocols-text .content-main-col.left-col .tx-container {
   padding-right:13%;
}
.mod-section.sectiontype_twocols-text .content-main-col.right-col .tx-container {
   padding-left:13%;
}

@media screen and (min-width:1760px) {
   .mod-section.sectiontype_twocols-text .content-main-col.left-col .tx-container {
      margin:0 auto;
   }
   .mod-section.sectiontype_twocols-text .content-main-col.right-col .tx-container {
      margin:0 auto;
   }
}
@media screen and (max-width:991.98px) {
   mod-section.sectiontype_twocols-text .content-main-col.left-col .tx-container {
      padding-right:10%;
   }
   .mod-section.sectiontype_twocols-text .content-main-col.right-col .tx-container {
      padding-left:10%;
   }
}
@media screen and (max-width:767.98px) {
   .mod-section.sectiontype_twocols-text .content-main-col.left-col .tx-container {
      padding-right:0;
   }
   .mod-section.sectiontype_twocols-text .content-main-col.right-col .tx-container {
      padding-left:0;
      margin:1.5em 0 0;
   }
}


/* MODULE TYPE 34-headline */

.mod-section.sectiontype_34-headline .headline-tx {
   padding:5.35em 0 3.88em;
}
.mod-section.sectiontype_34-headline .headline-title {
   max-width:53%;
   margin:0 auto 0 0;
}

@media screen and (max-width:1299.98px) {
   .mod-section.sectiontype_34-headline .headline-title {
      max-width:65%;
   }
}
@media screen and (max-width:991.98px) {
   .mod-section.sectiontype_34-headline .headline-title {
      max-width:75%;
   }
}
@media screen and (max-width:899.98px) {
   .mod-section.sectiontype_34-headline .headline-title {
      max-width:80%;
   }
}
@media screen and (max-width:767.98px) {
   .mod-section.sectiontype_34-headline .headline-title {
      max-width:85%;
   }
}
@media screen and (max-width:699.98px) {
   .mod-section.sectiontype_34-headline .headline-title {
      max-width:90%;
   }
}
@media screen and (max-width:575.98px) {
   .mod-section.sectiontype_34-headline .headline-title {
      max-width:95%;
   }
}


/* MODULE TYPE text-graf */

.mod-section.sectiontype_text-graf .mod-section-wrap {
   height:100%;
}
.mod-section.sectiontype_text-graf .content-main-col {
   position:relative;
}
.mod-section.sectiontype_text-graf .tx-container {
   position:relative;
   z-index:2;
}
.mod-section.sectiontype_text-graf .headline-tx {
   margin-bottom:2.3em;
}
.mod-section.sectiontype_text-graf .content-main-col.left-col .headline-tx {
   padding-right:13%;
}
.mod-section.sectiontype_text-graf .content-main-col.right-col .headline-tx {
   padding-left:13%;
}
.mod-section.sectiontype_text-graf .headline-tx .headline-title {
   padding-left:14.9425%; /* ((100% * 0.13) / 0.87) == 13% padding right/left of parent .headline-tx */
   text-indent:-17.5675%; /* ((100% * 0.149425) / 0.850575) == padding-left (negative) of this .headline-title */
}
.mod-section.sectiontype_text-graf .text-tx {}
.mod-section.sectiontype_text-graf .content-main-col.left-col .text-tx {
   padding-right:13%;
}
.mod-section.sectiontype_text-graf .content-main-col.right-col .text-tx {
   padding-left:13%;
}
.mod-section.sectiontype_text-graf .bg-img-container {
   background-color:transparent;
   background-repeat:no-repeat;
   background-size:auto 100%;
   width:100%;
   position:relative;
   left:0;
   top:0;
   z-index:1;
}
.mod-section.sectiontype_text-graf .content-main-col.left-col .bg-img-container {
   background-position:top left;
}
.mod-section.sectiontype_text-graf .content-main-col.right-col .bg-img-container {
   background-position:top right;
}
.mod-section.sectiontype_text-graf .bg-img-container img {
   visibility:hidden !important;
   max-width:100%;
}

@media screen and (min-width:992px) {
   .mod-section.sectiontype_text-graf .img-container {
      height:100%;
   }
   .mod-section.sectiontype_text-graf .bg-img-container {
      height:100%;
      background-size:100% auto;
   }
   .mod-section.sectiontype_text-graf .content-main-col.left-col .bg-img-container {
      background-position:center left;
   }
   .mod-section.sectiontype_text-graf .content-main-col.right-col .bg-img-container {
      background-position:center right;
   }
}
@media screen and (max-width:991.98px) {
   .mod-section.sectiontype_text-graf .content-main-col.left-col .headline-tx {
      padding-right:10%;
   }
   .mod-section.sectiontype_text-graf .content-main-col.right-col .headline-tx {
      padding-left:10%;
   }
   .mod-section.sectiontype_text-graf .headline-tx .headline-title {
      padding-left:11.1111%; /* ((100% * 0.10) / 0.9) == 10% padding right/left of parent .headline-tx */
      text-indent:-12.5%; /* ((100% * 0.111111) / 0.888888) == padding-left (negative) of this .headline-title */
   }
   .mod-section.sectiontype_text-graf .content-main-col.left-col .text-tx {
      padding-right:10%;
   }
   .mod-section.sectiontype_text-graf .content-main-col.right-col .text-tx {
      padding-left:10%;
   }
}
@media screen and (max-width:767.98px) {
   .mod-section.sectiontype_text-graf .content-main-col.left-col .headline-tx {
      padding-right:0;
   }
   .mod-section.sectiontype_text-graf .content-main-col.right-col .headline-tx {
      padding-left:0;
   }
   .mod-section.sectiontype_text-graf .headline-tx .headline-title {
      padding-left:10%;
      text-indent:-11.1111%; /* ((100% * 0.10) / 0.9) == padding-left (negative) of this .headline-title */
   }
   .mod-section.sectiontype_text-graf .content-main-col.right-col .bg-img-container,
   .mod-section.sectiontype_text-graf .content-main-col.left-col .bg-img-container {
      margin-top:4em;
   }
   .mod-section.sectiontype_text-graf .content-main-col.right-col .text-tx {
      padding-left:0;
      padding-right:10%;
   }
}
@media screen and (max-width:499.98px) {
   .mod-section.sectiontype_text-graf .content-main-col.left-col .text-tx {
      padding-right:5%;
   }
   .mod-section.sectiontype_text-graf .content-main-col.right-col .text-tx {
      padding-right:5%;
   }
}


/* MODULE TYPE clients-slider */

.mod-section.sectiontype_clients-slider .headline-tx {
   margin-bottom:1.5em;
}
.mod-section.sectiontype_clients-slider .owl-carousel .client-item {
   padding:2.5em;
}
.mod-section.sectiontype_clients-slider .owl-carousel .owl-prev,
.mod-section.sectiontype_clients-slider .owl-carousel .owl-next {
   position:absolute;
   top:50%;
   -webkit-transform:translateY(-50%);
   transform:translateY(-50%);
   height:auto;
   padding:3px !important;
}
.mod-section.sectiontype_clients-slider .bgcolor-container.bg-white .owl-prev,
.mod-section.sectiontype_clients-slider .bgcolor-container.bg-white .owl-next {
   background-color:rgba(255,255,255,.6);
}
.mod-section.sectiontype_clients-slider .bgcolor-container.bg-lgrey .owl-prev,
.mod-section.sectiontype_clients-slider .bgcolor-container.bg-lgrey .owl-next {
   background-color:rgba(243,243,243,.6); /* var(--lgrey) */
}
.mod-section.sectiontype_clients-slider .owl-carousel .owl-prev {
   left:0;
}
.mod-section.sectiontype_clients-slider .owl-carousel .owl-next {
   right:0;
}
.mod-section.sectiontype_clients-slider .owl-carousel .icon-nav {
   max-height:1.6em;
   width:auto;
   max-width:30px;
   -webkit-transition:fill 0.3s ease,stroke 0.3s ease;
   transition:fill 0.3s ease,stroke 0.3s ease;
}
body:not(.mobile) .mod-section.sectiontype_clients-slider .bgcolor-container.bg-white .owl-prev:hover .icon-nav,
body:not(.mobile) .mod-section.sectiontype_clients-slider .bgcolor-container.bg-white .owl-next:hover .icon-nav {
   fill:var(--green);
   stroke:var(--green);
}


/* MODULE TYPE instagram-feed */

.mod-section.sectiontype_instagram-feed .headline-tx {
   margin-bottom:2em;
}
#sb_instagram #sbi_images {
	padding:0 !important;
}
#sb_instagram #sbi_load .sbi_load_btn,
#sb_instagram #sbi_load .sbi_follow_btn {
	margin-left:0 !important;
	margin-right:0;
	width:calc(66.6666% - 5px);
}
#sb_instagram #sbi_load .sbi_load_btn,
#sb_instagram .sbi_follow_btn a {
   text-align:center;
   cursor:pointer;
	box-shadow:inset 0 0 1.08em 2em var(--grey) !important; /* blur_radius and spread-radius equal to padding top/bottom and right/left */
}
#sb_instagram .sbi_follow_btn a {
   width:100%;
}
#sb_instagram #sbi_load .sbi_load_btn:not(:hover):focus,
#sb_instagram .sbi_follow_btn a:focus {
	box-shadow:inset 0 0 1.08em 2em var(--grey) !important;
}
#sb_instagram #sbi_load .sbi_load_btn:hover,
#sb_instagram .sbi_follow_btn a:hover {
	box-shadow:inset 0 0 1.08em 2em var(--green) !important;
}

/* For the custom templates: */
#sb_instagram {
   position:relative;
}
#sb_instagram #sbi_mod_error {
   margin-top:0;
   margin-bottom:10px;
}
#sbi_mod_error span {
	font-size: inherit !important;
	font-style: normal !important;
}
#sb-instagram-inner {
   margin:0 auto;
}
#sb-instagram-inner > .container-fluid > .row > .col-media {
   padding-left:0 !important;
   padding-right:0 !important;
}
#sb_instagram #sb-instagram-inner .sb_instagram_header,
#sb-instagram-inner .sb_instagram_header {
   padding:0 0 12px 6.5%; /* padding-left == padding-left (13%) of .headline-title in modules of type text-graf (.mod-section.sectiontype_text-graf) */
   line-height:1;
}
#sb-instagram-inner .sbi_header_link {
   display:inline-block;
   -webkit-transition:all 0s linear !important;
   transition:all 0s linear !important;
}
#sb-instagram-inner .sbi_feedtheme_header_text h1,
#sb-instagram-inner .sbi_feedtheme_header_text h2,
#sb-instagram-inner .sbi_feedtheme_header_text h3,
#sb-instagram-inner .sbi_feedtheme_header_text h4,
#sb-instagram-inner .sbi_feedtheme_header_text h5,
#sb-instagram-inner .sbi_feedtheme_header_text h6 {
   font-family:'Gilroy ExtraBold','Gilroy Light',sans-serif;
   font-weight:normal;
   font-variant:unset;
   font-size:1.5em !important;
   color:var(--xxlgrey) !important;
   -webkit-transition:color .3s cubic-bezier(0.4,0,0.2,1) !important;
   transition:color .3s cubic-bezier(0.4,0,0.2,1) !important;
}
#sb-instagram-inner .sbi_header_link:hover .sbi_feedtheme_header_text h1,
#sb-instagram-inner .sbi_header_link:hover .sbi_feedtheme_header_text h2,
#sb-instagram-inner .sbi_header_link:hover .sbi_feedtheme_header_text h3,
#sb-instagram-inner .sbi_header_link:hover .sbi_feedtheme_header_text h4,
#sb-instagram-inner .sbi_header_link:hover .sbi_feedtheme_header_text h5,
#sb-instagram-inner .sbi_header_link:hover .sbi_feedtheme_header_text h6 {
   color:var(--green) !important;
}
#sb_instagram #sb-instagram-inner .sb_instagram_header .sbi_header_img_hover,
#sb-instagram-inner .sb_instagram_header .sbi_header_img_hover {
	-webkit-transition:opacity .3s cubic-bezier(0.4,0,0.2,1);
	transition:opacity .3s cubic-bezier(0.4,0,0.2,1);
}
#sb-instagram-inner .sbi_item {
   position:relative !important;
/*padding:5px;*/
}
#sb-instagram-inner .sbi_item .sbi_info {
   position:absolute !important;
   bottom:0;
   left:0;
}
#sb-instagram-inner .sbi_hover_top,
#sb-instagram-inner .sbi_hover_bottom {
	width: 100% !important;
	padding:0 !important;
}
#sb-instagram-inner .sbi_hover_top {
	height: 100% !important;
	text-align:left !important;
}
#sb-instagram-inner .sbi_hover_bottom {
	bottom: 0 !important;
	font-size:20px !important;
}

#sb-instagram-inner .sbi_photo {
   opacity:1 !important;
}
#sb_instagram:not(.sbi_moderation_mode) .sbi_photo_wrap .sbi_photo {
   background-color:var(--grey) !important;
}
body.mobile #sb-instagram-inner .sbi_photo {
   position:relative;
   z-index:2;
}
#sb-instagram-inner .sbi_photo img {
	width:100% !important;
	height:100% !important;
	opacity:1 !important;
	scale:none !important;
	-webkit-transition:opacity 0.3s cubic-bezier(0.4,0,0.2,1) !important;
	transition:opacity 0.3s cubic-bezier(0.4,0,0.2,1) !important;
}
#sb-instagram-inner .sbi_photo.hovered img {
	opacity:.65 !important;
}
#sb-instagram-inner .sbi_link {
	background-color: rgba(232,232,232,0) !important; /* lgrey */
}
#sb-instagram-inner .sbi_link .sbi_caption {
	padding: 2em 1.5em 1em !important;
	width: 100% !important;
	height:100% !important;
	margin: 0 auto !important;
	background-color: rgba(232,232,232,1) !important; /* lgrey */
	font-family:'Tomorrow',sans-serif !important;
   font-weight:400 !important;
   text-align:left !important;
   font-size:1rem;
   line-height:1.5;
	-webkit-transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
	transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
}
body.mobile #sb-instagram-inner .sbi_link .sbi_caption,
body.mobile #sb-instagram-inner .sbi_link .sbi_caption .sbi_hover_bottom{
	opacity: 0 !important;
}
#sb-instagram-inner .sbi_link .sbi_instagram_link {
	padding: 8px 8px 6px !important;
	-webkit-transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
	transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
}
#sb-instagram-inner .sbi_link .sbi_instagram_link,
#sb-instagram-inner .sbi_link .sbi_instagram_link:hover,
#sb-instagram-inner .sbi_link .sbi_instagram_link:focus {
   opacity:.9 !important;
}
#sb-instagram-inner .sbi_link .sbi_hover_bottom .sbi_meta {
	line-height: 1.1 !important;
	padding: 4px 0 8px 0 !important;
}
#sb-instagram-inner .sbi_link .sbi_hover_bottom .sbi_meta span {
	font-size:20px !important;
	margin:0 4px !important;
}
#sb-instagram-inner .sbi_link .sbi_hover_bottom .sbi_meta span svg {
   font-size:20px !important;
	height:20px !important;
	width:20px !important;
}
#sbi_load {
   margin:0 auto !important;
   padding:2em 0 !important;
   font-size:1em !important;
   background-color:#fff;
}
#sbi_load #sbi-load-inner {
   margin:0 auto;
   max-width:100%;
}
#sbi_load .sbi_load_link {
   display:inline-block;
   width:calc(49.9999% - 5px);
   float:left;
   text-align:right;
   margin-bottom:0 !important;
}
#sbi_load .sbi_load_link:last-child {
   float:right;
   text-align:left;
}
#sb_instagram #sbi_load .sbi_load_btn,
#sb_instagram #sbi_load .sbi_follow_btn a {
	border-width:0;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	font-size: .75em !important;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .083em;
	line-height: 1.5 !important;
	padding: 1.08em 2em !important; /* padding top/bottom and right/left equal to (box-shadow) blur-radius and spread-radius */
	text-decoration: none !important;
	margin-top:0 !important;
	background-color:#fff !important; /* equal to bg-color */
}
.sbi_follow_btn a,
.sbi_follow_btn a,
#sbi_load .sbi_load_btn {
   background-color:rgba(255,255,255,0) !important;
	-webkit-transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
	transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
	border-radius:10px !important;
	color: var(--lgrey) !important;
}
#sbi_load .sbi_load_btn:hover,
#sbi_load .sbi_follow_btn a:hover {
	color: var(--lgrey) !important;
	text-decoration:none !important;
}
#sb_instagram .sbi_follow_btn .fa,
#sb_instagram .sbi_follow_btn svg {
	margin-right:0 !important;
	font-size:1.35em !important;
	vertical-align:-0.15em !important;
	margin-bottom:-1px !important;
}
#sb_instagram .sbi_load_btn .sbi_btn_text.sbi_hidden {
   opacity:1 !important;
}
#sb_instagram .sbi_load_btn .sbi_loader {
   background-color:var(--grey) !important;
}

@media screen and (max-width:991.98px) {
   #sb_instagram #sb-instagram-inner .sb_instagram_header,
   #sb-instagram-inner .sb_instagram_header {
      padding-left:5%; /* padding-left == padding-left (10%) of .headline-title in modules of type text-graf (.mod-section.sectiontype_text-graf) */
   }
   #sb_instagram #sbi_load .sbi_load_btn,
   #sb_instagram #sbi_load .sbi_follow_btn {
      width:calc(100% - 5px);
   }
}
@media all and (max-width:767.98px) {
   #sb_instagram #sb-instagram-inner .sb_instagram_header,
   #sb-instagram-inner .sb_instagram_header {
      padding-left:10%; /* padding-left == padding-left (10%) of .headline-title in modules of type text-graf (.mod-section.sectiontype_text-graf) */
   }
   #sb-instagram-inner .sbi_link .sbi_caption {
      padding:1em !important;
      font-size:0.9rem;
   }
   #sbi_load .sbi_load_link,
   #sbi_load .sbi_load_link:last-child {
      width:100%;
      float:none;
      text-align:center;
   }
   #sbi_load .sbi_load_link:last-child {
      margin-top:10px;
   }
}
@media all and (max-width:479.98px) {
   #sb-instagram-inner .sbi_link .sbi_caption {
      font-size:1rem;
   }
}



/*------------- POPUP: CONTACT FORM */

/* Common styles */
.ct-popup {
	text-align:center;
   position:fixed;
	z-index:997; /* smaller as z-index of #mastheader and #mastheader-overlay */
	left:0;
   top:0;
   display:block;
   width:100%;
   height:100vh;
   min-height:100%;
   padding:0;
   margin:0;
}
.ct-popup:not(.open):not(.trans) {
   z-index:-1;
}
.ct-popup .popup-inside {
   position:absolute;
   z-index:1;
   top:0;
   left:0;
   padding:0;
   width:100%;
   max-width:100%;
   height:100%;
   margin:0 auto;
   overflow-x:hidden;
   overflow-y:scroll;
   text-align:left;
   color:var(--grey);
   background-color:#fff;
   opacity:0;
   -webkit-transform-origin:left top;
   transform-origin:left top;
   -webkit-transform:translateX(200vw);
   transform:translatex(200vw);
   -webkit-transition:opacity 0.25s ease-out, transform 0.25s ease-out;
   transition:opacity 0.25s ease-out, transform 0.25s ease-out;
}
body.ios .ct-popup .popup-inside {
   opacity:1;
}
.ct-popup.open:not(.trans) .popup-inside {
   opacity:1;
   -webkit-transform:translateX(0);
   transform:translateX(0);
   -webkit-transition:opacity 0.15s ease-out, transform 0.5s ease-out;
   transition:opacity 0.15s ease-out, transform 0.5s ease-out;
}
.ct-popup .popup-inside-bg {
   width:100%;
/*height:100%;/* NOT! */
}
.ct-popup .popup-inside-bg {
   padding:4.375em 16%;
   background-color:#fff;
   position:relative;
}
.scrollto-popup {
   display:inline;
/*height:1px;*/
   line-height:1px;
   border:0 solid transparent;
}

@media screen and (min-width:1760px) {
   .ct-popup .popup-inside-bg {
      padding-left:calc(((100% - 1760px) / 2) + (0.1 * 1760px)); /* padding-left equal to */
      padding-right:calc(((100% - 1760px) / 2) + (0.1 * 1760px)); /* padding-left equal to */
   }
}
@media screen and (max-width:767.98px) {
   .ct-popup .popup-inside-bg {
      padding-left:2.6em;
      padding-right:2.6em;
   }
}
@media screen and (max-width:499.98px) {
   .ct-popup .popup-inside-bg {
      padding-left:1.4em;
      padding-right:1.4em;
   }
}


/* Popup close icon and button */

.popupclose.closelink {
   opacity:1;
   color:var(--green);
   background-color:var(--lgrey);
   border:1px solid var(--green);
   border-radius:5px;
   display:inline-block;
   height:3.125em; /* equal to inside .icon height + padding top and bottom of this element */
   width:3.125em; /* equal to inside .icon width + padding left and right of this element */
   padding:.9em;
   position:absolute;
   top:1.375em;
   right:9.09%;
}
body:not(.mobile) .popupclose.closelink:hover,
body.mobile .popupclose.closelink:not(.blured) {
   opacity:1;
   color:var(--grey);
   border-color:var(--grey);
}
.popupclose .icon-close {
   color:currentColor;
   vertical-align:top;
   top:0;
   left:-0.5px;
   height:1.325em; /* equal to container .popupclose.closelink height - padding top and bottom */
   width:auto;
   fill:none;
}
.popupclose .icon-close .st1 {
   fill:currentColor;
}
.popupclose .icon-close .st2 {
   stroke:currentColor;
   stroke-width:0.5;
}
.popupclose.closebutton {
   width:auto;
   max-width:100%;
	border-width:1px;
	border-style:solid;
	border-color:var(--green);
	-webkit-border-radius:10px;
	border-radius:10px;
	-webkit-box-shadow: none;
	box-shadow: none;
	text-shadow: none;
	display: inline-block;
	font-size:.75em;
	font-weight:400;
	text-align:center;
	text-transform:uppercase;
	letter-spacing:.083em;
	line-height:1.1 !important;
   padding:1.08em 10em;
   margin-top:10em;
	text-decoration: none !important;
	-webkit-transition: color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition: color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
	outline:none !important;
	color:#fff;
	background-color:var(--green);
	cursor:pointer;
}
body:not(.mobile) .popupclose.closebutton:hover {
	color:var(--lgrey);
	background-color:var(--grey);
	border-color:var(--grey);
}

@media screen and (max-width:499.98px) {
   .ct-popup .popupclose.closelink {
      right:1.4em;
   }
   .popupclose.closebutton {
      padding:1.08em;
      width:100%;
   }
}


/* Popup form: content */

.ct-popup.form-popup .popup-content {
   text-align:left;
   position:relative;
   overflow:hidden;
}
.ct-popup.form-popup .inquiryform-text-container {
   margin-bottom:4em;
}
.ct-popup.form-popup .inquiryform-title {
   margin-bottom:.25em;
}
.ct-popup.form-popup .ct-sent-response .form-populated-title {
   padding-top:9.18em;
   padding-bottom:1.6475em;
   margin:0 auto;
}
.ct-popup.form-popup .form-ctwrapper {
   position:relative;
}


/* Popup form: main containers (form pseudo-steps + response) */

.ct-popup.form-popup .inquiryform-main-container {
   display:block;
   width:100%;
   height:auto;
   position:relative;
   z-index:0;
   top:0;
   left:0;
   opacity:1;
   background-color:#fff; /* same color as container/popup background */
   -webkit-transform:translateX(0);
   transform:translateX(0);
   -webkit-transition:transform 0.4s ease-out;
   transition:transform 0.4s ease-out;
}
.ct-popup.form-popup .inquiryform-main-container.process-container.trans {
   -webkit-transform:translateX(200vw);
   transform:translateX(200vw);
}
.ct-popup.form-popup .inquiryform-main-container.wait:not(.trans) {
   height:100%;
   position:absolute;
/*z-index:-1;*/
   -webkit-transform:translateX(200vw);
   transform:translateX(200vw);
}
.ct-popup.form-popup .inquiryform-main-container.process-container.wait:not(.trans) {
/*z-index:0;*/
z-index:-1;
}
.ct-popup.form-popup .inquiryform-main-container.response-container:not(.wait) {
   z-index:1;
}


/* Popup form: pseudo-steps + custom check-data */

.ct-popup.form-popup .form-pseudostep {
   opacity:1;
}
.ct-popup.form-popup .form-pseudostep.pseudostep-first {
   display:block;
   z-index:0;
}
.ct-popup.form-popup .form-pseudostep.pseudostep-last {
   display:flex;
   flex-wrap:wrap;
   align-content:end;
   height:calc(100% + 2px);
   width:calc(100% + 2px);
   position:absolute;
   z-index:1;
   top:-1px;
   left:-1px;
   background-color:rgba(255,255,255,.8); /* same color (but with 90% opacity) as container/popup background */
   -webkit-transform:translateY(120%);
   transform:translateY(120%);
   -webkit-transition:transform 0.4s ease-out;
   transition:transform 0.4s ease-out;
}
.ct-popup.form-popup .form-pseudostep.pseudostep-last.trans:not(.wait) {
   -webkit-transform:translateY(0);
   transform:translateY(0);
}
.ct-popup.form-popup .form-pseudostep.pseudostep-last.wait:not(.trans) {
   z-index:-1;
}
.ct-popup.form-popup .form-checked-data {
   background-color:var(--lgrey);
   border-radius:2px;
   width:100%;
   padding:3em;
   margin:0 auto;
}
.ct-popup.form-popup .form-checked-data p {
   margin-bottom:0;
}
.ct-popup.form-popup .form-checked-data .checked-data-title {
   font-family:'Gilroy Extrabold',sans-serif;
   font-weight:normal;
   font-variant:small-caps;
   font-size:2em;
}
.ct-popup.form-popup .form-checked-data .checked-field-title {
   display:inline-block;
   padding:1.5em 3px 0 0;
   font-weight:500;
}
.ct-popup.form-popup .form-checked-data .checked-field-title:first-child {
   padding-top:0;
}


/* Popup form: check and submit buttons */

.ct-popup.form-popup .form-check-button,
.ct-popup.form-popup .wpcf7-submit {
   background-color:var(--xxlgrey);
   border-color:var(--xxlgrey);
   cursor:not-allowed;
}
.ct-popup.form-popup .form-check-button.checkfilled,
.ct-popup.form-popup .wpcf7-submit.checkfilled {
   background-color:var(--green);
   border-color:var(--green);
   cursor:pointer;
}
body:not(.mobile) .ct-popup.form-popup .form-check-button.checkfilled:hover,
body:not(.mobile) .ct-popup.form-popup .wpcf7-submit.checkfilled:hover {
   background-color:var(--grey);
   border-color:var(--grey);
}
body:not(.mobile) .ct-popup.form-popup .form-check-button:not(.checkfilled):hover,
body:not(.mobile) .ct-popup.form-popup .wpcf7-submit:not(.checkfilled):hover {
   background-color:var(--xxlgrey);
   border-color:var(--xxlgrey);
}


/* Popup form: custom response */

.ct-popup.form-popup .response-container .inquiryform-response:not(.active),
.ct-popup.form-popup .response-container .inquiryform-failed-response:not(.active) {
   display:none;
}
.ct-popup.form-popup .response-container .inquiryform-response.active,
.ct-popup.form-popup .response-container .inquiryform-failed-response.active {
   display:block;
}



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

form.wpcf7-form {
   width:100%;
	margin:0 auto;
	padding-bottom:3em;
	text-align:left;
   position:relative;
   font-size:1em;
}
.form-block {
	margin:0;
	text-align:left;
}
.form-line {
	clear:both;
	float:none;
	width:100%;
	text-align:left;
   margin:1.25em 0 0; /* margin-top equal to .wpcf7-form-control-wrap margin-bottom */
   position:static; /* DO NOT change: SEE function scrollToFormResponse in main.js */
}
.form-line:first-of-type {
   margin:0;
}
.form-line.twocols-line .half {
	width: calc(50% - 2.5em);
}
.form-line.twocols-line .half .half {
	width: calc(50% - 1.25em);
}
.form-line.twocols-line .half.left {
   float:left;
}
.form-line.twocols-line .half.right {
   float:right;
}
.form-line.check-line {
	margin-top:1.875em;
}
.form-line.submit-line {
	text-align:center;
	position:relative;
	width:inherit;
	margin-top:1.875em;
	padding:1px;
}
.ct-popup.form-popup .form-line.submit-line {
	margin-top:0;
	background-color:#fff; /* equal to container/popup background */
	padding:1.875em 1px 1px;
}

.wpcf7-form label {
	font-weight:400;
   line-height:1.2;
   letter-spacing:.16em;
	text-transform:uppercase;
	margin-bottom:0 !important;
	color:var(--grey);
   position:relative;
   display:block;
}
.wpcf7-form .wpcf7-checkbox label {
   font-size:.625em;
   letter-spacing:.2em;
   line-height:1.5;
	padding:0 0 0 3.58em !important;
   display:inline-block;
}
.form-line.quiz-line label {
	display: block;
	padding:0 !important;
}
.wpcf7-form .select-sublabel,
.wpcf7-form .field-instructions {
   font-size:.75em;
   font-weight:400;
   padding:0;
   margin:0 0 .5em;
   text-transform:none !important;
}
.wpcf7-form .field-instructions {
   visibility:hidden;
   height:1px;
   overflow:hidden;
   display:none;
}
.wpcf7-form .select-sublabel {
   display:block;
}

.wpcf7-spinner {
	margin: 0 !important;
	position: absolute !important;
	left:50% !important;
	bottom:50% !important;
	-webkit-transform:translate(-50%,50%);
	transform:translate(-50%,50%);
}

.wpcf7-checkbox .wpcf7-list-item {
   margin:0;
   padding:0;
}

@media screen and (max-width:767.98px) {
   .form-line {
      margin-top:1.5em;
   }
   .form-line.submit-line {
      margin-top:2.25em;
   }
   .form-line.twocols-line .half {
      width: 100%;
      float:none !important;
      margin-top:1.5em;
   }
   .form-line.twocols-line .half.left {
      margin-top:0;
   }
}


/* Extra link for checkbox fields */

.checkbox-line .checkbox-link {
	text-transform: uppercase;
	color: var(--grey);
	font-size: .625em;
	font-weight: 400;
	letter-spacing: .2em;
	line-height: 1.5;
	padding: 0 0 0 3.58em !important;
	display: block;
/*margin-top:-2.4em; /* equal (negative) to line-height of the ancestor element .checkbox-line */
margin-top:-1.8em;
}


/* Really simple captcha + quiz fields */

.scaptcha-line {
   font-size:1em;
}
.scaptcha-line .ct-captcha-img {
   padding:5px;
   margin-bottom:5px;
   background-color:var(--grey);
   width:94px; /* 84px captcha image width (by size l) + 10px padding left/right */
   height:38px; /* 28px captcha image width (by size l) + 10px padding top/bottom */
   border-radius:5px;
}
.wpcf7-form .scaptcha-line .field-instructions,
.wpcf7-form .field-instructions#field-instructions_fcaptcha {
	margin:0 0 0 -3px;
	visibility:visible;
	display:inline-block;
	font-size:.1em;
   height:12em;
	color:transparent;
}
.wpcf7-form .scaptcha-line .field-instructions:before,
.wpcf7-form .field-instructions#field-instructions_fcaptcha:before {
	content:'*';
	color:var(--grey);
	font-size:8.5em;
	font-weight:600;
	text-transform:uppercase;
	padding-left:4px;
}
.quiz-line .wpcf7-quiz-label {
	display: block;
   padding: 0 0 2px;
	font-size:.875em;
	letter-spacing:.16em;
}


/* CF7 form native response */

.wpcf7-form-control-wrap {
	display: block;
	position: relative;
   margin-bottom:1.25em; /* margin-bottom equal to .form-line margin-top */
}
.form-line.checkbox-line .wpcf7-form-control-wrap {
	margin-bottom:0;
}
.form-line.quiz-line .wpcf7-form-control-wrap {
	font-size: 1em;
	font-weight:600;
	text-transform: uppercase;
}
.wpcf7-not-valid-tip {
   text-transform:none;
   font-size:.64em;
   color:var(--mred);
   font-weight:400;
	letter-spacing: 0.05em;
	line-height: 1.2;
}
.wpcf7-response-output {
	width: calc(100% - 2px); /* discount border left/right width */
	margin:2em auto 1em !important;
	padding:.5em 1em !important;
	font-weight:400 !important;
	font-size:.8em !important;
	letter-spacing:.05em;
	color:var(--mred) !important;
	text-align:center;
	border:1px solid var(--mred) !important;
	border-radius:10px;
}
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7-response-output.formedited {
   display:none;
}


/* Form fields */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"] {
   border-color:var(--xlgrey);
   color:var(--grey);
   caret-color:var(--grey);
	background-color:#fff;
}
input[type="text"]:active,
input[type="email"]:active,
input[type="url"]:active,
input[type="password"]:active,
input[type="search"]:active,
input[type="number"]:active,
input[type="tel"]:active,
input[type="date"]:active,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus {
	border-color:var(--green);
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"] {
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	border-width:1px;
	border-style:solid;
	-webkit-border-radius:10px;
	border-radius:10px;
	display:block;
	padding:1.4em 1.66em;
	width: calc(100% - 2px); /* discount border left/right width */
	line-height:1.2em !important;
	text-align: left;
	outline:none !important;
   min-height:calc(2.8em + 1.2em + 2px); /* = padding top/bottom + 1 line text + 2px border top/bottom == textarea fields total height */
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
   /*font-size:1rem; /* prevent iOS from zooming in on input fields */
   font-size:.875em;
   font-weight:400;
   letter-spacing:.16em;
   -webkit-transition:border-color 0.3s cubic-bezier(0.4,0,0.2,1);
   transition:border-color 0.3s cubic-bezier(0.4,0,0.2,1);
}

textarea {
	color: var(--grey);
	background-color:#fff;
	border-color:var(--xlgrey);
	caret-color: var(--grey);
}
textarea:active,
textarea:focus {
	border-color:var(--green);
}
textarea {
	border-width:1px;
	border-style:solid;
	-webkit-border-radius:10px;
	border-radius:10px;
	display: block;
	padding:1.4em 1.66em;
	width: calc(100% - 2px); /* discount border left/right width */
	font-weight: 400;
	line-height: 1.2 !important;
	text-align: left;
   min-height:calc(4.8em + 2.8em + 2px); /* == 4x lines text + padding top/bottom + 2px border top/bottom == input fields total height */
	outline:none !important;
   resize: vertical; /* width stay fix */
   -webkit-transition:height 0.15s ease-out;
   transition:height 0.15s ease-out;
}
label .textarea-sizer {
	padding:1.4em 1.66em;
	width: 100%;
   font-size:.875em;
	font-weight: 400;
	line-height: 1.2 !important;
	text-transform:none;
   min-height:calc(4.8em + 2.8em + 2px); /* == 4x lines text + padding top/bottom + 2px border top/bottom == input fields total height */
   opacity:0 !important;
   position:absolute;
   z-index:-1;
   top:0;
   left:0;
}
.wpcf7-form label.for-textarea {
	text-align:right;
}
.wpcf7-character-count {
	display: block;
	margin-top: -1.25em;
	padding: 0 0 0 2px;
	font-size: .75em;
	line-height: 1;
	color: #b6b6b6;
}


/* input type=file */

.form-line.file-line .wpcf7-form-control-wrap .wpcf7-file {
   display:none;
}
.wpcf7-form .file-line label {
   font-size:.875em;
   font-weight:400;
   letter-spacing:.16em;
   line-height:1.2;
	border-width: 1px;
	border-style: solid;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	display: block;
	padding: 1.4em 1.66em;
	width: 100%;
	text-align: left;
	outline: none !important;
	min-height: calc(2.8em + 1.2em + 2px);
	color:var(--grey);
	background-color:#fff;
	border-color:var(--xlgrey);
   position:relative;
	background-color:transparent;
	background-image:url('../img/pdf-icon.png');
	background-repeat:no-repeat;
	background-size:auto 30px;
	background-position:top 50% right 1.66em;
	cursor:pointer;
   -webkit-transition:border-color 0.3s cubic-bezier(0.4,0,0.2,1);
   transition:border-color 0.3s cubic-bezier(0.4,0,0.2,1);
}
body:not(.mobile) .wpcf7-form .file-line label:hover {
   border-color:var(--green);
}
.form-line.file-line .input_file_name_container {
	display: inline-block;
	line-height:1;
	max-width:calc(100% - 3.32em - 25px - 10px);
	position:absolute;
   top:50%;
   left:1.66em;
   -webkit-transform:translateY(-50%);
   transform:translateY(-50%);
}
.form-line.file-line .input_file_name {
   text-transform:uppercase;
	font-size:.715em;
	line-height:1.2;
 	color:var(--grey);
	max-width:100%;
	overflow:hidden;
   text-overflow:ellipsis;
   display:inline-block;
}
.form-line.file-line .input_file_placeholder {
   text-transform:uppercase;
	font-size:1em;
	line-height:1;
 	color:var(--grey);
	max-width:100%;
	overflow:hidden;
   text-overflow:ellipsis;
   display:none;
}
.form-line.file-line .input_file_name.nofile {
/*font-size:1em;
line-height:1;*/
   display:none;
}
.form-line.file-line .input_file_placeholder.nofile {
   display:inline-block;
}
.form-line:not(.file-line) .input_file_name,
.form-line:not(.file-line) .input_file_placeholder {
   display:none;
}


/* select fields with select2 library */

.select2-container {
	min-width:100% !important;
	max-width:100% !important;
}
.select2-container .select2-selection {
	border:3px solid #fff !important;
	border-radius:0 !important;
	background-color:transparent !important;
	padding:calc(.8em * 0.77) calc(1.5em * 0.77);
	text-align:right;
	-webkit-transition:background-color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition:background-color 0.3s cubic-bezier(0.4,0,0.2,1);
}
.select2-container.filled .select2-selection/*,
.select2-container--open .select2-selection*/ {
	background-color:#fff !important;
}
.select2-container .select2-selection .select2-selection__clear {
	cursor:pointer;
	float:none;
	position:absolute;
	top:0;
	right:5px;
	font-weight:600;
	margin:0 !important;
	padding:1px;
	font-size:1.3em;
	line-height:1em;
	color:var(--grey);
 	-webkit-transition:color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition:color 0.3s cubic-bezier(0.4,0,0.2,1);
}
body:not(.mobile) .select2-container .select2-selection .select2-selection__clear:hover {
	color:var(--mgrey);
}
.select2-container .select2-selection .select2-selection__rendered {
   padding:0 !important;
   min-height:calc(3.8em * 0.77); /* 3.8em= 2x 1.9em line height // 0.77em = font-size */
}
.select2-container .select2-selection__choice {
   background-color:transparent !important;
   border-width:0 !important;
   float:none !important;
   text-align:left !important;
   display:block;
   margin:0!important;
   padding:0 !important;
   text-transform:none;
   font-weight:400;
   color:var(--grey);
   font-size:.77em;
   line-height:1.9em !important;
}
.select2-container .select2-selection .select2-selection__choice__remove {
	color:var(--grey) !important;
	cursor: pointer;
	display: inline-block;
	font-weight:600;
	font-size:1.3em !important;
	line-height:1;
	margin-right:5px;
 	-webkit-transition:color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition:color 0.3s cubic-bezier(0.4,0,0.2,1);
}
body:not(.mobile) .select2-container .select2-selection .select2-selection__choice__remove:hover {
	color:var(--mgrey) !important;
}

.select2-container .select2-dropdown,
.select2-container .select2datalist {
	border-width:1px 0 !important;
	border-style:solid;
	border-color:var(--lgreen);
	border-radius:0 !important;
}

.select2-container .select2-results .select2-results__option {
	font-size:.77em;
	line-height:1.5;
	padding:6px 6px 6px 1.94em;
	border-left:3px solid #fff;
}
.select2-container .select2-results .select2-results__option--highlighted[aria-selected] {
	background-color:var(--green) !important;
	color:#fff !important;
}
.select2-container .select2-results .select2-results__option[aria-selected="true"] {
	background-color:var(--lgreen);
	color:var(--grey);
}

.select2-container .select2-search .select2-search--inline {
   float:none !important;
   display:block;
}
.select2-container .select2-search .select2-search__field {
	min-height:1.9em !important;
	margin-top:0 !important;
   font-size:.77em !important;
   line-height:1.9em !important;
}


/* checkbox and radio fields */

input[type="radio"] {
	margin-right: .5em;
	vertical-align: baseline;
}

input[type="checkbox"] {
	margin:0;
	vertical-align: baseline;
}
input[type="checkbox"],
input[type="checkbox"]:active,
input[type="checkbox"]:focus,
input[type="checkbox"]:hover {
	outline:1px solid var(--xlgrey);
   border-radius:.3em;
	color:var(--grey);
	background-color:#fff;
}
input[type="checkbox"],
input[type="checkbox"]:active,
input[type="checkbox"]:focus,
input[type="checkbox"]:hover {
	margin:0;
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-box-shadow: 0px 0px 0px 0px rgba(255,0,0,0);
	box-shadow: 0px 0px 0px 0px rgba(255,0,0,0);
	width:1.05em;
	height:1.05em;
	line-height:1;
	font-size:1.3em;
	display: inline-block;
	position: absolute;
	left:2px;
	top:.15em;
	overflow: hidden;
	text-align: center;
	cursor: pointer;
}
input[type="checkbox"]:checked,
input[type="checkbox"]:checked:active,
input[type="checkbox"]:checked:focus,
input[type="checkbox"]:checked:hover {
   background-color:var(--xlgrey);
}
input[type="checkbox"]:checked::before {
	color:var(--grey);
}
input[type="checkbox"]:checked::before {
   content:'\00D7'; /* MULTIPLICATION SIGN (×): Unicode U+00D7, UTF-8 C3 97 */
	width:1em;
	height:1em;
	font-size:1em;
	line-height:.55;
	font-weight:800;
	position:absolute;
	left:0;
	top:3px;
	max-width:100%;
	max-height:100%;
	display:inline-block;
	text-align:center;
}


/* Form fields button and submit */

input[type="button"],
input[type="submit"] {
	width: calc(100% - 2px); /* discount border left/right width */
	max-width: calc(100% - 2px); /* discount border left/right width */
	border-width:1px;
	border-style:solid;
	border-color:var(--green);
	-webkit-border-radius:10px;
	border-radius:10px;
	-webkit-box-shadow: none;
	box-shadow: none;
	text-shadow: none;
	display: inline-block;
	font-size:.75em;
	font-weight:400;
	text-transform:uppercase;
	letter-spacing:.083em;
	line-height:1.1 !important;
	padding:1.08em;
	text-decoration: none !important;
	-webkit-transition: color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
	transition: color 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s cubic-bezier(0.4,0,0.2,1);
	outline:none !important;
	color:#fff;
	background-color:var(--green);
	cursor:pointer;
}
body:not(.mobile) input[type="button"]:hover,
body:not(.mobile) input[type="submit"]:hover {
	color:var(--lgrey);
	background-color:var(--grey);
	border-color:var(--grey);
}


/* Form fields placeholders */

::placeholder {
   color:var(--grey);
	font-size:1em;
	font-weight:400;
	overflow:hidden;
	text-overflow:ellipsis;
}
::-webkit-input-placeholder {
   color:var(--grey);
	font-size:1em;
	font-weight:400;
	overflow:hidden;
	text-overflow:ellipsis;
}
:-moz-placeholder {
   color:var(--grey);
	font-size:1em;
	font-weight:400;
	overflow:hidden;
	text-overflow:ellipsis;
}
::-moz-placeholder {
   color:var(--grey);
	font-size:1em;
	font-weight:400;
	opacity: 1;
	overflow:hidden;
	text-overflow:ellipsis;
	/* Since FF19 lowers the opacity of the placeholder by default */
}
:-ms-input-placeholder {
   color:var(--grey);
	font-size:1em;
	font-weight:400;
	overflow:hidden;
	text-overflow:ellipsis;
}
input:-ms-input-placeholder {
   color:var(--grey);
	font-size:1em;
	font-weight:400;
	overflow:hidden;
	text-overflow:ellipsis;
}

.form-line.quiz-line ::placeholder,
.form-line.scaptcha-line ::placeholder {
	font-size:.71em;
}
.form-line.quiz-line ::-webkit-input-placeholder,
.form-line.scaptcha-line ::-webkit-input-placeholder {
	font-size:.71em;
}
.form-line.quiz-line :-moz-placeholder,
.form-line.scaptcha-line :-moz-placeholder {
	font-size:.71em;
}
.form-line.quiz-line ::-moz-placeholder,
.form-line.scaptcha-line ::-moz-placeholder {
	font-size:.71em;
}
.form-line.quiz-line :-ms-input-placeholder,
.form-line. scaptcha-line :-ms-input-placeholder {
	font-size:.71em;
}
.form-line.quiz-line input:-ms-input-placeholder,
.form-line.scaptcha-line input:-ms-input-placeholder {
	font-size:.71em;
}
