@charset "UTF-8";

*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
    /*overflow-x: hidden;*/
    overflow-y: auto;
    scroll-behavior: smooth;
    height: 100%;
    font-size: 16px; /* 100% */
}

body {
    position: relative;
    display: flex;
    flex-flow: column;
    min-height: 100%;
    font-family: var(--font-family);
    font-weight: 300;
    font-size: 1.375rem; /* 22px desktop */
    font-size: 22px;
    line-height: 1.5;
    /*hyphens: auto; */
    color: #404040;
    background-color: white;
}

h1, h2, h3, h4, h5, h6, p, figure, pre, table, fieldset, hr, ul, ol, dl, blockquote { margin-bottom:24px; }

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    color: var(--color-brand-green);
}

h1 { font-size:40px; line-height:1.3; }
h2, h3, h4, h5, h6 { font-size:28px; line-height:1.3; padding-top:24px; }

h2.label,
h3.label {
    margin:0; padding:0;
    font-weight: 500;
    font-size: 21px;
    line-height:1.5;
    color: #555;
}
h2.underline { padding-bottom:4px; border-bottom:1px solid #DDD; font-size:24px; text-transform:uppercase; color:silver; }
@media only screen and (max-width:640px) { h1, h2, h3, h4, h5, h6 { -webkit-hyphens:auto; -moz-hyphens:auto; -ms-hyphens:auto; hyphens:auto; } }

p {}
p.summary { font-style:italic; font-weight:300; color:#B0B0B0; }
p.summary strong { color:#909090; }
p strong { font-weight: 500; color: #555; }
strong, b { /*color:#F0F; font-weight:500;*/ }
em { font-style:italic; }

dl, ol, ul { margin:0; padding:0; border:none; list-style:none; }

dl, dt, dd {
    margin: 0;
    padding: 0;
}
dl {
    margin-bottom: 24px;
    list-style: none;
}
dt:first-child {
    margin-top: 0;
}
dt {
    margin-top: 24px;
    font-weight: 400;
}


img {
    width:auto;
    max-width:100%;
    height:auto;
    font-size:10px;
}

img[data-fit="none"] { object-fit:none; }
img[data-fit="fill"] { object-fit:fill; }
img[data-fit="contain"] { object-fit:contain; }
img[data-fit="cover"] { object-fit:cover; }
img[data-fit="scale-down"] { object-fit:scale-down; }
img[data-pos="0"] { object-position:unset; }
img[data-pos="1"] { object-position:TOP LEFT; }
img[data-pos="2"] { object-position:TOP CENTER; }
img[data-pos="3"] { object-position:TOP RIGHT; }
img[data-pos="4"] { object-position:CENTER LEFT; }
img[data-pos="5"] { object-position:CENTER CENTER; }
img[data-pos="6"] { object-position:CENTER RIGHT; }
img[data-pos="7"] { object-position:BOTTOM LEFT; }
img[data-pos="8"] { object-position:BOTTOM CENTER; }
img[data-pos="9"] { object-position:BOTTOM RIGHT; }

video {
    width: 100% !important;
    height:auto !important;
}
.wp-video { width:100% !important; }

.hidden {
    display: none;
}

.assistive {
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

article ul, article ol { margin:0 0 24px 0; padding:0 0 0 32px; }
article ul { list-style:disc outside none; } 
article ol { list-style:decimal outside none; }


/* HEADER */
#header { background-color:white; }
/* STAGE */
#stage { overflow:hidden; position:relative; height:0; padding-top:56.25%; background-color: #DDD; }
#stage-fx {
    display: block;
    position: absolute; top:0; right:0; bottom:0; left:0; z-index:1;
    width: 100%;
    height: 100%;
}

    #stage-waves {
        position: absolute; right:0; bottom: 0; left: 0; z-index:1;
    }
    #stage-waves:after { 
        content: '';
        position: absolute; bottom: 0;
        display: block;
        width: 100%;
        height: 2px;
        background-color: white;
    }        
    #stage-waves .svg-waves {
        display: block;    
    }

#stage .slider, #stage .slide, #stage .slide:before, #stage .slide > img, #stage .slide > .content { position:absolute; top:0; left:0; display:block; width:100%; height:100%; }
#stage .slider { max-width:none; margin:0 auto; transform:translate3d(0, 0, 0); backface-visibility:hidden; }
#stage .slides { position:relative; width:100%; height:100%; }
#stage .slides:before {
	content:'';
	display:none;
	position:absolute; top:0; right:0; bottom:0; left:0; z-index:10;
	background:transparent url('../image/stage-overlay.png');
}
#stage .slide { overflow:hidden; }
#stage .slide:before { content:''; z-index:2; }
#stage .slide > img { z-index:1;  }
#stage .slide > .content { z-index:3; }

#stage .control-nav {
	overflow:hidden;
	position:absolute; bottom:4px;
	display:block;
	width:100%;
	margin:0 auto;
	white-space:nowrap;
	text-align:center;
}
#stage .control-nav li { float:none; display:inline-block; width:10%; max-width:68px; border:0px solid red; }
#stage .control-nav li a { 
	display:block;
	text-align:center;
	width:100%; height:36px;
	padding:16px 3px;
}
#stage .control-nav li a:before { display:none; } 
#stage .control-nav li a:after { 
	content:'';
	display:block;
	width:100%; height:3px;
    background-color:rgba(255,255,255,.5);
	box-shadow:0 0 8px rgba(0,0,0,0.2);
}
#stage .control-nav li a.active:after { background-color:rgba(255,255,255,.9); }
#stage .control-nav li a:hover:after { background-color:#009EE3; }


@media only screen and (min-width:768px) { 
	#stage,
	#stage.minimized { height:600px; height:80vh; padding:0; }
    /*.home #stage { height:720px; height:70vh; padding:0; }*/
}

/* LOGO */
#logo {
	position:relative; top:0; z-index:10;
	display:none;
	width:100%;
	margin:0 auto;
}
#logo a {
	display:block; 
	overflow:hidden;
	position:absolute; top:0; right:0;
	width:349px;
	padding:16px 24px 28px 24px;
	border-bottom-left-radius:30px;
	background-color:rgba(255,255,255,0.90);
}
#logo a img { display:block; }

