@charset "UTF-8";

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

html {
    box-sizing: border-box;
    scroll-behavior: smooth; /*! reduced motion */
    scroll-padding-top: var(--header-height);
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: var(--navigation-height) 0 0 0;
    font-family: var(--font-family);
    font-style: var(--font-style);
    font-weight: var(--font-weight);
    font-size: var(--font-size-300);
    line-height: var(--line-height);
    letter-spacing: var(--letter-spacing);
    word-spacing: var(--word-spacing);
    hyphens: var(--hyphens);
    overflow-wrap: var(--overflow-wrap);
    color: var(--color-text);
    background-color: var(--body-bg-color);
}

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-family: var(--font-family-title);
    font-weight: 500;
    line-height: 1.2;
    color: var(--color-accent);
}

h1 {
    font-weight: 600;
    font-size: var(--title-base);
    letter-spacing: 1px;
    line-height: 1.1;
    color: var(--color-accent-primary);
}

.heading-gray, h2, h3, h4, h5, h6 {
    font-size: max(1.5rem, calc(var(--title-base) * 0.7));
    padding-top: 24px;
}

h2.label,
h3.label {
    margin: 0;
    padding: 0;
    font-weight: 400;
    font-size: 1.76rem;
    line-height: 1.5;
    color: #333;
}
h2.underline {
    padding-bottom: 4px;
    font-weight: 300;
    font-size: 24px;
    text-transform: uppercase;
    color: #A0A0A0;
    border-bottom: 1px solid #CCC;
}


p.summary {
    margin-bottom: 36px;
    font-size: calc(var(--text-base) + 1px);
}
p.summary, p.summary strong {
    font-weight: 500;
}

strong, b { font-weight: 500; /*color: #333;*/ }
em { font-style:italic; }

video {
  width: 100% !important;
  height:auto !important;
  margin-top:24px;
    border-radius: 12px;
}
.wp-video { width:100% !important; }

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}


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,
a:link,
a:visited {
    font-weight: 400;
    color: var(--color-nav-link);
    text-decoration: none;
}

a:focus {
    /* outline: thin dotted; */
}

a:active,
a:hover {
    outline: 0;
    color: var(--color-nav-link-hover);
}

p a:not([data-icon]) {
    color: var(--color-accent-primary);
}
p a:not([data-icon]):hover {
    opacity: 0.8;
}

a:before, a:after { pointer-events:none; }

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: var(--color-accent-primary);
}
a[data-icon="location"]:before { content:'\e90c'; top:1px; font-size:17px; }
a[data-icon="phone"]:before { content:'\e912'; top:1px; font-size:17px; }
a[data-icon="fax"]:before { content:'\e909'; top:4px; }
a[data-icon="email"]:before { content:'\e90d'; top:4px; font-size:16px; }
a[data-icon="intern"]:before { content:'\e900'; top:5px; font-size:13px; }
a[data-icon="extern"]:before { content:'\e91c'; top:4px; font-size:15px; }
a[data-icon="document"]:before { content:'\e903'; top:2px; font-size:13px; }
a[data-icon="download"]:before { content:'\e906'; font-size: 15px; }
a[data-icon="note"]:before { content:'\e90b'; top:2px; font-size: 16px; }

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;
}

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; }

img {
    max-width: 100%;
    height: auto;
    font-size: 10px;
    line-height: 1.2;
}
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; }

.scale-0 { max-height: 0%; }
.scale-10 { max-height: 10%; }
.scale-20 { max-height: 20%; }
.scale-30 { max-height: 30%; }
.scale-40 { max-height: 40%; }
.scale-50 { max-height: 50%; }
.scale-60 { max-height: 60%; }
.scale-70 { max-height: 70%; }
.scale-80 { max-height: 80%; }
.scale-90 { max-height: 90%; }
.scale-100 { max-height: 100%; }

video {
    width: 100%;
    height: auto;
    margin-top: 24px;
}
.wp-video {
    /* INLINE STYLE ? */
    width:100% !important;
}

.at-text:not(:focus):not(:active) {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.hidden {
    display: none;
}

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


/* LAYOUT */
.layout {
    max-width: var(--layout-width);
    margin: 0 auto;
    border: 0px dotted #F0F;
}

/* HEADER */
#header {
    position: relative;
    padding: 64px 0 0 0; 
}
body:not(.stage) #header {
    /*height: auto;*/
}