/* NAVIGATION */
a, a:link, a:visited { font-weight: 400; color: #009D3D; text-decoration:none; }
a:focus { /* outline:thin dotted; */ }
a:active, a:hover { outline:0; }
a:hover { outline:0; color: #009D3D; }
a[href^="tel"], a[href^="fax"] {}
a:before, a:after { pointer-events:none; }
a, a:before, a:after, a .text, .nav .state, a .icon { 
	-webkit-transition:all .2s ease-out; 
	   -moz-transition:all .2s ease-out; 
	     -o-transition:all .2s ease-out; 
	    -ms-transition:all .2s ease-out; 
	        transition:all .2s ease-out;
}
a img { border:0; }
a > img { display:block; }

a[data-icon] {
    position: relative;
    display: inline-block;
    margin: 0 0 8px 0;
    padding: 0 0 0 30px;
}
a[data-icon]:before {
	content:'\e900';
	position: absolute;
    top: 3px;
    left:0;
	display: block;
    width:16px;
    height: 24px;
    vertical-align: baseline;
	font-family: Icon; 
	font-size: 16px; 
	font-weight: normal;
	line-height: inherit;
	text-align: center; 
	color: #009D3D;
}
a[data-icon="location"]:before { content:'\e90c'; top:3px; font-size:17px; }
a[data-icon="phone"]:before { content:'\e912'; top:4px; font-size:17px; }
a[data-icon="fax"]:before { content:'\e909'; top:4px; }
a[data-icon="email"]:before { content:'\e90d'; top:6px; font-size:16px; }
a[data-icon="intern"]:before { content:'\e900'; top:7px; font-size:13px; }
a[data-icon="extern"]:before { content:'\e91c'; top:5px; font-size:15px; }
a[data-icon="document"]:before { content:'\e903'; top:2px; font-size:13px; }
a[data-icon="download"]:before { content:'\e906'; top:5px; font-size: 15px; }
a[data-icon="note"]:before { content:'\e90b'; top:3px; font-size: 16px; }
a[data-icon="button"]:before {
    content: '\e900';
    top: 11px;
    left: 15px;
    font-size: 16px;
}
a[data-icon="button"] {
    display: block;
    margin-bottom: 16px;
    padding: 8px 8px 8px 40px;
    border: 1px solid var(--border-color, #E0E0E0);
    border-radius: var(--border-radius, 0);
    background-color: white;
}
a[data-icon="button"]:hover:before {
    color: #94C01A;
}
a[data-icon="button"]:hover {
    border: 1px solid #808080;
}

/**/

.nav-fixed #navigation,
#navigation {
	position:fixed; top:0; right:0; left:0; z-index:100;
	height: 64px;
    border-bottom: 1px solid #E5E5E5;
	background-color:rgba(255,255,255,0.95);
	box-shadow:0 2px 5px 0 rgba(50,60,70,0.1);
}
#navigation > .layout {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: inherit;
	height: 100%;
	padding: 0 20px;
}
/* MENU-LOGO */
#menu-logo {
/*	position:absolute; top:8px; left:16px;
	display:inline-block; vertical-align:top;
*/}
#menu-logo a { overflow:hidden; display:block; width:108px;  }
#menu-logo img { display:block; margin:0; font-size:10px; }

/*@media only screen and (max-width:1023px) {*/
	body { padding-top:64px; }
	#navigation {}
	#navigation > .layout {}
	/**/
	#navigation-overlay { position:fixed; top:0; right:0; bottom:0; left:0; z-index:100; pointer-events:none; }
	#navigation-overlay:before {
		content:'';
		position:absolute; top:0; right:0; bottom:0; left:0; z-index:auto;
		display:block;
		background:rgba(0,0,0,0.5);
		opacity:0;
		pointer-events:none;
		transition:opacity 0.3s cubic-bezier(0,0,0.3,1);
	}
	#navigation-sidebar {
		overflow:hidden;
		position:absolute; top:0; right:0; bottom:0; z-index:120;
		width:75%; max-width:440px;
        background-color: #fff;
		box-shadow:0 2px 6px rgba(0, 0, 0, 0.4);
		-webkit-transform:translateX(105%);
				transform:translateX(105%);
		-webkit-backface-visibility:hidden;
		        backface-visibility:hidden;
		/*will-change:transform;*/		
	}

    #menu-close { position:relative; top:16px; left:20px; }
    #menu-close a { font-size: 40px; line-height: 1; color: #009D3D; }
    #menu-close a:hover { color: var(--color-brand-green); }

	#navigation-sidebar.animatable { transition:transform 330ms ease-out; }
	.nav-sidebar-visible { overflow:hidden; }
	.nav-sidebar-visible #navigation-overlay { touch-action:none; }
	.nav-sidebar-visible #navigation-overlay:before { opacity:1; pointer-events:auto; }
	.nav-sidebar-visible #navigation-sidebar { -webkit-transform:none; transform:none; pointer-events:auto; }
	/**/
	#menu-main {
		overflow-x:hidden; overflow-y:auto;
		position:absolute; top:64px; right:0; bottom:0; left:0; z-index:110;
		border-top:1px solid transparent;
	}
	#menu-main > ul { padding:16px 0; border-top: 1px dashed var(--color-brand-green); }
	#menu-main > ul:first-of-type { border-top:none; }
	#menu-main > ul ul { display:none; }
	#menu-main > ul li { position:relative; }
	#menu-main a { 
		display: block;
		padding: 10px 56px 10px 24px;
		font-weight: 400;
		font-size: 21px;
		color: #555;
		transition:all 0.01s ease-in;
	}
	#menu-main .selected > a:before {
		content:'';
		position:absolute; top: 17px; left:0px;
		display:block;
		width:0; height:0;
		border-top:8px solid transparent;
		border-bottom:8px solid transparent;
		border-left:6px solid var(--color-brand-green);
	}
	#menu-main .state {
		position:absolute; top:0; right:0px;
		width:48px;
		height:40px;
		font-size:22px;
		line-height:40px;
		text-align:center;
		color: #555;
		cursor:pointer;
	}
	#menu-main .state:before { content:'+'; }
	#menu-main .state.visible:before,
	#menu-main .selected-parent > .state:before,
	#menu-main .selected.parent > .state:before  { content:'-'; }
	#menu-main .state:hover { color:#FFF; }
	#menu-main li:not(.selected) > a:hover + .state { color:white; }
	#menu-main .level-1 a { background-color:rgba(0,0,0,0.15); border-bottom:1px solid var(--color-brand-green); color:#e2e2e2; }
	#menu-main .level-2 a { background-color:rgba(0,0,0,0.25); border-bottom:1px solid var(--color-brand-green); }
	#menu-main .level-3 a { background-color:rgba(0,0,0,0.45); }
	#menu-main li:not(.selected) > a:hover { color: #808080; /*background-color: #009D3D;*/ }
	#menu-main .selected-parent > ul,
	#menu-main .selected.parent > ul { display:block; }
	#menu-main .selected > a,
	#menu-main .selected > a:hover { font-weight: 500; color: var(--color-brand-green); }
	/* SEARCH */
	#menu-main .search {
		padding:8px 0;
		background-color: var(--color-brand-green);
	}
	#menu-main .search-form { position:relative; }
	#menu-main .search-field { 
		display:block; 
		position:relative; 
		width:100%; height:40px; 
		padding:0 56px 0 24px !important;	
		font-size: 18px;
		color:white;	
		border:none;
		background-color: var(--color-brand-green);
		box-shadow:none;
		outline:none;	
	}
    #menu-main input::-webkit-input-placeholder { color:#FFF; }
    #menu-main input:-moz-placeholder { color:#FFF; }
    #menu-main input::-moz-placeholder { color:#FFF; }
    #menu-main input:-ms-input-placeholder { color:#FFF; }
    #menu-main input::placeholder { color: white; }
	#menu-main .search-submit {
		position:absolute; top:0; right:0; 
		width:48px; height:40px;
        padding:0;
		text-align:center; 
		color: hsla(319,12%,80%,1.00);
		border:none;
		background-color:transparent;
		cursor:pointer; 
	}
	#menu-main .search-submit:before {
		font-family:'icon';
		font-size:22px; 
	}
	#menu-main .search-submit:hover { color: white; }
    	

/*}*/


/* MENU META */  
#menu-meta {
    display: inline-block;
    margin-left: auto;
}

ul.nav-meta {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}

ul.nav-meta > li {
    position: relative;
    margin-left: 12px;
}

ul.nav-meta > li > a {
    position: relative;
	display: flex;
    flex-flow: column nowrap;
	justify-content: center;
	align-items: center;  
    width: 36px;
    height: 48px;
    color: var(--color-action, var(--color-brand-green));
    cursor: pointer;
}

ul.nav-meta > li > a:hover {
    color: var(--color-action-hover, var(--color-brand-green));
}

ul.nav-meta > li > a .icon { 
    display: block;
    font-size: 32px;
    line-height: 1; 
    text-align: center; 
    color: inherit;
}

.nav-meta > li > a .icon:before {
    transition: all 0.3s ease-in-out;
}

ul.nav-meta > li > a .icon:hover:before {
    /*color: #006C3C;*/
}

@media only screen and (min-width: 768px)
{
    ul.nav-meta > li {
        margin-left: 24px;
    }
    
    ul.nav-meta > li > a .icon {
        font-size: 40px;
    }
}



/* CONTENT */
#content { background-color:white; }
#content > .layout { padding-bottom: 96px; }
/* MAIN */
#main { padding:32px 16px 32px 16px; }
#main > * { max-width:756px; }
.home #main > * { max-width:none; }
/* ARTICLE */
article.design { margin-bottom:24px; padding:16px; border:1px dotted #FF00FF; }
article.design h1 { margin:0; font-weight:300; font-size:18px; line-height:1; color:#FF00FF; }
/* ---------- */

/* ---------- */
/* ASIDE */
#aside { padding:32px 16px 32px 16px; padding:24px 16px 0 16px; border:0px dotted #FF00FF; }
#aside > section { overflow:hidden; margin-bottom:24px; padding:32px 16px; }
#aside section h1 { margin-bottom:16px; font-size:30px; line-height:36px; color:#808080; }
/* ASIDE SECTION IMAGE */
#aside section.image { padding:0; border-radius:5px; }
#aside section.image header {
    position: relative;
    display: block;
    margin: 0;
}
#aside section.image header a {
    overflow: hidden;
    max-height: 220px;
 }
 #aside section.image header a,
 #aside section.image header a img {
     position: relative;
     display: block;
     border-radius: var(--border-radius, 0);
 }
#aside section.image header img {
    transition:transform .3s ease-in-out;
    transform:scale3d(1,1,1);
}
#aside section.image header h2 {
    overflow: hidden;
    position: absolute; bottom: 0; left: 0; z-index: 1;
    margin: 0;
    padding: 8px 24px 8px 24px;
    font-weight: 500;
    font-size: 24px;
    font-size: 20px; line-height:24px;
    line-height: 32px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: white;
    border-top-right-radius: 3px;
    background-color: var(--color-primary);
    pointer-events: none;
}
#aside section.image header img:hover {
    -webkit-transform:scale3d(1.05,1.05,1);
    transform:scale3d(1.05,1.05,1);
}

/* ASIDE SECTION SEARCH */
#aside section.search { padding:4px 0 0 0; }
#aside .search-form { position:relative; }
#aside .search-field, 
#aside .search-submit { -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }
#aside .search-field { -webkit-transition:border-color 0.20s ease-out; -moz-transition:border-color 0.20s ease-out; transition:border-color 0.20s ease-out; }
#aside .search-field { display:block; position:relative; width:100%; height:40px; padding:0 44px 0 23px; font-size:16px; color:#808080; border:1px solid #DDD; background-color:#FFF; box-shadow:none; outline:none; }
#aside .search-submit { position:absolute; top:1px; right:1px; width:38px; height:38px; font-family:icon; font-size:18px; text-align:center; color:#CCC; border:1px solid #FFF; background-color:#FFF; cursor:pointer; }
#aside .search-form:hover .search-field { border:1px solid #757C76; }
#aside .search-submit:hover:before { color:#757C76; }
#aside .search-field:focus { border:1px solid #757C76; outline:none; box-shadow:none; }
#aside .search-submit:focus { padding:0; border:0; outline:none; box-shadow:none; }
/* ASIDE SECTION SERVICES */
#aside section.services h2 { padding-top: 16px; }
#aside section.services { margin-bottom: 48px; padding: 0; }
#aside section.services ul,
#aside section.services li,
#aside section.services li > a { display:block; position:relative; width:100%; margin:0; padding:0; background-color:transparent; }
#aside section.services ul { overflow:hidden; }
#aside section.services ul ul { display:none; }
#aside section.services ul li:first-child { border-top: 1px dashed #009D3D; }
#aside section.services ul li { border-bottom:1px dashed #009D3D; }
#aside section.services li a {
        display: block;
        padding:8px 0 8px 23px;
        font-weight: 400;
        font-size: 21px;
        line-height: 1.3;
        color: #555;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens:auto;
        hyphens: auto;
        word-wrap:break-word;
    }
#aside section.services li a:before { content:'\e907'; position:absolute; top:13px; left: 4px; font-family:icon; font-size: 14px; color: #009D3D; }
#aside section.services .level-1 { padding-left:23px;  }
#aside section ul li a:hover span { color: #808080; }
#aside section.services ul li a:hover { padding-left:25px; color: var(--color-brand-green); }
#aside section.services ul li a:hover:before { left: 6px; }
#aside section.services li.selected ul,
#aside section.services li.selected-parent ul { display:block; }
#aside section.services li.selected > a span,
#aside section.services li.selected > a:hover span { color: var(--color-brand-green); font-weight: 500; }
/* ASIDE SECTION TAGCLOUD */
#aside section.tagcloud {
    margin-bottom: 48px;
    padding: 0;
}