/* LOGO */
#logo  {
    position: relative; top: 1px;
    display: block;
    width: 100%;
    max-width: 84px;
}

#logo > img.logo {
    display: block;
    width: 100%;
}

/* NAVIGATION */

#skip-to-content {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 1;
    transform: translateY(-200%);
    padding: 10px 15px;
    text-decoration: none;
    color: #fff;
    border-radius: 3px;
    background-color: #303030;
    transition: transform 0.3s ease;
}

#skip-to-content:focus {
    transform: translateY(0);
}

#navigation {
    position: fixed; top: 0; left: 0; z-index: 100;
    width: 100%;
    height: 64px;
    background-color: transparent;
    transition: background-color 0.3s;
}

#navigation:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background-color: var(--color-white-soft);
    transition: background-color 0.3s;
}

.nav-sticky #navigation {
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.02);
    box-shadow: 0 2px 8px 0 rgba(0,0,0,0.03);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.nav-sticky #navigation:before {}

@supports (backdrop-filter: blur(16px)) or (-webkit-backdrop-filter: blur(16px)) {
    .nav-sticky #navigation:before {
        background-color: oklch(from var(--color-white-soft) l c h / 92%);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
    }
}

#navigation > .layout {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: inherit;
    height: inherit;
    padding: 0 16px;
}

/**/
#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: var(--color-background);
    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;*/		
}


#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; }

/* SEARCH */
#menu-main .search {
    padding:8px 0;
    background-color: var(--color-accent);
}
#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-family: inherit;
    font-size:18px;
    color: white;	
    border:none;
    background-color: var(--color-accent);
    box-shadow:none;
    outline:none;	
}
#menu-main input::-webkit-input-placeholder { color:#FFF; opacity:0.7; }
#menu-main input:-moz-placeholder { color:#FFF; opacity:0.7; }
#menu-main input::-moz-placeholder { color:#FFF; opacity:0.7; }
#menu-main input:-ms-input-placeholder { color:#FFF; opacity:0.7; }
#menu-main .search-submit {
    position:absolute; top:0; right:0; 
    width:48px; height:40px;
    padding:0;
    text-align:center; 
    color: white;
    border:none;
    background-color:transparent;
    cursor:pointer; 
}
#menu-main .search-submit:before {
    font-family:'icon';
    font-size:22px; 
}
#menu-main .search-submit:hover { color: #CCC; }
/* NAVIGATION META */
ul.nav-meta {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;

    border: 0px solid #F0F;
}

html:not(.nav-sticky) ul.nav-meta.blend-mode > li > a .icon,
html:not(.nav-sticky) ul.nav-meta.blend-mode li.language > a.language > .text {
    color: white;
}
html:not(.nav-sticky) ul.nav-meta.blend-mode a {
    /*transition: none;*/
}

#menu-meta {
    
}

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

ul.nav-meta > li > a {
    position: relative;
	display: flex;
    flex-flow: column nowrap;
	justify-content: center;
	align-items: center;  
    
    display: block;
    color: var(--color-nav-link);
    
    
    border: 0px solid #f0f;
    cursor: pointer;
}