ul.tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;    
    margin: 24px 0 0 0;
    padding: 0;
    list-style: none;
}

ul.tagcloud a {
    display: inline-block;
    padding: 0.45rem 1.2rem;
    font-weight: 400;
    font-size: 1.2rem;
    
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    color: #333;
    
    border-radius: 9999px;
    border: 1px solid #CCC;
}

ul.tagcloud a:hover {
    border-color: #000;
    color: #000;
    transform: translateY(-2px);
}

ul.tagcloud a.selected, 
ul.tagcloud a.selected:hover {
    color: #009D3D;
    border-color: #009D3D;
}


/*ul.tagcloud a.size   { font-size:1em; }
ul.tagcloud a.size-1 { font-size:0.8em; }
ul.tagcloud a.size-2 { font-size:1.0em; }
ul.tagcloud a.size-3 { font-size:1.10em; }
ul.tagcloud a.size-4 { font-size:1.25em;  }
ul.tagcloud a.size-5 { font-size:1.40em; }
ul.tagcloud li:hover { border-color:#143968; }
ul.tagcloud li:hover a { color:#333; }*/

/* FOOTER */
#footer {
    position: relative; 
    background-color: var(--color-brand-gray);
}
/* FOOTER WAVES */
#footer-waves {
    position: relative; top: -2px;
    padding-top: 40px;
    background-color: white;
    transform: scaleX(-1);
}
#footer-waves:after { 
    content: '';
    position: absolute; bottom: 0;
    display: block;
    width: 100%;
    height: 4px;
    background-color: var(--color-brand-gray);
    /*background-color: #F0F;*/
}

#footer-waves .svg-waves {
    display: block;    
}


/* FOOTER QUICKLINKS */
#quicklinks {}
#quicklinks > .layout { padding:32px 0; }
#quicklinks > .layout > section { position:relative; padding:16px; border:0px dotted #FF00FF; }
#quicklinks h2 { margin:0; padding:0; font-weight: 600; font-size:30px; color:rgba(36,33,29,0.80); color:#fff; }
#quicklinks h2:after { content:''; display:block; height:1px; margin-top:8px; margin-bottom:24px; border-bottom:0px solid #888; }
#quicklinks ul {}
#quicklinks ul ul { display:none; }
#quicklinks ul li:first-child { border-top:none; }
#quicklinks ul li { position:relative; border-top:0px solid rgba(255,255,255,0.30); }
#quicklinks ul li a { display:inline-block; padding: 8px 0 8px 23px; font-weight: 400; font-size:18px; color:#FFF; color: white; }
#quicklinks ul li a:before {
    content:'\e907'; /*content:'\2192';*/
    position: absolute; top: 14px; left: 4px;
    font-family: 'icon';
    font-size: 12px;
    color: hsla(319,12%,80%,1.00);
 }
#quicklinks ul li a:hover { padding-left: 25px; color:rgba(255,255,255,.8); }
#quicklinks ul li a:hover:before { left: 6px; }
#quicklinks address { margin:0; padding-top:10px; font-weight: 400; font-style:normal; font-size:18px; line-height:1.375; color: white; }
#quicklinks address p { position:relative; margin-bottom:20px; padding-left: 36px; }
#quicklinks address p strong { color: rgba(255,255,255,0.9); }
#quicklinks address p a { display: inline-block; font-weight: 400; color: white; }
#quicklinks address p a:hover { color: rgba(255,255,255,0.80); }
#quicklinks address .icon {
    display: block;
    position: absolute; top: 0; left: 0; width: 28px; height: 28px;
    font-size: 20px; line-height: 28px; text-align: center;
    color: hsla(319,12%,80%,1.00);
}
/* FOOTER LEGAL */
#legal { background-color:transparent; }
#legal > .layout { position: relative; }
#legal > .layout > div { padding:0 16px; border:0px dotted #F0F; }
/* FOOTER LEGAL NAV-LEGAL */
#footer .nav-legal { display:block; margin-bottom:24px; }
#footer .nav-legal ul { display:none; }
#footer .nav-legal li { border-bottom:1px dashed #707070; }
#footer .nav-legal li:first-child { border-top:1px dashed #707070; }
#footer .nav-legal a { position:relative; display:inline-block; padding:8px 0 8px 24px; font-weight: 400; font-size:18px; color: white; }
#footer .nav-legal a:hover { color: rgba(255,255,255,0.80); }
#footer .nav-legal a:before {
    content:'\e907';
    position:absolute; top:15px; left:4px; font-family:icon; font-size:10px; color:#fff; }
/* FOOTER LEGAL COPYRIGHT */
#copyright p { display:block; padding:8px 0 8px 0; font-weight: 400; font-size:17px; color: white; }
#copyright p a { color:inherit; cursor:auto; }
#copyright p a:hover { color:inherit; }

@media only screen and (min-width:1024px) {
    body { padding-top:0px; }
	/* HEADER */
	#header { position:relative; padding-top:112px; padding-top:100px; }
	/* LOGO */
	#logo { display:block; }
	/* SLIDESHOW */
	#slideshow {}
	/* NAVIGATION */
    .nav-sticky #navigation {
        height:112px; height:100px;
        box-shadow:0 2px 5px 0 rgba(50,60,70,0.08);
        border:0px solid red;
    }
	#navigation { position:fixed; top:0; height:112px; height:100px; box-shadow:none; }
	#navigation > .layout { padding: 0 20px; }
    /* MENU-MAIN */
    #menu-main { top:100px; padding:0; transition:all; }
    #menu-meta { top:26px; }
    #menu-close { top:32px; }

	/* MENU-LOGO */
	#menu-logo { top: 10px; }
    #menu-logo a { width: 300px; }
	/* CONTENT */
	#content { background-color:white; }
	#content > .layout {}
	/* MAIN */
	#main { padding:48px 24px 48px 24px; }
	#main > * {}
	/* ASIDE */
	#aside { padding:48px 24px 24px 0; }
	#aside > section { overflow:hidden; margin-bottom:24px; padding:32px 24px; }
	/* FOOTER */
	#footer {}
	/* QUICKLINKS */
	/*#quicklinks > .layout { padding:0 0 48px 0; }*/
    #quicklinks > .layout > section { padding-top: 16px; }
	/* LEGAL */
	#legal > .layout {
        padding: 16px 0;
    }

	/* NAV-LEGAL */
	#footer .nav-legal { display:inline-block; margin:0; }
	#footer .nav-legal li, 
    #footer .nav-legal li:first-child { display:inline-block; border:none; }
	#footer .nav-legal li a { padding:8px 12px; }
	#footer .nav-legal a:before { display:none; }
    /* COPYRIGHT */
	#copyright p { float:left; display:inline-block; padding-right:12px; }}

/**/

/* ARTICLE */
article {
    position: relative;
    display:block;
    margin: 0 0 24px 0;
    border: 0px solid #F0F;
}
article header {}
article header a.media { overflow:hidden; position:relative; display:block; }
article header a.media > img { position:relative; z-index:1; display:block; -webkit-transition:transform .3s ease-in-out; transition:transform .3s ease-in-out; -webkit-transform:scale3d(1.01,1.01,1); transform:scale3d(1.01,1.01,1); }
article header:hover a > img { -webkit-transform:scale3d(1.05,1.05,1); transform:scale3d(1.05,1.05,1); }
article > .content {}
article footer {}
article footer ul.meta { margin:0; padding:0; border:0; list-style:none; }
article footer ul.meta .label,
article footer ul.meta .author,
article footer ul.meta .comment {
    clip: rect(0, 0, 0, 0);
    overflow:hidden;
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    border:0;
}

/* --- */
article.teaser.post header { border:0; }
article.teaser.post header a.media { margin-bottom:0; border:none; border-radius: 12px; }

article.teaser.post header h2  { display:block; padding-bottom:8px; font-weight:400; font-size:24px; }
article.teaser.post header h2 small { display: block;margin:12px 0 6px 0; padding:0; font-weight:400; font-size:20px; color: #666; }


article.teaser.post header h2 a { color: var(--color-brand-gray); }
article.teaser.post:hover header h2 a,
article.teaser.post header h2 a:hover { color: var(--color-brand-gray-light); }

article.teaser.post .content {}

article.teaser.post footer { padding-top:0px; font-size:16px; border:0; }
article.teaser.post ul.meta { border:0; }
article.teaser.post ul.meta .publication {
    display: none;
	position: absolute; top: auto; right: auto; bottom: 0; left: 50%; z-index:1; 
	font-size:13px;
	font-weight:400;
	line-height:1; 
	color: white;
    margin-left: -44px; 
	padding:10px 10px;
	border:none;
	border-top-right-radius: var(--border-radius, 0);
	border-top-left-radius: var(--border-radius, 0);
	pointer-events:none;
    background-color: rgb(89,93,97);
}
article.teaser.post ul.meta .publication::before {
    display: none;
	content:'';
	position:absolute; top:0; left:-12px;
	width:0;
	height:0;
	border-left:6px solid transparent; border-top:6px solid transparent; border-right:6px solid #97AF04;
}

article.teaser.post ul.meta .category-primary {
    position: absolute; top: 24px; left: -1px; z-index: 10;
    position: absolute; top: 10px; left: 10px; z-index: 10;
    display: inline-block;
    padding: 0;
    font-weight: 400;
    font-size: 20px;
    
    line-height: 32px;
    text-transform:uppercase;
    letter-spacing: 0.04em;
    color: #4D4D4D;
   
    background-color: transparent;
}

article.teaser.post ul.meta .category-primary a {
    display: block;
    padding: 8px 10px;
    font-weight: 600;
    font-size: 15px;    
    line-height: 15px;
    text-transform:uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    border-top-left-radius: 5px;
    border-top-right-radius: 8px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 8px;
    border-radius: 8px;
    background-color: rgba(0,0,0,0.1);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    transition: all ease 0.2s;
    border: 0px solid red;
}
article.teaser.post ul.meta .category-primary a:hover {
    color: white;
    background-color: var(--color-primary);
}

article.teaser.post ul.meta .category { display: none; padding-left:16px; }
article.teaser.post ul.meta .category a { font-weight:400; font-size:15px; text-align:left; color: hsla(105,57%,35%,1.00); color: #aaa; }
article.teaser.post ul.meta .category a:hover { color: #fff; background-color: #c41343; }

/**/

main section { position:relative; padding:24px 0; background-color:transparent; }
main section:before, #main > section:after { content:''; position:absolute; display:block; }
main section > * { max-width:1280px; margin:0 auto; }
.home main section > header { padding:0 16px; border:0px solid #FF00FF; }
main section > .content { padding:16px; }
main section > .content:after { content:''; display:table; clear:both; }
main section > footer {}
main section .layer { overflow:hidden; display:none; max-width:none; height:100%; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; }
main section .layer:before { content:''; position:absolute; top:0; right:0; bottom:0; left:0; z-index:1; display:block; }
main section .layer > img { position:absolute; top:auto; right:0; bottom:0; left:0; display:block; width:100%; height:100%; -webkit-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0); -webkit-backface-visibility:hidden; backface-visibility:hidden; }
main section .layer[data-type="none"] { display:none; }
main section .layer[data-type="scroll"] {}
main section .layer[data-type="parallax"] {}

/* SECTIONS */

.sh-title {
    border: 0px solid #F0F;    
}

.sh-title small { display:block; padding-top:12px; }
.sh-title > .icon { display:none; }

a.sh-action {
    position: relative;
    display: inline-flex;
    flex-flow: row nowrap;
    justify-content: center;
    margin-top: 24px;
    padding: 0 24px;
    font-weight: 600;
    font-size: 18px;
    line-height: 48px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
    border: 2px solid #36507C;
    border-radius: 50em;
    background-color: #36507C;
    user-select: none;
}

a.sh-action:hover {
    color: white;
    border-color: #FBBA00;
    background-color: #FBBA00;
}



/* SECTION ABOUT */
#section-about { padding:48px 0; padding:10vh 0; }
#section-about > header { text-align:center; }
#section-about .sh-title { font-size: 70px; line-height:1.25; font-weight: 700; color: var(--color-primary); }
#section-about .sh-title small { font-weight: 500; font-size:36px; line-height:1.2; color: var(--color-brand-gray); }
#section-about .sh-title > .icon { display:block; margin-bottom:16px; font-size:40px; color:#808080; }
#section-about .sh-title:after { content:''; display:block; width:80px; height:2px; margin:24px auto 0 auto; font-size:0; line-height:0; background: var(--color-primary); }

#section-about a.sh-action {
    margin-top: 24px;
    color: white;
    border-color: var(--color-brand-gray);
    background-color: var(--color-brand-gray);
}

#section-about a.sh-action:hover {
    color: white;
    border-color: var(--color-brand-gray-light);
    background-color: var(--color-brand-gray-light);
}

/* SECTION SERVICES */
#section-services {  padding:48px 0; padding:10vh 0; background-color: #BBB; }
#section-services:before { display: none; top:0; left:50%; width:0; height:0; margin-left:-16px; border-left:16px solid transparent; border-right:16px solid transparent; border-top:16px solid white; }
#section-services > header { text-align:center; }

#section-services .sh-title { font-size:70px; line-height:1.25; font-weight: 700; color: white; }
#section-services .sh-title:after { content:''; display: block; width:80px; height:2px; margin:24px auto 0 auto; font-size:0; line-height:0; background: white; }
#section-services .sh-title small { font-weight: 500; font-size: 36px; color: #606060; }
#section-services .sh-title > .icon { display:block; margin-bottom:32px; font-size:100px; color:#B0B0B0; }
#section-services .content { width:100%; max-width:1400px; }
#section-services .owl-stage { display:flex; border:0px solid red; }
#section-services .owl-item article.teaser {
    object-fit:cover; width:100%; max-width:initial; height:100%; margin:16px 0 0 0;
}
#section-services article.teaser { border:0px dotted #FF00FF; }
#section-services article.teaser a.media {
    position:relative;
	overflow:hidden;
	display:block;
	max-width:280px;
    margin:0 auto 0 auto;
	border:12px solid rgba(255,255,255,.25);
}