ul.nav-meta > li > a .icon { 
    display: block;
    width: 32px;
    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:not(.language) .icon:hover:before {
    color: var(--color-accent-primary);
}

ul.nav-meta li.language > a.language > .text {
    position: absolute; top: 10px; left: 0; z-index: 1;
    /*transform: translateY(-50%);*/
    display: block;
    width: 100%;
    font-weight: 400;
    font-size: 13px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    color: #808080;
    pointer-events: none;
}

ul.nav-meta li.language:after {
    content: '';
    position: absolute; z-index: 0;
    display: block;
    width: 100%;
    height: 24px;
}

ul.nav-meta li.language > ul {
    opacity: 0;
    pointer-events: none;
	/*
        overflow-x:hidden;
        overflow-y:auto;
    */
	position: absolute; top: 90%; left: 50%; z-index:1;  
	width: 100px; 
    max-height: 240px; 
    margin: 16px 0 0 -50px;
    border-radius: 8px;
    background-color: white;
    box-shadow: 0 5px 25px rgba(0,0,0,0.15);    
    transition: all 0.3s ease-in-out;
}

ul.nav-meta li.language:hover > ul {
    top: 105%;
    opacity: 1;
    pointer-events: auto;
}

ul.nav-meta li.language > ul:before {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    z-index: 1;
    display: block;
    width: 0;
    height: 0;
    margin-left: -8px;
    border-width:0 8px 8px 8px;
    border-style:solid;
    border-color: white transparent;
}

ul.nav-meta li.language > ul li a {
    display: block;
    padding: 10px 4px 10px 4px;
	
    font-size: 16px;
    font-weight: 300;
    line-height: 1;
	text-align: center;
    text-decoration: none;
    color: #303030;
    
    background-color: white;
}

ul.nav-meta li.language > ul li:first-child a {
    padding-top: 12px;
    border-radius: 6px 6px 0 0;
}
ul.nav-meta li.language > ul li:last-child a {
    padding-bottom: 12px;
    border-radius: 0 0 6px 6px;
}
ul.nav-meta li.language > ul li:hover a {
    background: #006272;
    color: #FFF;
}

/* NAVIGATION OFF-CANVAS */
	#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: white;
		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:32px; line-height:32px; color: var(--color-nav-link); }
    #menu-close a:hover { color: var(--color-accent-primary); }

	#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 #555;
	}
	#menu-main > ul { padding:16px 0; border-top: 1px solid var(--color-accent); }
	#menu-main > ul:first-of-type { border-top:none; }
	#menu-main > ul ul { display:none; }
	#menu-main > ul li { position:relative; }
	#menu-main a {
        position: relative;
        display: block;
        margin: 0 0 8px 0;
        padding:10px 56px 10px 40px;
		font-weight: 300;
		font-size: 20px;
		color: var(--color-nav-link);
		transition: all 0.01s ease-in;
	}
    #menu-main a:before {
        content:'\e900';
        position: absolute;
        top: 15px;
        left: 8px;
        display: block;
        width: 32px;
        height: 24px;
        font-family: icon; 
        font-size: 13px; 
        font-weight: normal;
        line-height: inherit;
        text-align: center; 
        color: var(--color-accent-primary);
    }    
    
	#menu-main .state {
		position:absolute; top:0; right:0px;
		width:48px;
		height:40px;
		font-size:22px;
		line-height:40px;
		text-align:center;
		color:#808080;
		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: var(--color-accent-primary); }
	#menu-main li:not(.selected) > a:hover + .state { color: var(--color-nav-link-hover); }
	#menu-main .level-1 a { background-color:rgba(0,0,0,0.15); border-bottom:1px solid rgba(0,0,0,0.15); color:#808080; }
	#menu-main .level-2 a { background-color:rgba(0,0,0,0.25); border-bottom:1px solid rgba(0,0,0,0.15); }
	#menu-main .level-3 a { background-color:rgba(0,0,0,0.45); }
	#menu-main li:not(.selected) > a:hover { color: var(--color-accent-primary); }
	#menu-main .selected-parent > ul,
	#menu-main .selected.parent > ul { display:block; }
	#menu-main .selected > a,
	#menu-main .selected > a:hover { color: var(--color-accent-primary); }
    
    
/* END */


/* STAGE */
#stage {
    overflow: hidden;
    position: relative;
    height: 0;
    padding-top: 56.25%;
    background-color: #F8F8F8;
}

#stage-fx {
    display: none;
}

.home #stage-fx {
    display: block;
    position: absolute; top:0; right:0; bottom:0; left:0; z-index:10;
    width: 100%;
    height: 100%;
    /*pointer-events: none;*/
}

#stage .slider,
#stage .slide,
#stage .slide:before,
#stage .slide > picture,
#stage .slide > picture > 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;
    will-change: transform;   
}
#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;
}
#stage .slide { overflow: hidden; position: relative; }
#stage .slide:before { content:''; z-index:2; }
#stage .slide picture img { z-index:1; opacity: 0; }
#stage .slide:first-child picture img { opacity: 1; }