#section-services article.teaser a.media,
#section-services article.teaser a.media img { 
	-webkit-border-radius:50%; -moz-border-radius:50%; border-radius:50%;
}

#section-services article.teaser a.media .icon {
    display:block;
    position: absolute; top:50%; left:50%; z-index:5;
    font-size:120px;
    color: hsla(209,100%,22%,1.00);
    transform: translate(-50%,-50%);
    /*background-color:white;*/
}

#section-services article.teaser a.media .icon-mlm-bed {
    font-size:90px;
}
#section-services article.teaser a.media .icon-mlm-truck {
    font-size:130px;
}


#section-services article.teaser h1 .icon,
#section-services article.teaser h1 small,
#section-services article.teaser h1 .text { display:none; }


#section-services article.teaser h1 { position:relative; margin:0; padding:24px 16px; }
#section-services article.teaser h1:before {
    content: '';
    display: none;
    position:absolute; top:-4px; left:50%; z-index:5000;
    width: 0; 
    height: 0;
    margin-left: -20px; 
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid rgba(255,255,255,.20);
}

#section-services article.teaser h1 a { display:block; font-weight: 500; font-size:24px; text-align:center; color: var(--color-brand-gray); }
#section-services article.teaser h1 a:hover,
#section-services article.teaser header:hover h1 a { color: var(--color-brand-gray-light); }





/* SECTION FEATURE */
#section-feature { padding:48px 0; padding:24vh 0; }
#section-feature > header { text-align:center; }
#section-feature .sh-title {
    font-size: 70px;
    line-height: 1.25;
    font-weight: 700;
    color: white;
    text-shadow: 0 0 40px rgba(29,52,62,.5);
}
#section-feature .sh-title:after { content:''; display:block; width:80px; height:2px; margin:24px auto 0 auto; font-size:0; line-height:0; background: white; }
#section-feature .sh-title small { font-weight: 500; font-size: 36px; color: #fff; }
#section-feature .sh-title > .icon { display:block; margin-bottom:16px; font-size:40px; color:#808080; }
#section-feature .sh-title > .icon {
    display: none;
    margin-bottom: 16px;
    font-size: 120px;
    color: #009EE3;
}
#section-feature .layer { display:block; }
#section-feature > .layer:before { }
#section-feature header p { font-size:24px; }

#section-feature a.sh-action {
    margin-top: 24px;
    color: white;
    border-color: var(--color-brand-gray);
    background-color: var(--color-brand-gray);
}

#section-feature a.sh-action:hover {
    color: white;
    border-color: var(--color-brand-gray-light);
    background-color: var(--color-brand-gray-light);
}

/* SECTION NEWS */
#section-news { padding: 120px 0 0 0; }
#section-news > header { text-align:center; }
#section-news .sh-title { font-size: 70px; line-height:1.25; font-weight: 700; color: var(--color-primary); }
#section-news .sh-title small { font-weight: 500; font-size:36px; line-height:1.2; color: var(--color-brand-gray); }
#section-news .sh-title > .icon { display:block; margin-bottom:16px; font-size:40px; color:#808080; }
#section-news .sh-title:after { content:''; display:block; width:80px; height:2px; margin:24px auto 0 auto; font-size:0; line-height:0; background: var(--color-primary); }


#section-news .layer { display:block; }
#section-news > .layer:before { background-color:rgba(255,255,255,0.60); }
#section-news article.teaser { background-color:#FFF; }