#stage .slide-content {
    display: none;
    position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 10;
    max-width: var(--layout-width);
    margin: 0 auto;
}
#stage .slide-info {
    position: absolute; bottom: 48px; left: var(--layout-padding-x);
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 420px;
    padding: 32px 40px;    
    font-weight: 200;
    text-decoration: none;
    color: var(--color-white-soft);
    border-radius: var(--border-radius);
    background-color: var(--brand-gray-warm);
}

#stage .slide-title {
    margin-bottom: 4px;
    font-weight: 400;
    font-size: 1.5rem; /* 24 */
    line-height: 1.4;
}

#stage .slide-text {
    margin-bottom: 24px;
    font-weight: 200;
    font-size: 1.5rem; /* 24 */
    line-height: 1.3;
}


#stage .slide-link-text {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 24px;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    border-top: 1px solid rgba(255,255,255,0.3);
}

#stage .slide-link-icon {
    font-size: 1.2em;
    transform: translateX(0);
    transition: transform 0.3s ease;
}

#stage .slide-info:focus,
#stage .slide-info:hover {
    background-color: var(--color-accent-dark);
}
#stage .slide-info:focus .slide-link-icon,
#stage .slide-info:hover .slide-link-icon {
    transform: translateX(4px);
}

#stage .slide-info:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #c71e24;
}

#stage .control-nav {
    opacity: 1;
    position: absolute;
    bottom: 13px;
    left: max(var(--layout-padding-x), calc(50% - (var(--layout-width) / 2) + var(--layout-padding-x)));

    display: none;
    justify-content: center;
    align-items: center;
    gap: 2px;

    padding: 0 32px;
    background-color: rgba(255,0,255,0);
    transform: none;
    transition: all .3s; 
    -webkit-animation: fadein 1.3s;
            animation: fadein 1.3s;
}

#stage .control-nav li {
    display: flex;
    justify-content: center;
    align-items: center;    
    margin: 0;
    padding: 0;
}


#stage .control-nav li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    transition: all .2s;
}

#stage .control-nav li a::before,
#stage .control-nav li a::after {
    display: none;    
}

#stage .control-nav li a::before {
    content: 'x';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: rgba(255,255,255,1);
    transition: all .2s;
}

#stage .control-nav li a.active::before { background-color: white; width: 8px; height: 8px; }
#stage .control-nav li a:hover::before { background-color: var(--color-accent-primary); }
#stage .control-nav li a:focus-visible::before { background-color: var(--color-accent-primary); outline: none; }

@media screen and (min-width: 1024px) {
    #stage .control-nav, 
    #stage .slide-content {
        display: flex;
    }
}

@media screen and (min-width:768px) {
	#stage,
	#stage.minimized {
        height: 70vh;
        height: 70dvh;
        padding: 0;
    }
  
    .home #stage {
        height: calc(100vh - 200px);
        height: calc(100dvh - 200px);
    }
}

@media screen and (min-width: 768px) and (min-height: 900px) and (orientation: portrait) {
    #stage {
        max-height: calc(700px - 100px);
    }
}



/* CONTENT */
#content {
    /*background-color: white;*/
}

#content > .layout {
	display: flex;
    flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

#main {
    padding: 32px 16px;
}


/* ASIDE */
#aside {
    padding: 24px 16px 24px 16px;
    border: 0px dotted #F0F;
}

@media screen and (min-width: 960px) {
    #aside {
        position: sticky;
        top: 100px;
    }    
}

#aside > section {
    margin-bottom: 24px;
    padding:32px 16px;
}

#aside section h2 {
    margin-bottom: 24px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--color-accent);
}

/* ASIDE SECTION IMAGE */
#aside section.image {
    padding: 0;
}
#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 h1 {
    overflow: hidden;
    position: absolute; bottom: 0; left: 0; z-index: 1;
    margin: 0;
    padding: 8px 24px 8px 24px;
    font-weight: 300;
    font-size: 24px;
    line-height: 32px;
    color: white;
    border-top-right-radius: 12px;
    background-color: #006272;
    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:0; }
#aside .search-form { position:relative; }
#aside .search-field, 
#aside .search-submit {
    border-radius: var(--border-radius, 0);
}
#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-submit:before { position:relative; right:4px; font-family:'icon'; font-size:18px; text-align:center; color:#CCC; }
#aside .search-submit:hover:before { color:#006272; }
/* ASIDE SECTION SERVICES */
#aside section.services { margin-bottom: 64px; 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; padding-left:16px }
#aside section.services ul ul { padding-left:16px }
#aside section.services .content > ul > li:last-child { border-bottom: 1px dashed var(--color-accent); }
#aside section.services ul li:first-child { border-top: 1px dashed var(--color-accent); }
#aside section.services ul li { border-bottom: 1px dashed var(--color-accent); }
#aside section.services ul li:last-child { border-bottom: 1px dashed #353535; border:none; }
#aside section.services li a { 
    display: block; 
    padding: 12px 0 12px 38px; 
    font-weight: 400;
    font-size: 21px;
    line-height:1.3;
    color: var(--color-nav-link);
}
#aside section.services li a:before { content:'\e900'; position:absolute; top: 14px; left:8px; font-family:'Icon'; font-size: 18px; color: var(--color-accent-primary); }
#aside section.services .level-1 { padding-left: 24px;  }
#aside section ul li a:hover span { color: var(--color-nav-link-hover); }
#aside section.services ul li a:hover { padding-left: 41px; color:#006272; }
#aside section.services ul li a:hover:before { left: 12px; }
#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-accent-primary); }

/* ASIDE SECTION TAGCLOUD */
#aside section.tagcloud {
    margin-bottom: 48px;
    padding: 0;
}

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

ul.tagcloud a {
    position: relative;
    display: inline-block;
    padding: 0.5rem 1.0rem;
    font-weight: 300;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    color: var(--color-nav-link);
    border-radius: 50px;
    border: 1px solid var(--color-nav-link);
}

ul.tagcloud a:hover {    
    color: var(--color-nav-link-hover);
    border-color: var(--color-nav-link-hover);
    transform: translateY(-2px);
    box-shadow: none;
}

ul.tagcloud a.selected, 
ul.tagcloud a.selected:hover {
    color: var(--color-accent-primary);
    border-color: var(--color-accent-primary);
    transform: translateY(0);
}

/* FOOTER */

#footer,
#footer * {
    border: 0px dotted #F0F;
}

#footer {
    position: relative;
    padding: 32px 0 16px 0;
    background-color: var(--color-background);
}

/* FOOTER CONSULTATION */

#consultation {
    position: relative;
    padding: 120px 0 132px 0;
    background-color: var(--color-accent-dark);
    background-image: radial-gradient(
        circle at center, 
        var(--color-accent) 0%, 
        var(--color-accent) 40%, 
        var(--color-accent-dark) 85%
    );
}
#consultation > .layout {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 0 var(--layout-padding-x);
}
#consultation h2 {
    margin-bottom: 32px;
    padding: 0;
    font-weight: 500;
    font-size: max(1.5rem, calc(var(--display-base) * 0.8));
    text-align: center;
    color: var(--color-white-soft);
}
#consultation p {
    margin-bottom: 54px;
    padding: 0;
    font-weight: 300;
    font-size: max(1.5rem, calc(var(--text-base) * 1.33)); /*28*/
    text-align: center;
    color: var(--color-white-soft);
}
#consultation a.sh-action {
    padding: 0 24px;
    font-weight: 500;
    font-size: 20px;
    line-height: 56px;
    letter-spacing: 3px; 
    text-transform: uppercase;
    color: var(--color-white-soft); 
    border-radius: 50px;
    border: 2px solid white;
    background-color: transparent;
}
#consultation a.sh-action:hover {
    color: var(--color-gray-green);
    border-color: var(--color-white-soft);
    background-color: var(--color-white-soft);
}

#consultation.observe > .layout {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 2.0s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 1.5s cubic-bezier(0.39, 0.575, 0.565, 0.94);                
    will-change: opacity, transform;
}
#consultation.observe.is-visible.scroll-up > .layout,
#consultation.observe.is-visible.scroll-down > .layout {
    opacity: 1;
    transform: translateY(0);
}
#consultation.observe.is-visible.scroll-up > .layout {
    transition: none;
}

@media (min-width: 768px) {
    #consultation p {
        padding: 0 16%;
    }
}