/* SECTION ATTRIBUTION */
#section-attribution {}
#section-attribution > .content { padding:0; }
/* SECTION LOCATIONS */
#section-locations {}
#section-locations > header {}
#section-locations > .content { padding:0; }
#section-locations article:last-child { padding-bottom:24px; border-bottom:1px dotted #DDD; }
#section-locations article { padding-top:24px; border-top:1px dotted #DDD; }
#section-locations article:after { content:''; display:table; clear:both; }
#section-locations article header { float:left; width:40%; padding-right:24px; border:0px dotted #FF00FF; }
#section-locations article header img { display:block; border-radius:2px; }
#section-locations article .content { float:left; width:60%; border:0px dotted #FF00FF; }
#section-locations article .content p { margin:0; }
/* SECTION CONTACTS */
#section-contacts {}
#section-contacts > header {}
#section-contacts > .content { padding:0; }
#section-contacts article:last-child { padding-bottom:24px; border-bottom:1px dotted #DDD; }
#section-contacts article { padding-top:24px; border-top:1px dotted #DDD; }
#section-contacts article:after { content:''; display:table; clear:both; }
#section-contacts article header { float:left; width:35%; padding-right:24px; border:0px dotted #FF00FF; }
#section-contacts article header img { display:block; width:200px; border-radius:50%; }
#section-contacts article .content { float:left; width:65%; border:0px dotted #FF00FF; }
#section-contacts article .content p { margin:0; }
/* JOBS */
section#section-jobs {  }
section#section-jobs > .content { padding:0; }
ul.jobs { border-top:1px solid rgba(0,0,0,0.05); }
ul.jobs li { padding:12px 0; border-bottom:1px solid rgba(0,0,0,0.05); }
ul.jobs li h2 { margin-bottom:0px; padding-top:0;  }
ul.jobs li p { margin:0; }
@media only screen and (max-width:640px) {
	#section-locations article header { float:none; width:100%; margin-bottom:8px; padding:0; }
	#section-locations article > .content { float:none; width:100%; }
	#section-contacts article header { float:none; width:100%; margin-bottom:8px; padding:0; }
	#section-contacts article > .content { float:none; width:100%; }

}
/* ARTICLE POST */
article.post header { position:relative; }
article.post header figure { margin:0; }
article.post header h1 small {
    display:block;
	padding-top:12px;
    font-size:0.6em;
    line-height:1.8;
    color:#AAA;
}
article.post footer { font-size:14px; }
article.post footer .meta { overflow:hidden; margin:0; padding:8px 0 8px 0; border-top:1px solid #DDD; }
article.post footer .meta a { font-weight:300; }
article.post footer .meta .label { display:none; color:rgb(169,161,147); }
article.post footer .meta li { display:inline-block; padding-right:12px; }
article.post footer .meta li.publication { }
article.post footer .meta li.author { display:none;  }
article.post footer .meta li.category {}
article.post footer .meta li.tag { display:none; }
article.post footer .meta li.comment { display:none; }
article.post.project footer .meta { border-bottom:1px solid #DDD; }
@media only screen and (min-width:641px) {
    
    .blog #main,
    .archive #main {
        border: 0px solid red;
        padding-right: 80px;
        
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        align-content: stretch;
        gap: 24px;
    }

    .blog #main > article,
    .archive #main > article {
        width: 31%;
        margin: 0;
    }
}
/* PAGING */
ul.nav-paging { clear:both; overflow:hidden; margin:60px 0 24px 0; }
ul.nav-paging > li { display:block; position:relative; float:left; } 
ul.nav-paging > li { padding-left:8px; color:#BBB; } 
ul.nav-paging > li:first-child { padding:0 8px 0 0; border-right:1px solid #DDD; } 
ul.nav-paging > li a {} 
ul.nav-paging > li a:hover {} 
.icon-caret-left:before { display:inline-block; position:relative; top:2px; left:0; padding-right:6px; font-size:1rem; }
.icon-caret-right:before { display:inline-block; position:relative; top:2px; left:0; padding-left:6px; font-size:1rem; }
/* SEARCH RESULT */
#search-result {}
#search-result > .content { padding:0; }
#search-result article { margin-bottom:0; padding:24px 0; border-bottom:1px solid #EEE; }
#search-result article:first-of-type { border-top:1px solid #EEE; }
#search-result article h2 { margin:0 0 8px 0; padding:0; }
#search-result article h2 small {display:block; padding-top:12px; font-size:0.6em; line-height:1.8; color:#A0A0A0; }
#search-result article h2 a { font-weight: 500; color: #555; }
#search-result article h2 a:hover { color: var(--color-primary);  }
#search-result article p { margin:0; }
#search-result footer {}
.list-teaser .teaser > a { position:relative; display:block; text-align:center; }
.list-teaser .teaser .image { overflow:hidden; position:relative; display:block; }
.list-teaser .teaser .image img { display:block; -webkit-transition:transform .3s ease-in-out; transition:transform .3s ease-in-out; -webkit-transform:scale3d(1,1,1); transform:scale3d(1,1,1);	} 
.list-teaser .teaser a:hover img { -webkit-transform:scale3d(1.1,1.1,1); transform:scale3d(1.1,1.1,1); } 
/* TEAMS */
#section-teams {}
#section-teams > .content { padding:0; }

/* SECTION CONTACTS */
#section-contacts {
    position: relative;
}
#section-contacts > header {
    
}

/*#section-locations > .content,
#section-contacts > .content {
    padding: 12px 0 ;
    border-top: 1px solid var(--border-color, #E0E0E0);
    border-bottom: 1px solid var(--border-color, #E0E0E0);
}
#section-contacts > .content > :last-child {
    margin-bottom: 0;
}*/