/* FOOTER QUICKLINKS */
#quicklinks {}
#quicklinks > .layout {
    padding: 80px var(--layout-padding-x) 40px var(--layout-padding-x);
    overflow: hidden;
}
#quicklinks > .layout > section {
    position: relative;
    padding: 16px;
}
#quicklinks h2 {
    margin-bottom: 20px;
    padding: 0;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--color-accent);
}
#quicklinks ul {}
#quicklinks ul ul { display:none; }
#quicklinks ul li { position:relative; border-bottom: 0 solid rgba(255,255,255,0.10); }
#quicklinks ul li a { display: inline-block; padding: 8px 0 8px 26px; font-weight: 400; color: var(--color-nav-link); }
#quicklinks ul li a:before { content:'\e900'; /*content:'\2192';*/ position:absolute; top: 12px; left:0; font-family:'Icon'; font-size:15px; color: var(--color-accent-primary); }
#quicklinks ul li a:hover { padding-left: 28px; color: var(--color-nav-link-hover); }
#quicklinks ul li a:hover:before { left:3px; }
#quicklinks address { margin:0; padding-top:10px; font-weight: 400; font-style:normal; color:#999; }
#quicklinks address p { position:relative; margin-bottom:20px; padding-left:32px; }
#quicklinks address p a {
    display: inline-block;
    font-size: calc(var(--text-base) - 1px);
    color: var(--color-nav-link);
}
#quicklinks address p a:hover { color: var(--color-nav-link-hover); }
#quicklinks address .icon { display:block; position:absolute; top:0px; left:0; width:28px; height:28px; font-size:18px; line-height:28px; text-align:center; color: var(--color-accent-primary); border-radius: 50%; }

#quicklinks address p.social-media { padding-top: 16px; padding-left: 0; border: 0px solid #F0F; }
#quicklinks address p.social-media a {
    position:relative;
    display: inline-block;
    width: 48px;
    height: 48px;
    margin-right: 1.5rem;
    padding: 0;
    text-align: center;
    border-radius: 50%;
    background-color: var(--color-accent);
}
#quicklinks address p.social-media a .icon {
    position: static;
    display: inline;
    font-size: 21px;
    line-height: 46px;
    color: white;
}
#quicklinks address p.social-media a:hover {
    background-color: var(--color-accent-primary);
}
#quicklinks address p.social-media a:hover .icon {
    color: white;
}

/* FOOTER LEGAL */

#legal, #legal a {
    font-size: calc(var(--text-base) - 2px);
}
#legal > .layout {
    position: relative;
    padding: 16px var(--layout-padding-x);
}

/* FOOTER LEGAL NAV-LEGAL */

#legal .nav-legal {
    display: flex;
    flex-flow: column;
    gap: 16px 24px;
    
    
    margin-bottom: 16px;
}
#legal .nav-legal ul { display: none; }
#legal .nav-legal li {}
#legal .nav-legal a {
    font-weight: 300;
    font-size: calc(var(--text-base) - 2px);
    color: var(--color-nav-link);
}
#legal .nav-legal a:hover { color: var(--color-nav-link-hover); }

/* FOOTER LEGAL COPYRIGHT */

#copyright {
    margin: auto;
    padding-right: 24px;
    color: var(--color-nav-link);
}
#copyright a { font-weight: 300; font-size: inherit; color: inherit; cursor: auto; }
#copyright a:hover { color:inherit; }

@media only screen and (min-width: 640px)
{
    h2.label,
    h3.label {
        font-size: 1.98rem;
    }
    
    h2.underline {
        font-size: 2.16rem;
    }   

    #navigation > .layout {
        padding: 0 24px;
    }
    
    #main,
    #aside {
        padding: 32px 24px;
    }
}

@media only screen and (min-width: 768px)
{
    
    #header {
        padding-top: 80px;        
    }

	#menu-main {
		top: 80px;
	}  
    
    h2.label,
    h3.label {
        font-size: 2.2rem;
    }
    
    h2.underline {
        font-size: 2.4rem;
    }   

    #logo  {
        max-width: 100px;
    }

    #navigation {
        height: 80px;    
    }

    #navigation > .layout {
        padding: 0 var(--layout-padding-x);    
    }
    
    ul.nav-meta > li {
        margin-left: 20px;
    }
    
    ul.nav-meta > li > a .icon {
        width: 40px;
        font-size: 40px;
    }
    
    ul.nav-meta li.language > a.language > .text {
        top: 13px;
        font-size: 16px;    
    }
    
    #main,
    #aside {
        padding: 80px var(--layout-padding-x);
    }   
}