/* CONTACT CARDS */
.contact-cards > .content {
    padding: 12px 0 ;
    border-top: 1px solid var(--border-color, #E0E0E0);
    border-bottom: 1px solid var(--border-color, #E0E0E0);
}

.contact-cards > .content > :last-child {
    margin-bottom: 0;    
}

/* CONTACT CARD */
.contact-card {
    position: relative;

	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;

    margin-bottom: 24px;
    padding: 24px 0;
}
.contact-card + .contact-card:before {
    content: '';
    position: absolute; top:-12px;
    display: block;
    width: 100%;
    height: 0;
    border-top: 1px solid var(--border-color, #E0E0E0);
}

.contact-media {
    flex-shrink: 0;
    width: 50%;
}

.contact-info {
    flex-grow: 1;
    padding-left: 24px;
}

.contact-info h2 { /* H2 ADMIN */
    margin-bottom: 8px;
    padding: 0;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.4;
    color: #707070;
}
.contact-info p:last-child {
    margin: 0;
}

.contact-company > .contact-media img,
.contact-location > .contact-media img {
    border-radius: var(--border-radius, 5px);
}


.contact-company > .contact-media {
    width: 50%;
}
.contact-company > .contact-media img {
    border: 1px solid #ccc;
    background-color: white;
}
.contact-company > .contact-info p {
    margin: 0;
}





.contact-person > .contact-media {
    width: 30%;
}

.contact-person > .contact-media img {
    display: block;
    width: 100%;
    margin: 0;
    border-radius: 50%;
    border: 1px solid var(--border-color, #E0E0E0);   
}

@media only screen and (max-width: 640px) {
    .contact-card {
        flex-direction: column;
    }
    
    .contact-card > .contact-media {
        width: 100%;
    }
    
    .contact-card > .contact-info {
        width: 100%;
        padding: 24px 0 0 0;
    }
    
    .contact-person > .contact-media img {
        width: 200px;
    }

}


/* ---- *//**/
#section-references { border-top:1px solid #EEE; }
#section-references header { padding:0; }
#section-references > .content { padding:0; }
ul.references { overflow:hidden; margin:0; padding:0; list-style:none; }
ul.references li { float:left; display:block; margin:0; padding:0; border-right:8px solid transparent; border-bottom:0px solid transparent; }
ul.references li a { display:block; margin-bottom:8px; color:#707070; border-radius:2px; }
ul.references li a img { border:1px solid #F2F2F2; border-radius:2px; transition:border .2s ease-out; }
ul.references li a[href] img:hover { border-color:#009EE3; }
@media only screen and (min-width:480px) { ul.references li { width:50%; } }
@media only screen and (min-width:1024px) { ul.references li { width:33.33%; } }

/* FORM */
.form button, 
.form input, 
.form optgroup, 
.form select, 
.form textarea {
    font-weight:300;
    font-size:inherit;
    line-height:inherit;
	-webkit-box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
	   -moz-box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
		    box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
}
.form button, 
.form input, 
.form select, 
.form textarea {
	border:none;
	outline:none;
	text-shadow:none;
   -webkit-appearance:none; -moz-appearance:none; appearance:none;
   -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none;
}
.form button {
	overflow:visible;
	display:inline-block;
	vertical-align:middle;
	padding:8px 16px;
	font-weight:400;
	line-height:1.5;
	text-align:center;
	text-transform:none;
	border-radius:4px;
	border:1px solid #888;
	background-color:#FFF;
	white-space:nowrap;
	cursor:pointer;
	-webkit-user-select:none;
	   -moz-user-select:none;
	    -ms-user-select:none;
	        user-select:none;
	-webkit-transition:all .2s ease-in-out; 
	   -moz-transition:all .2s ease-in-out; 
	     -o-transition:all .2s ease-in-out; 
	    -ms-transition:all .2s ease-in-out; 
	        transition:all .2s ease-in-out; 
}
/* FORM CONTACT */
#form-contact { max-width:600px; }
.form label {
    display: block;
    padding:16px 0 4px 2px;
    font-weight:300;
    font-size: 18px;
    text-transform: uppercase;
    color:#009D3D;
}
.form .select-box {
    position:relative;
    background-color:white;    
}
.form .select-box select {
    display:block;
    width:100%;
    margin-bottom:16px;
    padding:8px 10px;
    font:inherit;
    line-height:1.5;
    border:1px solid #009D3D;
    border-radius:4px;
    background-color: white;
}
.form .select-box:before {
    content:'\e907';
    position:absolute; top:4px; right:4px; z-index:1;
    display:block;
    width:40px;
    height:40px;
    font-family: icon;
    font-size:16px;
    line-height:40px;
    text-align: center;
    color: #009D3D;
    border-radius:4px;
    background-color: white;
    transform: rotate(90deg);
    pointer-events:none;
}
.form input {
    overflow:visible;
    position:relative;
	display:block;
    margin-bottom:16px;
    width:100%;
	padding:8px 16px;
	border:1px solid #009D3D;
	border-radius:4px;
}
.form textarea {
    overflow: auto;
    outline: none;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom:16px;
    padding: 16px;
    border: 1px solid #009D3D;
    border-radius: 4px;
}
.form input[type="checkbox"] {
    display:none;
}
.form input[type="checkbox"] + label {
    position:relative;
    margin-top:24px;
    margin-bottom:24px;
    padding:0 0 0 32px;
    font-size:16px;
    line-height:1.4;
    text-transform:none;
    color:#808080;
}
.form input[type="checkbox"] + label::before {
    content: '';
    position:absolute;
    top: 2px; left:0;
    display: inline-block;
    margin-right: 8px;
    width: 18px;
    height: 18px;
    border: 1px solid #009D3D;
    border-radius:4px;
    background-color: white;
}
.form input[type="checkbox"] + label.invalid::before {
    border:1px solid red;
}
.form input[type="checkbox"]:checked + label::before {
    box-shadow:inset 0px 0px 0px 4px white;
    background-color:#009D3D;
}
.form button.primary {
    display:block;
    width:100%;
    padding:12px 16px;
	color:#FFF;
	background-color:#009D3D;
	border-color: #009D3D;
}
.form button.primary:hover {
	background-color: var(--color-brand-green);
	border-color: var(--color-brand-green);
}

/* JOBS */
#jobs { border: 1px solid white;}
#jobs ul.jobs, #jobs ul.jobs li { margin:0; padding:0; border:none; list-style:none; }
#jobs li.job a {
    display: block;
    margin-bottom: 16px;
    padding: 24px 32px ;
    border: 1px solid #E0E0E0;
    border-radius: 8px;
}
#jobs li.job a:hover { border-color: #CCC; }
#jobs .job-title {
    display: block;
    margin-bottom: 5px;    
    font-weight: 400;
    font-size: 22px;
    line-height: 1.3;
}
#jobs .job-city .icon {
    padding-right: 8px;
}
#jobs .job-city {
    font-weight: 300;
    font-size: 19px;
    color: rgb(128,128,128);
}
#jobs .job-country {
    font-weight: 300;
    font-size: 19px;
    color: rgb(128,128,128);
}


/* H2 ACC */
h2.acc {
    position:relative;
    margin:8px 0 4px 0;
    padding:10px 8px 10px 40px;
    font-size:18px;
    font-weight: 400;
    line-height:1.4;
    color: #009D3D;
    border:none;
    border:1px solid #DDD;
    border-radius:4px;
    cursor:pointer;
    user-select:none;
}
h2.acc:before {
    content: '\e91e'; 
    position:absolute; top:15px; left:10px;
    display:block;
    margin:0;
    padding:0;
    width:20px;
    height:20px; 
    font-family:Icon;
    font-size:16px;
    line-height:1;
    text-align:center;
    color: #009D3D;
    background-color:transparent; 
}
h2.acc.acc-open {
    border-color: #009D3D;
    background-color: #009D3D;
    color: white;
}
h2.acc.acc-open:before {
    content: '\e91d';
    color: white;
}
h2.acc:hover {
    border-color: #009D3D;
}
h2 + .acc-content {
    display:none;
    overflow:hidden;
    padding:24px 0 16px 0;
}
h2.acc.acc-open + .acc-content {
    overflow:visible !important;
    height:auto !important;
}
.acc-end {
    margin-top:16px;   
}

/* ACCORDION (JS) */
.js [data-accordion=""] {
    position: relative; /*!*/
    display: block;
    margin: 0;
    padding:0;
    border-top: 1px dashed var(--border-color, #009D3D);
}

.js [data-accordion-last],
.js [data-accordion=""]:last-child {
    margin-bottom: 24px;
    border-bottom: 1px dashed var(--border-color, #009D3D);
}

.js [data-accordion="header"] {
    position: relative;
    display: block;
    margin: 0 0 0 0;
    padding: 12px 16px 12px 40px; 
    
    /*font-family: 'Exo', sans-serif;*/
    font-weight: 500;
    font-size: 21px;
    line-height: 1.5;
    color: #009D3D;

    transition: all ease 0.2s;
    cursor: pointer;
    user-select: none;
}

.js [data-accordion="header"]:before {
    content: '\e91e';
    position: absolute;
    top: 20px;
    left: 0px;
    /* top: 50%; transform: perspective(1px) translateY(-50%); */
    display: block;
    width: 40px;
    font-family:'icon';
    font-size: 16px;
    line-height: 1;
    text-align: center;
    color: #009D3D;
}

.js [data-accordion="header"]:hover {
    color: var(--color-brand-green);
}


.js [data-accordion="content"] {
    display: none;
    padding-top: 24px;
    padding-bottom: 24px;
}

/* ACTIVE */
.js [data-accordion=""].active {
    border-top: transparent;    
}
.js [data-accordion=""].active > [data-accordion="header"] {
    color: white;
    border-radius: var(--border-radius, 5px);
    background-color: #009D3D;    
}
.js [data-accordion=""].active > [data-accordion="header"]:before {
    content: '\e91d';
    color: white;
}