@media only screen and (min-width: 1024px) {
    #legal {
        font-size: 18px; 
    }

    #legal > .layout {
        display: flex;
        flex-flow: row nowrap;
    }
    
    #legal .nav-legal {
        margin-bottom: 0;
    }    
    
    #legal #copyright {
        order: 1;
    }
    
    #legal .nav-legal {        
        display: flex;
        flex-flow: row nowrap;
        flex-grow: 1;
        order: 2;
        border: none;
    }
}

@media only screen and (min-width: 1280px)
{
    #header {
        padding-top: 100px;
        max-height: none;
    }

    #menu-main {
		top: 100px;
	}

    #logo  {
       max-width: 104px;
    }

    #navigation {
        height: 100px;
    }

    #main {
        width: 66.66666667%;
        padding-right: 96px;
    }
    
    #aside {
        width: 33.33333333%;
    }
}

@media only screen and (min-width: 1600px)
{
    #main {
        padding-right: 100px;
    }    
}
    
/* FORM */
form button, 
form input, 
form optgroup, 
form select, 
form textarea {
    font-family:'Lato';
    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: var(--border-radius, 0);
	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 button.primary {
    display:block;
    width:100%;
    padding:12px 16px;
	color:#FFF;
	background-color:#006272;
	border-color:#006272;
}
form button.primary:hover {
	background-color:rgba(234,89,6,0.90);
	border-color:rgba(234,89,6,0.90);
}
form button.recovery {
    display:block;
    width:100%;
    margin:32px 0;
    padding:12px 16px;
}
form button.recovery:hover {
	color:rgba(234,89,6,1);
}




/* TEAMS */
#section-teams {}
#section-teams > .content { padding:0; }

/* JOBS */
#jobs-extern {
    padding: 16px 0;
}
#jobs-extern div.job {
    position: relative;
    padding: 10px 0 10px 24px;
    border-bottom: 1px solid var(--border-color, #E0E0E0);    
}
#jobs-extern div.job:first-child {
    border-top: 1px solid var(--border-color, #E0E0E0);    
}
#jobs-extern div.job:before {
    content: '\e900';
    position: absolute;
    top: 15px;
    left: 0;
    display: block;
    width: 16px;
    height: 24px;
    vertical-align: baseline;
    font-family: icon;
    font-size: 13px;
    font-weight: normal;
    line-height: inherit;
    text-align: center;
    color: #006272;
}

/* FORM */
.form button, 
.form input, 
.form optgroup, 
.form select, 
.form textarea {
    font-family: 'Lato';
    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;
    font-family: inherit;
	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: var(--color-accent);
}
.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 var(--color-accent);
    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: var(--color-accent);
    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 var(--color-accent);
	border-radius:4px;
}
.form textarea {
    overflow: auto;
    outline: none;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom:16px;
    padding: 16px;
    border: 1px solid var(--color-accent);
    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 var(--color-accent);
    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: var(--color-accent);
}
.form button.primary {
    display:block;
    width:100%;
    padding:12px 16px;
	color:#FFF;
	background-color: var(--color-accent);
	border-color: var(--color-accent);
}
.form button.primary:hover {
	background-color: var(--color-accent-primary);
	border-color: var(--color-accent-primary);
}

/**/
#section-references { border-top:0px solid #EEE; }
#section-references header { padding:0; }
#section-references > .content { padding:0; }
ul.references {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none
}
ul.references li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 140px;    
}
ul.references li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 1.7em;
    border: 2px solid #e5e5e5;
    border-radius: var(--border-radius);
    transition: all .2s ease-in-out;    
}
ul.references li a img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;    
    object-fit: contain;
}

ul.references li a[href]:hover {
    border-color: #bbb;
}

ul.references li a[href]:hover img {
    /*filter: brightness(0) invert(1);*/
}

@media only screen and (min-width:0px) {
    ul.references li { width: calc((100% - 24px) / 2); }
}
@media only screen and (min-width:640px) {
    ul.references li { width: calc((100% - 48px) / 3); }
}
