@charset "UTF-8";
/* // odyssey | 2 | style.css */

/* @font-face */
@font-face { font-display:swap; font-family:'webfont1'; src:url('../fonts/webfont1.eot'); src:url('../fonts/webfont1.eot?#iefix') format('embedded-opentype'), url('../fonts/webfont1.woff2') format('woff2'), url('../fonts/webfont1.woff') format('woff'), url('../fonts/webfont1.ttf') format('truetype'), url('../fonts/webfont1.svg#webfont1') format('svg'); font-weight:normal; font-style:normal; }
@font-face { font-display:swap; font-family:'webfont2'; src:url('../fonts/webfont2.eot'); src:url('../fonts/webfont2.eot?#iefix') format('embedded-opentype'), url('../fonts/webfont2.woff2') format('woff2'), url('../fonts/webfont2.woff') format('woff'), url('../fonts/webfont2.ttf') format('truetype'), url('../fonts/webfont2.svg#webfont2') format('svg'); font-weight:normal; font-style:normal; }


/* reset etc. */
html, body { overflow:visible; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { color:inherit; margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
body, body div { line-height:1.3em; }
body, td { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
ol, ul, li { margin:0; padding:0; list-style:none; list-style-type:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
html { -webkit-text-size-adjust:100%; }
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img { margin:0; }


/* css variables */
:root {
    --css_wrapper_max_width:1080px;
    --css_wrapper_padding_h:60px;
 
    /* teaser/start-colors */
    --css_bg_color0:#000;
    --css_color0:#eee; --css_a_link0:#39f; --css_a_hover0:#fff;
    --css_btn_color0:#39f; --css_btn_border_color0:#39f; --css_btn_bg_color0:transparent; --css_btn_hover_color0:#000; --css_btn_hover_border_color0:#fff; --css_btn_hover_bg_color0:#fff;

    /* .bg1-colors */
    --css_bg_color1:#000;
    --css_color1:#eee; --css_a_link1:#39f; --css_a_hover1:#fff;
    --css_btn_color1:#fff; --css_btn_border_color1:#39f; --css_btn_bg_color1:#39f; --css_btn_hover_color1:#000; --css_btn_hover_border_color1:#fff; --css_btn_hover_bg_color1:#fff;
    
    /* .bg2-colors */
    --css_bg_color2:#222;
    --css_color2:#eee; --css_a_link2:#39f; --css_a_hover2:#fff;
    --css_btn_color2:#fff; --css_btn_border_color2:#39f; --css_btn_bg_color2:#39f; --css_btn_hover_color2:#333; --css_btn_hover_border_color2:#fff; --css_btn_hover_bg_color2:#fff;
    
    /* .bg3-colors */
    --css_bg_color3:#f8f8f8;
    --css_color3:#000; --css_a_link3:#39f; --css_a_hover3:#000;
    --css_btn_color3:#39f; --css_btn_border_color3:#39f; --css_btn_bg_color3:transparent; --css_btn_hover_color3:#fff; --css_btn_hover_border_color3:#000; --css_btn_hover_bg_color3:#000;
    
    /* specials */
    --css_hilite_color:#ccc; --css_divider_color:#333; --css_divider_border:0px solid #000;
}


/* preloader */
#preloader { position:fixed; top:0; left:0; right:0; bottom:0; background:#000; z-index:10001; }
#loading-animation { width:100px; height:74px; position:absolute; left:50%; top:50%; margin:-37px 0 0 -50px; cursor:pointer; }
@-webkit-keyframes spinner { to { transform: rotate(360deg); } }
@keyframes spinner { to { transform: rotate(360deg); } }
#preloader svg #spinner { transform-origin:98.036px 71.738px; -webkit-animation:spinner .75s linear infinite; animation:spinner .75s linear infinite; }


/* basics */
body { overflow:visible !important; color:var(--css_color1); background:var(--css_bg_color1); font-size:18px; font-family:"webfont1", Helvetica, Arial, sans-serif, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; text-align:left; -ms-word-wrap:break-word; word-wrap:break-word; }
td, th, p, li { color:var(--css_color1); font-size:18px; font-family:"webfont1", Helvetica, Arial, sans-serif, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; text-align:left; -ms-word-wrap:break-word;word-wrap:break-word;}
b, strong { font-weight:bold; }
em, i { font-style:italic; }

h1, h2, h3, h4, h5, h6 { line-height:1.1em; color:var(--css_color1); font-weight:normal; margin:0px; padding:0px; overflow-wrap: break-word; word-wrap: break-word; -ms-word-break: break-all; word-break: break-all; word-break: break-word; /* -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; */ }
h1, h2 { font-family:"webfont2", Helvetica, Arial, sans-serif, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; line-height:1.1em; color:#000; font-weight:normal; margin:0px; padding:0px; overflow-wrap: break-word; word-wrap: break-word; -ms-word-break: break-all; word-break: break-all; word-break: break-word; /* -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; */ }
h1 { font-size:30px; text-transform:uppercase; }
h2 { font-size:48px; margin:0 0 70px 0; padding:0; letter-spacing:3px; text-align:center; text-transform:uppercase; }
h3 { font-size:32px; margin:0 0 20px 0; }
h4 { font-size:28px; text-align:center; margin:0 0 20px 0; }
h5 { font-size:26px; line-height:1.3em; margin:0 0 10px 0; }
h6 { font-size:24px; margin:0 0 5px 0; }
td img, img { display:block; }

a:link, a:visited { color:var(--css_a_link1); text-decoration:none; -moz-outline-style:none; outline:none; }
a:hover, a:active, a:focus { color:var(--css_a_hover1); text-decoration:none; -moz-outline-style:none; outline:none; }
.text a { text-decoration:underline; }


/* msg */
#msg { position:fixed; display:block; top:0; left:0; right:0; padding:30px; z-index:10002; }
#msg a.close { display:block; }


/* header_norm */
.header_norm { pointer-events:none; position:fixed; left:0px; top:0px; width:100%; height:50px !important; text-align:center; z-index:7000; }
.header_norm a { pointer-events:all; }
.header_norm a:link, .header_norm a:visited { color:var(--css_a_link1); }
.header_norm a:hover, .header_norm a:active { color:var(--css_a_hover1); }

.header_norm .menu { background:transparent; position:absolute; text-align:center; width:50px; height:50px; left:46px; top:0px; margin:0; }
.header_norm .menu a.btn { display:block; width:32px; height:18px; padding:16px 14px; }
.header_norm .menu a.btn .nav-icon { position:relative; width:32px; height:18px; display:block; }
.header_norm .menu a.btn .nav-icon span {position:absolute;width:32px;height:2px;display:block; background:var(--css_a_link1); -webkit-transition:all .3s cubic-bezier(.35,0,.25,1); transition:all .3s cubic-bezier(.35,0,.25,1);}
.header_norm .menu a.btn:hover .nav-icon span, .header_norm .menu a.btn:active .nav-icon span { background:var(--css_a_hover1); }
.header_norm .menu a.btn .nav-icon span:nth-child(1) { top:0px; }
.header_norm .menu a.btn .nav-icon span:nth-child(2) { top:8px; }
.header_norm .menu a.btn .nav-icon span:nth-child(3) { bottom:0px; }

.header_norm .logo { transition:transform 0.5s ease-in-out; display:inline-block; position:relative; margin:0; padding:0; filter:alpha(opacity=0); -moz-opacity:0; opacity:0; text-align:left; height:50px; overflow:hidden; }
.header_norm .logo a { pointer-events:none; position:relative; font-size:0px; line-height:40px; width:88px; height:40px; display:inline-block; margin:0px auto; padding:5px 0; -webkit-transition:all 0.3s ease-in-out; -moz-transition:all 0.3s ease-in-out; -o-transition:all 0.3s ease-in-out; transition:all 0.3s ease-in-out; }
.header_norm .logo a .svg { width:88px; height:40px; width:100%; overflow:visible; }
.header_norm .logo a:hover .svg, .header_norm .logo a:active .svg { -webkit-animation:rotateY 1s infinite linear; animation:rotateY 1s infinite linear; }
.header_norm .logo a:link .fill, .header_norm .logo a:visited .fill { fill:var(--css_a_hover1); }
.header_norm .logo a:hover .fill, .header_norm .logo a:active .fill { fill:var(--css_a_link1); }

.header_norm .social { position:absolute; right:var(--css_wrapper_padding_h); top:0px; }
.header_norm .social ul { text-align:center; font-size:0; }
.header_norm .social ul li { float:none; display:inline-block; margin:0; }
.header_norm .social ul li a { text-align:center; font-size:26px; line-height:50px; width:42px; height:50px; display:block; }
.header_norm .social ul li a:link, .header_norm .social ul li a:visited { color:var(--css_a_link1); }
.header_norm .social ul li a:hover, .header_norm .social ul li a:active, .header_norm .social ul li a:focus { color:var(--css_a_hover1);}

.header_norm .dropdown { font-size:20px; line-height:30px; position:absolute; right:40px; top:10px; }
body.compact .header_norm a.dropdown-toggle:link, body.compact .header_norm a.dropdown-toggle:visited { }
body.compact .header_norm a.dropdown-toggle:active, body.compact .header_norm a.dropdown-toggle:active { }
body.menu_on .header_norm a.dropdown-toggle:link, body.menu_on .header_norm a.dropdown-toggle:visited { }
body.menu_on .header_norm a.dropdown-toggle:active, body.menu_on .header_norm a.dropdown-toggle:active { }
body.body_section .header_norm a.dropdown-toggle:link, body.body_section .header_norm a.dropdown-toggle:visited { }
body.body_section .header_norm a.dropdown-toggle:active, body.body_section .header_norm a.dropdown-toggle:active { }
body.menu_on .dropdown .dropdown-menu { -moz-box-shadow:0px 0px 5px rgba(0,0,0,0.25); -webkit-box-shadow:0px 0px 5px rgba(0,0,0,0.25); box-shadow:0px 0px 5px rgba(0,0,0,0.25); }

body.scrollDown .header_norm { pointer-events:none !important; height:0; filter:alpha(opacity=0); -moz-opacity:0; opacity:0; }
body.scrollDown .header_norm a { pointer-events:none !important; }

body.compact .header_norm, body.menu_on .header_norm, .body_section .header_norm { background:rgba(0,0,0,0.95); -moz-box-shadow:0px 0px 7px rgba(0,0,0,0.3);-webkit-box-shadow:0px 0px 7px rgba(0,0,0,0.3);box-shadow:0px 0px 7px rgba(0,0,0,0.3); }
body.compact .header_norm a:link, body.compact .header_norm a:visited { color:var(--css_a_link1); }
body.compact .header_norm a:hover, body.compact .header_norm a:active { color:var(--css_a_hover1); }
body.compact .header_norm .logo, body.menu_on .header_norm .logo, .body_section .header_norm .logo { filter:alpha(opacity=100); -moz-opacity:1; opacity:1; }
body.compact .header_norm .logo a, body.menu_on .header_norm .logo a, .body_section .header_norm .logo a { pointer-events:all; }
body.compact .header_norm .logo a:link .fill, body.compact .header_norm .logo a:visited .fill { }
body.compact .header_norm .logo a:hover .fill, body.compact .header_norm .logo a:active .fill { }
body.compact .header_norm .menu a.btn:link .nav-icon span, body.compact .header_norm .menu a.btn:visited .nav-icon span { background:var(--css_a_link1); }
body.compact .header_norm .menu a.btn:hover .nav-icon span, body.compact .header_norm .menu a.btn:active .nav-icon span { background:var(--css_a_hover1); }
body.compact .header_norm .social ul li a:link, body.compact .header_norm .social ul li a:visited { color:var(--css_a_link1); }
body.compact .header_norm .social ul li a:hover, body.compact .header_norm .social ul li a:active, body.compact .header_norm .social ul li a:focus { color:var(--css_a_hover1); }

body.body_section .header_norm a:link, body.body_section .header_norm a:visited { color:var(--css_a_hover1); }
body.body_section .header_norm a:hover, body.body_section .header_norm a:active { color:var(--css_a_link1); }
body.body_section .header_norm .menu a.btn:link .nav-icon span, body.body_section .header_norm .menu a.btn:visited .nav-icon span { background:var(--css_a_hover1); }
body.body_section .header_norm .menu a.btn:hover .nav-icon span, body.body_section .header_norm .menu a.btn:active .nav-icon span { background:var(--css_a_link1); }
body.body_section .header_norm .logo a:link .fill, body.body_section .header_norm .logo a:visited .fill { }
body.body_section .header_norm .logo a:hover .fill, body.body_section .header_norm .logo a:active .fill { }
body.body_section .header_norm .social ul li a:link, body.body_section .header_norm .social ul li a:visited { color:var(--css_a_hover1); }
body.body_section .header_norm .social ul li a:hover, body.body_section .header_norm .social ul li a:active, body.body_section .header_norm .social ul li a:focus { color:var(--css_a_link1); }


/* header > nav_overlay */
body .nav_overlay { background:rgba(0,0,0,0.97); opacity:0; display:block; position:fixed; left:-120%; top:0px; width:100%; height:100%; overflow:hidden; padding:0px; z-index:1001; }
body .nav_overlay .nav_holder { display:block; position:absolute; left:0px; top:50px; width:100%; height:90%; height:calc(100% - 60px); overflow:hidden; overflow-y:auto; }
body .nav_overlay .nav_holder .nav_table { position:relative; width:100%; height:100%; min-height:100%; }
body .nav_overlay .nav_holder .nav_table .cell { vertical-align:middle; }

.nav_overlay .nav ul { display:block; position:relative; font-size:0px; }
.nav_overlay .nav1 { margin:20px 0; }
.nav_overlay .nav2 ul { border-top:0px none; }
.nav_overlay .nav ul li { display:block; position:relative; margin:0; text-align:center; }
.nav_overlay .nav ul li:last-child { }
.nav_overlay .nav ul li a { transition:all 0.3s ease-in-out; font-family:"webfont2", Helvetica, Arial, sans-serif; text-transform:uppercase; line-height:1.2em; font-size:28px; letter-spacing:3px; padding:7px 25px; display:inline-block; }
.nav_overlay .nav ul li a:link, .nav_overlay .nav ul li a:visited { color:var(--css_a_hover1); }
.nav_overlay .nav ul li a:hover, .nav_overlay .nav ul li a:active, .nav_overlay .nav ul li a:focus { color:var(--css_a_link1); }
.nav_overlay .nav ul li.on a { }

.nav_overlay .nav ul li { opacity:0; transform:translateX(-500px); transition:all 0.5s ease-in-out }
.nav_overlay .nav ul li:nth-child(1) { transition-delay:100ms; }
.nav_overlay .nav ul li:nth-child(2) { transition-delay:200ms; }
.nav_overlay .nav ul li:nth-child(3) { transition-delay:300ms; }
.nav_overlay .nav ul li:nth-child(4) { transition-delay:400ms; }
.nav_overlay .nav ul li:nth-child(5) { transition-delay:500ms; }
.nav_overlay .nav ul li:nth-child(6) { transition-delay:600ms; }
.nav_overlay .nav ul li:nth-child(7) { transition-delay:700ms; }
.nav_overlay .nav ul li:nth-child(8) { transition-delay:800ms; }
.nav_overlay .nav ul li:nth-child(9) { transition-delay:900ms; }
.nav_overlay .nav ul li:nth-child(10) { transition-delay:1000ms; }
.nav_overlay .nav ul li:nth-child(11) { transition-delay:1100ms; }
.nav_overlay .nav ul li:nth-child(12) { transition-delay:1200ms; }

.nav_overlay .nav_social { opacity:0; transform:translateY(20px); transition: all 0.6s ease-in-out; transition-delay:1000ms; display:block; }
.nav_overlay .nav_social .social { display:none; }
.nav_overlay .nav_social .social ul { text-align:center; margin:0 auto; padding:0 20px; font-size:0; line-height:0px; }
.nav_overlay .nav_social .social li { display:inline-block; margin:5px; border-bottom:0px none; overflow:hidden; }
.nav_overlay .nav_social .social li:last-child { border-right:0px none; }
.nav_overlay .nav_social .social li a { font-size:36px; line-height:48px; text-align:center; padding:0; width:48px; height:48px; display:block; overflow:hidden; }
.nav_overlay .nav_social .social li a:link, .nav_overlay .nav_social .social li a:visited { color:var(--css_a_hover1); }
.nav_overlay .nav_social .social li a:hover, .nav_overlay .nav_social .social li a:focus { color:var(--css_a_link1); }
.nav_overlay .nav_social .social li a [class*=" icon-"]:before, .nav_overlay li.nav_social .social li a [class^=icon-]:before { margin-right:0em; margin-left:0em; }

html.menu_on { -ms-overflow-style:none; scrollbar-width:none; }
html.menu_on::-webkit-scrollbar, body.menu_on::-webkit-scrollbar { display:none; width:0; }
body.menu_on { overflow:hidden; }
body.menu_on .header_norm { display:block; }
body.scrollDown.menu_on .header_norm { height:50px; filter:alpha(opacity=100); -moz-opacity:1; opacity:1; }
body.scrollDown.menu_on .header_norm a { pointer-events:all !important; }
body.menu_on .header_norm a:link, body.menu_on .header_norm a:visited { }
body.menu_on .header_norm a:hover, body.menu_on .header_norm a:active { }
body.menu_on .header_norm .menu a.btn:link .nav-icon span, body.menu_on .header_norm .menu a.btn:visited .nav-icon span { background:var(--css_a_hover1); }
body.menu_on .header_norm .menu a.btn:hover .nav-icon span, body.menu_on .header_norm .menu a.btn:active .nav-icon span { background:var(--css_a_link1); }
body.menu_on .header_norm .menu a.btn .nav-icon span:nth-child(1) { -webkit-transform: translate(0,8px) rotate(45deg); -ms-transform: translate(0,8px) rotate(45deg); transform: translate(0,8px) rotate(45deg); }
body.menu_on .header_norm .menu a.btn .nav-icon span:nth-child(2) { opacity: 0; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; }
body.menu_on .header_norm .menu a.btn .nav-icon span:nth-child(3) { -webkit-transform: translate(0,-8px) rotate(-45deg); -ms-transform: translate(0,-8px) rotate(-45deg); transform: translate(0,-8px) rotate(-45deg); }
body.menu_on .header_norm .logo a:link .fill, body.menu_on .header_norm .logo a:visited .fill { /* fill:var(--css_a_link1); stroke:var(--css_a_link1); */ }
body.menu_on .header_norm .logo a:hover .fill, body.menu_on .header_norm .logo a:active .fill { /* fill:var(--css_a_hover1); stroke:var(--css_a_hover1); */ }
body.menu_on .header_norm .social ul li a:link, body.menu_on .header_norm .social ul li a:visited { color:var(--css_a_hover1); }
body.menu_on .header_norm .social ul li a:hover, body.menu_on .header_norm .social ul li a:active { color:var(--css_a_link1); }

body.menu_on .nav_overlay { opacity:100; left:0px; }
body.menu_on .nav_overlay .nav ul li, body.menu_on .nav_overlay .nav_social .social li, body.menu_on .nav_overlay .nav_legal ul { opacity:1; transform:translateX(0px); }
body.menu_on .nav_overlay .nav_social { opacity:1; transform:translateY(0px); }


/* wrapper, article, section, body_section */
html { overflow-x:hidden; }
.wrapper { max-width:var(--css_wrapper_max_width); margin:0 auto; padding:0; padding-right:var(--css_wrapper_padding_h); padding-left:var(--css_wrapper_padding_h); position:relative; }
article { z-index:100; margin:0 auto; padding:0; position:relative; }
section { width:100%; height:auto; padding:0; position:relative; display:block; z-index:101; border-bottom:var(--css_divider_border); overflow:hidden; }
section .section_wrapper { position:relative; margin:0 auto; padding-top:140px; padding-bottom:140px; padding-right:var(--css_wrapper_padding_h); padding-left:var(--css_wrapper_padding_h); display:block; }
section.full_width .section_wrapper { padding-right:0px; padding-left:0px; }
section .section_content { max-width:var(--css_wrapper_max_width); position:relative; margin:0 auto; padding:0; display:block; }
section.full_width .section_content { max-width:100%; }
section .section_content h2 { position:relative; display:block; }
section .section_content .subheadline { line-height:1.3em; font-size:28px; text-align:center; margin:-20px auto 40px auto; max-width:960px; position:relative; display:block; }

.body_section section .section_content { max-width:640px; }
.body_section .section_content h2 { font-size:40px; text-align:center; position:relative; display:block; margin:0 0 40px 0; padding:0px; background:transparent; }


/* backgrounds */
.bg_image { background-color:transparent; background-attachment:scroll; background-repeat:no-repeat; background-position:center center; -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover; }

.bg0 { color:var(--css_color0); background:var(--css_bg_color0); }
.bg0 h1, .bg0 h2, .bg0 h3, .bg0 h4, .bg0 h5, .bg0 h6 { color:var(--css_color0); }
.bg0 a:link, .bg0 a:visited { color:var(--css_a_link0); }
.bg0 a:hover, .bg0 a:active { color:var(--css_a_hover0); }
.bg0 input.submit, .bg0 a.button, .bg0 a.button:link, .bg0 a.button:visited, .bg0 .button, .bg0 button, .bg0 .button, .bg0 button, .bg0 input[type="submit"], .bg0 input[type="reset"], .bg0 input[type="button"] { color:var(--css_btn_color0); border-color:var(--css_btn_border_color0); background-color:var(--css_btn_bg_color0); }
.bg0 .button:hover, button:hover, .bg0 a.button:hover, .bg0 input[type="submit"]:hover, .bg0 input[type="reset"]:hover, .bg0 input[type="button"]:hover, .bg0 .button:active, .bg0 button:active, .bg0 a.button:active, .bg0 input[type="submit"]:active, .bg0 input[type="reset"]:active, .bg0 input[type="button"]:active { color:var(--css_btn_hover_color0); border-color:var(--css_btn_hover_border_color0); background-color:var(--css_btn_hover_bg_color0); }
.bg0 .flickity-page-dots .dot { border-color:var(--css_a_link0); }
.bg0 .flickity-page-dots .dot.is-selected { background:var(--css_a_link0); }

.bg1 { color:var(--css_color1); background:var(--css_bg_color1); }
.bg1 h1, .bg1 h2, .bg1 h3, .bg1 h4, .bg1 h5, .bg1 h6 { color:var(--css_color1); }
.bg1 a:link, .bg1 a:visited { color:var(--css_a_link1); }
.bg1 a:hover, .bg1 a:active { color:var(--css_a_hover1); }
.bg1 input.submit, .bg1 a.button, .bg1 a.button:link, .bg1 a.button:visited, .bg1 .button, .bg1 button, .bg1 .button, .bg1 button, .bg1 input[type="submit"], .bg1 input[type="reset"], .bg1 input[type="button"] { color:var(--css_btn_color1); border-color:var(--css_btn_border_color1); background-color:var(--css_btn_bg_color1); }
.bg1 .button:hover, button:hover, .bg1 a.button:hover, .bg1 input[type="submit"]:hover, .bg1 input[type="reset"]:hover, .bg1 input[type="button"]:hover, .bg1 .button:active, .bg1 button:active, .bg1 a.button:active, .bg1 input[type="submit"]:active, .bg1 input[type="reset"]:active, .bg1 input[type="button"]:active { color:var(--css_btn_hover_color1); border-color:var(--css_btn_hover_border_color1); background-color:var(--css_btn_hover_bg_color1); }
.bg1 .flickity-page-dots .dot { border-color:var(--css_a_link1); }
.bg1 .flickity-page-dots .dot.is-selected { background:var(--css_a_link1); }

.bg2 { color:var(--css_color2); background:var(--css_bg_color2); }
.bg2 h1, .bg2 h2, .bg2 h3, .bg2 h4, .bg2 h5, .bg2 h6 { color:var(--css_color2); }
.bg2 a:link, .bg2 a:visited { color:var(--css_a_link2); }
.bg2 a:hover, .bg2 a:active { color:var(--css_a_hover2); }
.bg2 h2 a:link, .bg2 h2 a:visited, .bg2 h3 a:link, .bg2 h3 a:visited { color:var(--css_color2); }
.bg2 h2 a:hover, .bg2 h2 a:active, .bg2 h3 a:hover, .bg2 h3 a:active { color:var(--css_a_link2); }
.bg2 input.submit, .bg2 a.button, .bg2 a.button:link, .bg2 a.button:visited, .bg2 .button, .bg2 button, .bg2 .button, .bg2 button, .bg2 input[type="submit"], .bg2 input[type="reset"], .bg2 input[type="button"] { color:var(--css_btn_color2); border-color:var(--css_btn_border_color2); background-color:var(--css_btn_bg_color2); }
.bg2 .button:hover, button:hover, .bg2 a.button:hover, .bg2 input[type="submit"]:hover, .bg2 input[type="reset"]:hover, .bg2 input[type="button"]:hover, .bg2 .button:active, .bg2 button:active, .bg2 a.button:active, .bg2 input[type="submit"]:active, .bg2 input[type="reset"]:active, .bg2 input[type="button"]:active { color:var(--css_btn_hover_color2); border-color:var(--css_btn_hover_border_color2); background-color:var(--css_btn_hover_bg_color2); }
.bg2 ul.sub_nav li a:link, .bg2 ul.sub_nav li a:visited { }
.bg2 ul.sub_nav li a:hover, .bg2 ul.sub_nav li a:active, .bg2 ul.sub_nav li.on a { }
.bg2 .flickity-page-dots .dot { border-color:var(--css_a_link2); }
.bg2 .flickity-page-dots .dot.is-selected { background:var(--css_a_link2); }

.bg3 { color:var(--css_color3); background-color:var(--css_bg_color3); }
.bg3 h1, .bg3 h2, .bg3 h3, .bg3 h4, .bg3 h5, .bg3 h6 { color:var(--css_color3); }
.bg3 a:link, .bg3 a:visited { color:var(--css_a_link3); }
.bg3 a:hover, .bg3 a:active { color:var(--css_a_hover3); }
.bg3 input.submit, .bg3 a.button, .bg3 a.button:link, .bg3 a.button:visited, .bg3 .button, .bg3 button, .bg3 .button, .bg3 button, .bg3 input[type="submit"], .bg3 input[type="reset"], .bg3 input[type="button"] { color:var(--css_btn_color3); border-color:var(--css_btn_border_color3); background-color:var(--css_btn_bg_color3); }
.bg3 .button:hover, button:hover, .bg3 a.button:hover, .bg3 input[type="submit"]:hover, .bg3 input[type="reset"]:hover, .bg3 input[type="button"]:hover, .bg3 .button:active, .bg3 button:active, .bg3 a.button:active, .bg3 input[type="submit"]:active, .bg3 input[type="reset"]:active, .bg3 input[type="button"]:active { color:var(--css_btn_hover_color3); border-color:var(--css_btn_hover_border_color3); background-color:var(--css_btn_hover_bg_color3); }
.bg3 ul.sub_nav li a:link, .bg3 ul.sub_nav li a:visited { }
.bg3 ul.sub_nav li a:hover, .bg3 ul.sub_nav li a:active, .bg3 ul.sub_nav li.on a { }
.bg3 .flickity-page-dots .dot { border-color:var(--css_a_link3); }
.bg3 .flickity-page-dots .dot.is-selected { background:var(--css_a_link3); }


/* deco */
.deco { overflow:hidden; position:relative; width:100%; height:500px; height:calc(100vw/1.65); height:66vh; /* background-color:#ccc; */ background-attachment:fixed; border-bottom:var(--css_divider_border); }
body.device .deco, body.iOS .deco { height:calc(100vw/1.65); height:66vh; background-position:center 40%; background-attachment:scroll; }
.deco .bg_video_holder { position:absolute; left:0px; top:0px; width:100%; height:100%; display:block; }
.deco .bg_video_holder video { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.deco .fg_video_on:after { content:''; position:absolute; left:0px; top:0px; width:100%; height:100%; display:block; background:url("../images/layout/bg_video_pattern_dark25.png"); }


/* itemlist */
.itemlist { text-align:left; margin:0; padding:0; font-size:0; line-height:0; }
/* 4 li pro reihe */
.itemlist .item { vertical-align:top; cursor:default; width:22%; width:calc((100% - 0px) / 4); margin:0; background-color:#666; display:inline-block; position:relative; overflow:hidden; }

.itemlist .item .display { width:100%; height:0; margin:0; padding:0 0 100% 0; overflow:hidden; background-position:center center; background-repeat:no-repeat; -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover; transition:all 2s ease-in-out; }
.itemlist .item:hover .display, .itemlist .item:focus .display, .itemlist .item.on .display { transform:scale(1.2); }

.itemlist .item.grayscale { -moz-filter:grayscale(100%); -ms-filter:grayscale(100%); filter:grayscale(100%); filter:gray; filter:url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' height='0'><filter id='greyscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' /></filter></svg>#greyscale"); -webkit-filter:grayscale(100%); }
.itemlist .item.grayscale:hover { /* -moz-filter:none; -ms-filter:none; filter:none; -webkit-filter:none; */ }

.itemlist .item .overlay { pointer-events:none; position:absolute; left:0px; bottom:0px; width:100%; height:100%; overflow:hidden; transition:all 0.25s ease-in-out; display:flex; flex-direction:column; justify-content: flex-end; align-content:flex-end; align-items:flex-end;}
.itemlist .item:hover .overlay, .itemlist .item:focus .overlay, .itemlist .item.on .overlay { pointer-events:all; background:rgba(0,0,0,0.8); }

.itemlist .item .item-toggle { transition:all 0.1s linear; transition-delay:0.3s; position:absolute; left:0px; top:0px; width:100%; height:100%; display:block; } 
.itemlist .item:hover .item-toggle, .itemlist .item:focus .item-toggle, .itemlist .item.on .item-toggle { height:0px; }

.itemlist .item .overlay h3 { background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.6) 100%); font-size:24px; color:#fff; text-shadow:0px 0px 2px rgba(0,0,0,.75); text-align:center; width:100%; margin:0; padding:40px 20px 20px 20px; position:relative; display:block; box-sizing:border-box; }
.itemlist .item:hover .overlay h3, .itemlist .item:focus .overlay h3, .itemlist .item.on .overlay h3 { background:transparent; padding:40px 20px 5px 20px; }

.itemlist .textlist { display:none; width:100%; padding:0 10px 10px 10px; box-sizing:border-box; position:relative; }
.itemlist .item:hover .textlist, .itemlist .item:focus .textlist, .itemlist .item.on .textlist { display:block; }
.itemlist .textlist li { text-align:center; color:#fff; border-top:1px solid rgba(255,255,255,0.3); display:block; }
.itemlist .textlist li.texts_function { border-top:none; }
.itemlist .textlist li.texts { padding:10px 0; }
.itemlist .textlist li.texts_general a { text-decoration:underline; }
.itemlist .textlist li.texts_general a:link, .itemlist .textlist li.texts_general a:visited { }
.itemlist .textlist li.texts_general a:hover, .itemlist .textlist li.texts_general a:active { }
.itemlist .textlist li.texts_socials { border-bottom:0px none; margin:0; padding:5px 0 0 0; }
.itemlist .textlist li a:link, .itemlist .textlist li a:visited { color:var(--css_a_hover1); }
.itemlist .textlist li a:hover, .itemlist .textlist li a:active { color:var(--css_a_link1); }
.itemlist .textlist .social { margin:5px 0 0 0; height:50px; overflow:hidden; }
.itemlist .textlist .social li { display:inline-block; margin:0; padding:0; border:0px none; }
.itemlist .textlist .social li a { width:50px; height:50px; line-height:50px; text-align:center; font-size:24px; padding:0px; display:inline-block; box-sizing:border-box; }



/* grid */
.grid { display:grid; grid-gap:0 40px; }
.grid-1 { grid-template-columns:1fr; }
.grid-2 { grid-template-columns:1fr 1fr; }
.grid-3 { grid-template-columns:1fr 1fr 1fr; }
.grid-4 { grid-template-columns:1fr 1fr 1fr 1fr; }
.grid .grid-item { margin:0 0 60px 0; }


/* carousel */
.carousel-holder { position:relative; }
.carousel { position:relative; width:100%; }
.carousel-cell { width:100%; display:block; position:relative; }

.carousel-cell .bg_video_holder { position:absolute; left:0px; top:0px; width:100%; height:100%; display:flex; justify-content:center; align-items:center; flex-direction:row; flex-wrap:nowrap; text-align:center; overflow:hidden; }
.carousel-cell .bg_video_holder video {opacity:0.999; /* chrome black border hack */ opacity:1; outline:none;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.carousel-cell .bg_video_holder .fg_video { display:block; opacity:0.5; background:rgba(0,0,0,0) url(../images/layout/bg_video_pattern_dark50.png);position:absolute;left:0px;top:0px;width:100%;height:100%;}
.carousel-cell .videoborder { position:absolute; left:0px; top:0px; width:100%; max-width:100%; height:100%; max-height:100%; display:block; z-index:10; border:0px none; margin:0; padding:0; }
.carousel-cell .videoborder .loading { position:absolute; left:50%; top:50%; margin:-25px 0 0 -25px; }
.carousel-cell .videoborder .display { position:absolute; top:50px; left:0px; bottom:50px; right:0px; width:100%; max-width:100%; height:100%; height:calc(100% - 100px); max-height:100%; margin:0; padding:0; display:block; }
.carousel-cell .videoborder iframe, .carousel-cell .videoborder video { position:absolute; top:0; left:0; width:100%; height:100%; }

.carousel-cell .attachment { width:100%; display:flex; flex-direction:row-reverse; align-items:stretch; align-content:center; justify-content:center; position:relative; }
.carousel-cell .attachment .attachment-data { width:50%; position:relative; }
.carousel-cell .attachment .attachment-visuals { min-height:50vw; }
.carousel-cell .attachment .attachment-visuals .attachment-content { overflow:hidden; position:absolute; left:0px; top:0px; width:100%; height:100%; display:block; background-position:center center;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover; }
.carousel-cell .attachment .attachment-texts { align-self:center; text-align:center; padding:80px 60px 40px 60px; box-sizing:border-box; }
.carousel-cell .attachment .attachment-texts h3 { margin:0 0 20px 0; }
.carousel-cell .attachment .attachment-texts .desc_text { margin:0 0 25px 0; }

.carousel button.previous, .carousel button.next { }
.carousel .flickity-button:hover { color:var(--css_a_link1); }
.carousel .flickity-button-icon { fill:var(--css_a_link1); }
.carousel .flickity-button:hover .flickity-button-icon { fill:var(--css_a_hover1); }
.carousel .flickity-page-dots { bottom:-60px; }
.carousel .flickity-page-dots .dot.is-selected { -webkit-animation: blink-animation 1s step-start 0s infinite; animation: blink-animation 1s step-start 0s infinite; }

.carousel1 button.previous, .carousel1 button.next { display:none; }
.carousel1 .flickity-page-dots { display:none; }


/* teaser */
.teaser { overflow:visible; background:transparent; }
.teaser:before { display:none; height:0px; }
.teaser.loading .something { }
.teaser .section_wrapper { max-width:100%; margin:0; padding:0; }
.teaser .section_content { max-width:100%; padding:0; }
.teaser .section_content h2 { display:none; }
.teaser .carousel { height:100vh; min-height:480px; }
.teaser .carousel-cell { overflow:hidden; height:100%; background-attachment:scroll; background-repeat:no-repeat; background-position:center center; -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover; }
.teaser .carousel-cell .attachment { /* background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.3) 55%, rgba(0,0,0,0.85) 100%); */ height:100%; display:block; }
.teaser .carousel-cell .attachment .attachment-data { /* text-shadow:0px 0px 2px rgba(0,0,0,0.5); */ text-align:center; display:flex; flex-direction:column; align-items:stretch; align-content:center; justify-content:center; position:absolute; left:0px; top:50px; width:100%; height:80%; height:calc(100% - 100px); }
.teaser .carousel-cell .attachment .attachment-data .wrapper { width:80%; width:calc(100% - (2 * var(--css_wrapper_padding_h))); height:100%; display:flex; flex-direction:column; align-items:stretch; align-content:center; justify-content:center; }
.teaser .carousel-cell .attachment .attachment-data .wrapper .description { width:100%; }

.teaser .carousel-cell .attachment .attachment-data .logo_holder { width:100%; max-width:210px; margin:0 auto 50px auto; }
.teaser .carousel-cell .attachment .attachment-data .logo_holder .logo { width:100%; }
.teaser .carousel-cell .attachment .attachment-data .logo_holder .logo .fill { fill:#fff; }

.teaser .carousel-cell .attachment .attachment-data h3 { font-family:"webfont2", Helvetica, Arial, sans-serif; text-transform:uppercase; letter-spacing:1px; font-size:36px; line-height:1em; color:var(--css_color0); margin:0 0 10px 0; }
.teaser .carousel-cell .attachment .attachment-data h3 .fill { fill:var(--css_a_link1); }
.teaser .carousel-cell .attachment .attachment-data .desc_text { text-align:center; font-size:24px; color:var(--css_color0); margin:0 auto 20px auto; }
.teaser .description .date, .teaser .description b, .teaser .description strong { display:block; font-size:24px; text-transform:uppercase; letter-spacing:2px; }
.teaser .description .date span { white-space:nowrap; }
.teaser .description .date .delimiter { display:inline-block; margin:0 20px; }

.teaser .carousel-cell .attachment .attachment-data .buy { font-size:0; width:100%; text-align:center; }
.teaser .carousel-cell .attachment .attachment-data .buy li { text-align:center; font-size:28px; line-height:28px; font-family:"webfont1", Helvetica, Arial, sans-serif; letter-spacing:2px; display:inline-block; margin:10px 10px 0 10px; min-width:150px; text-transform:uppercase; }
.teaser .carousel-cell .attachment .attachment-data .buy a.button { display:block; /* text-shadow:0px 0px 1px rgba(0,0,0,1) !important; */ }
.teaser .carousel-cell .attachment .attachment-data .buy a.button:link, .teaser .carousel-cell .attachment .attachment-data .buy a.button:visited { color:var(--css_btn_color0); border:1px solid var(--css_btn_border_color0); background-color:var(--css_btn_bg_color0); background-image:none; }
.teaser .carousel-cell .attachment .attachment-data .buy a.button:hover, .teaser .carousel-cell .attachment .attachment-data .buy a.button:active { color:var(--css_btn_hover_color0); border:1px solid var(--css_btn_hover_border_color0); background-color:var(--css_btn_hover_bg_color0); background-image:none; }

.teaser .carousel-cell .attachment .attachment-data .buy li:first-child a.button:link, .teaser .carousel-cell .attachment .attachment-data .buy li:first-child a.button:visited { color:var(--css_btn_color0); border:1px solid var(--css_btn_border_color0); background-color:var(--css_btn_bg_color0); background-image:none; }
.teaser .carousel-cell .attachment .attachment-data .buy li:first-child a.button:hover, .teaser .carousel-cell .attachment .attachment-data .buy li:first-child a.button:active { color:var(--css_btn_hover_color0); border:1px solid var(--css_btn_hover_border_color0); background-color:var(--css_btn_hover_bg_color0); background-image:none; }

.teaser .flickity-page-dots { display:none; }
.teaser .continue { text-align:center; width:100px; height:50px; font-size:24px; position:absolute; left:50%; bottom:50px; margin:0 0 0 -50px; display:block; }


/* home > artists */
.artists .more { padding:40px 0 0 0; }


/* home > about */
.about ul.sub_nav { margin:-35px 0 35px 0; }
.about .about_img { float:left; width:30%; width:calc((100% - 40px) / 3); margin:0 20px 20px 0; }
.about .text { text-align:justify; margin:30px 0 15px 0; }
.about .more { }
.about .more a { display:inline; margin:0; }


/* services */
.services ul { font-size:0; line-height:0; text-align:center; }
.services ul li { display:inline-block; text-align:center; }
.services ul li .item-icon { display:block; width:50px; margin:0 auto 20px auto; }
.services ul li .item-texts { text-align:justify; }
.services ul li .more { text-align:left; }
.services ul li .more a { margin:0 0 0 -5px; padding:0; }
.services ul li .more a:link, .services ul li .more a:visited { color:var(--css_a_hover2); }
.services ul li .more a:hover, .services ul li .more a:active { color:var(--css_a_link2); }


/* clients */
.clients { }
.clients .clients_list { margin:0 0 20px 0; -webkit-column-count:3; -moz-column-count:3; column-count:3; }
.clients .clients_list2 { display:none; }
.clients .clients_list div { font-size:22px; text-transform:uppercase; text-align:center; margin:0 0 20px 0; }
.clients .clients_list a { display:inline-block; border-bottom:1px dotted; }
.clients .clients_list a:link, .clients .clients_list a:visited { color:var(--css_a_hover1); }
.clients .clients_list a:hover, .clients .clients_list a:active { color:var(--css_a_link1); }


/* team */
.team .item { margin:0 0 0 0; }
.team .item .textlist .texts_email a.copy-email { display:none; }

.team .item .texts_list .texts_email .email-name { text-transform:uppercase; margin:0 0 5px 0; display:block; }
.team .item .texts_list .texts_email .delimiter { display:none; }
.team .item .texts_list .texts_email .email-text { opacity:0.75; margin:5px 0 0 0; display:block; }
.team .item .texts_list .texts_link .more { padding:0; }


/* newsletter */
.newsletter .section_content { max-width:520px; text-align:center; }
.newsletter h2 { margin:0; }
.newsletter h3 { font-size:24px; margin:0 0 40px 0; }
.newsletter #nl_btn_send_holder { margin:0 0 0 0; }
.newsletter a.button { min-width:100%; }
.newsletter .nl_confirm_text { margin:0 0 15px 0; }
.newsletter .nl_consent_text { font-size:14px; line-height:17px; margin:20px 0; text-align:justify; }
.newsletter .nl_consent_text a { text-decoration:underline; }
.newsletter .required  { text-align:left; margin-top:20px; }


/* footer */
.footer { overflow:hidden; position:relative; width:100%; font-size:9px; text-align:center; padding:120px 0px; }

.footer h2 { font-size:56px; display:inline-block; margin:40px auto 80px auto; }

.footer .logo { position:relative; }
.footer .logo a { width:120px; display:inline-block; margin:0 auto 40px auto; position:relative; }
.footer .logo a .svg { }
.footer .logo a:link .svg .fill, .footer .logo a:visited .svg .fill { fill:#fff; }
.footer .logo a:hover .svg .fill, .footer .logo a:active .svg .fill { fill:#fff; }

.footer .skip { font-size:22px; letter-spacing:3px; text-transform:uppercase; margin:0 0 30px 0; padding:0; }
.footer .skip .icon:before { margin-left:-5px; }
.footer .skip a:link, .footer .skip a:visited { }
.footer .skip a:hover, .footer .skip a:active { }

.footer .contact { max-width:640px; margin:0 auto 60px auto; }
.footer .contact .item { margin:0 0 60px 0; }
.footer .contact .item:last-child { margin:0; }
.footer .contact h2 { text-transform:uppercase; font-family:'webfont2', Helvetica, Arial, sans-serif; font-size:20px; letter-spacing:0px; margin:0 0 20px 0; }
.footer .contact .item .texts_list .texts { text-align:center; line-height:1.3em; margin:0 0 20px 0; }
.footer .contact .item .texts_list .texts:last-child { margin:0; }
.footer .contact .item .texts_list a { font-family:'webfont1', Helvetica, Arial, sans-serif; }
.footer .contact .item .texts_list .texts_email .email-name { text-transform:uppercase; margin:0 0 5px 0; display:block; }
.footer .contact .item .texts_list .texts_email .delimiter { display:none; }
.footer .contact .item .texts_list .texts_email .email-text { opacity:0.75; margin:5px 0 0 0; display:block; }

.footer .social ul { position:relative; text-align:center; margin:0 auto 20px auto; font-size:0; }
.footer .social li { display:inline-block; margin:0; padding:0 10px; border-right:1px solid #fff; border-right:thin solid rgba(0,0,0,0.2); }
.footer .social li:last-child { border-right:0px none; }
.footer .social li a { display:block; text-align:center; font-size:36px; line-height:60px; width:60px; height:60px; overflow:hidden; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; }
.footer .social li a:link, .footer .social li a:visited { color:var(--css_a_hover1); }
.footer .social li a:hover, .footer .social li a:active { color:var(--css_a_link1); }

.credits { text-transform:uppercase; letter-spacing:2px; line-height:24px; padding:0 20px; }
.credits .high { font-size:16px; margin:20px 0; display:block; text-transform:uppercase; }
.credits .high a:link, .credits .high a:visited { color:var(--css_a_link1); }
.credits .high a:hover, .credits .high a:active { color:var(--css_a_hover1); }
.credits a { display:inline-block; padding:20px 2px; margin:-15px 0; }
.credits .low { letter-spacing:3px; }
.credits .low a:link, .credits .low a:visited { color:var(--css_color1); opacity:0.75; }
.credits .low a:hover, .credits .low a:active { color:var(--css_a_link1); opacity:1; }
.credits .logout { display:inline-block; margin:0 0 5px 0; }
.credits .delimiter { filter:alpha(opacity=30); -moz-opacity:0.3; opacity:0.3; }


/* images */
.imageborder, .contentborder { position:relative; border:4px solid var(--css_divider_color); }
a.imageborder { display:block; border:0px solid #999; }
a.imageborder:link, a.imageborder:visited, a:link .imageborder, a:visited .imageborder { border:0px solid #999; }
a.imageborder:hover, a.imageborder:active, a:hover .imageborder, a:active .imageborder { border:0px solid #fff; }

.imageborder_holder { margin:0 0 20px 0; position:relative; overflow:hidden; box-sizing:border-box; }
.imageborder_holder img { width:100% !important; height:auto !important; }
.imageborder_holder a img { box-sizing:border-box; position:relative; -webkit-transition:-webkit-transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.175), opacity 0.1s; transition:transform 2s cubic-bezier(0.175, 0.885, 0.32, 1.175), opacity 0.1s; -webkit-transform:scale 1, translateZ(0); -ms-transform:scale 1, translateZ(0); transform:scale 1, translateZ(0); -webkit-filter:blur(0); filter:blur(0); }
.imageborder_holder a { box-sizing:border-box; position:relative; width:100%; height:100%; display:block; }
.imageborder_holder a .icon { display:none; color:#fff; text-shadow:0px 0px 3px rgba(0,0,0,.75); width:100%;height:100%;top:0px;text-align:center;font-size: 48px; filter:alpha(opacity=0);-moz-opacity:0;opacity:0;position:absolute;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;}
.imageborder_holder a .icon:before { position:absolute; width:100%; text-align:center; top:50%; left:0; margin:-16px 0 0 0; padding:0; filter:alpha(opacity=0); -moz-opacity:0; opacity:0; }
.imageborder_holder a:hover .icon, .imageborder_holder a:focus .icon { filter:alpha(opacity=100); -moz-opacity:1; opacity:1; }
.imageborder_holder a:hover .icon:before, .imageborder_holder a:focus .icon:before { filter:alpha(opacity=100); -moz-opacity:1; opacity:1; }
.imageborder_holder a:hover img, .imageborder_holder a:focus img { transform:scale(1.1); /* filter:alpha(opacity=0.5); -moz-opacity:0.5; opacity:0.5; */ }

.imageborder_ratio a { position:absolute !important; top:0px; right:0px; bottom:0px; left:0px; width:100%; height:100%; display:block; }
.imageborder_ratio a .imageborder { position:relative; width:100%; height:100%; box-sizing:border-box; }
.imageborder_ratio a .imageborder .display { position:relative; top:0px; right:0px; bottom:0px; left:0px; display:block; overflow:hidden; width:100%; height:100%; -webkit-transform-style:preserve-3d; -moz-transform-style:preserve-3d; transform-style:preserve-3d; }
.imageborder_ratio a .imageborder .display img { /* -webkit-filter:blur(0); filter:blur(0); */ position:relative; width:100%; top:50%; height:auto !important; -webkit-transform:translateY(-50%) translateZ(0); -ms-transform:translateY(-50%) translateZ(0); transform:translateY(-50%) translateZ(0); }
@media screen and (-webkit-min-device-pixel-ratio:0) { /* safari 5.1-6.0 "only" override, stack->q=16348489 */ ::i-block-chrome,.imageborder_ratio a .imageborder .display img { position:absolute; top:0; bottom:0; margin:auto; -webkit-transform:translateY(0) translateZ(0); -ms-transform:translateY(0) translateZ(0); transform:translateY(0) translateZ(0); } }

.imageborder_ratio_s a .imageborder .display { background:#000; }
.imageborder_ratio_s a .imageborder .display img { max-height:100%; max-width:100%; width:auto; height:auto; position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; -webkit-transform:translateY(0) translateZ(0); -ms-transform:translateY(0) translateZ(0); transform:translateY(0) translateZ(0); }

img.contained { max-height:100%; max-width:100%; width:auto; height:auto; position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; }
img.fancybox { cursor:pointer; }
img.grayscale { -webkit-filter:grayscale(100%); filter:grayscale(100%); filter:gray; filter:url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' height='0'><filter id='greyscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' /></filter></svg>#greyscale"); }


/* videos */
.videoborder { position:relative; max-height:640px; border:0px solid none; margin:0 0 20px 0; }
.videoborder .display { width:100%; height:0; display:block; position:relative; padding-bottom:56.25%; overflow:hidden; }
.videoborder .display { padding-bottom:0px !important; --ratioWidth:16; --ratioHeight:9; position:relative; margin:0 auto; width:100%; max-width:calc((var(--ratioWidth) / var(--ratioHeight)) * 640px); height:calc((var(--ratioHeight) / var(--ratioWidth)) * var(--css_wrapper_max_width)); /* keep tracking of all paddings, borders etc! */ max-height:640px; background:transparent; }
.videoborder .display iframe, .videoborder .display video { position:absolute; top:0; left:0; width:100%; height:100%; }
.videoborder .display .iframe_instagram { top:-54px !important; left:0px; width:100%; height:105%; height:-webkit-calc(100% + 54px); height:calc(100% + 54px); }
.videoborder .display .loading { position:absolute; left:50%; top:50%; margin:-25px 0 0 -25px; color:#666; }


/* misc */
.shadow-paper { position:relative; }
.shadow-paper:before, .shadow-paper:after { z-index:-1; display:block; position: absolute; content: ""; bottom: 15px; left: 10px; width: 50%; top: 80%; max-width:300px; background: #777; -webkit-box-shadow: 0 15px 10px #777; -moz-box-shadow: 0 15px 10px #777; box-shadow: 0 15px 10px #777; -webkit-transform: rotate(-3deg); -moz-transform: rotate(-3deg); -o-transform: rotate(-3deg); -ms-transform: rotate(-3deg); transform: rotate(-3deg); }
.shadow-paper:after { -webkit-transform: rotate(3deg); -moz-transform: rotate(3deg); -o-transform: rotate(3deg); -ms-transform: rotate(3deg); transform: rotate(3deg); right:10px; left:auto; }

.hover-underline span { position:relative; display:inline-block; }
.hover-underline span:after { display:block; content:""; width:100%; height:1px; border-bottom:1.5px solid; opacity:0; transform:translateY(10px); transition:all .3s ease-out;}
.hover-underline:hover span:after, .hover-underline:active span:after { transform:translateY(3px); opacity:1; }

.animated_manual_animation { -webkit-animation-duration:1s; animation-duration:1s; -webkit-animation-fill-mode:both; animation-fill-mode:both; }
.animated, .animated_manual { visibility:hidden; }
.visible { visibility:visible; }

.more { font-size:1.3em; font-family:"webfont1", Helvetica, Arial, sans-serif; text-align:center; padding:20px 0 0 0; text-transform:uppercase; letter-spacing:0px; }
.more a { padding:15px 20px; display:inline-block; position:relative; }
.more .loading { padding:15px 20px; }
.more .button { margin:0 auto; }
.more a:link, .more a:visited { }
.more a:hover, .more a:active { }
a.text_truncate_toggle { text-align:left; margin:5px 0; padding:10px 0px; text-decoration:none; }
.text_truncate .more, a.bold { padding:0; margin:0; text-align:left; font-size:inherit; line-height:inherit; }

.sr-only { position:absolute; width:1px; height:1px; padding: 0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.noitems { margin:20px auto; text-align:center; }
.blw { display:inline-block; width:0.1px; }
.icon-vk:before { margin-left:-7px !important; }
.nomore { margin:10px 0; font-size:12px; line-height:12px; text-transform:uppercase; }
.no_content { text-align:center; } 
#log { position:fixed; z-index:1000; left:5px; bottom:5px; background:#666; color:#fff; text-align:left; font-size:9px; line-height:18px; font-family:Helvetica, Arial, sans-serif; border:2px solid #000; padding:5px; width:500px; max-height:100px; overflow:scroll; overflow-x:hidden; overfow-y:scroll; }
#log .ctrl { position:absolute; right:5px; top:5px; }
.anchor { width:1px; height:1px; overflow:hidden; }
object, embed { -moz-outline-style:none; outline:none; display:block; margin:0; padding:0; }
.small, .text-small { font-size:14px; }
.loading { display:inline-block; font-size:24px; text-align:center; }
.loading .icon:before { line-height:2.5em; }
.loading .spinner { display:inline-block; width:24px; height:24px; border:2px solid; border-right-color:transparent !important; border-radius:50%; vertical-align:middle; -webkit-animation:spinner .75s linear infinite; animation:spinner .75s linear infinite; }
@-webkit-keyframes pump { 0% {-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9)} 100% {-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)} }
@keyframes pump { 0% {-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9)} 100% {-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)} }

.crypted-email { }
.crypted-email:after { content:attr(data-usr) "@" attr(data-dom) "." attr(data-tld); }
a.copy-email { display:inline-block; transform:translateY(-2px); margin-left:15px; font-size:12px; line-height:18px; padding:2px 6px 3px 6px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; -webkit-filter:blur(0); filter:blur(0); }
a.copy-email:link, a.copy-email:visited { color:#fff; border:1px solid #333; background-color:#333; }
a.copy-email:hover, a.copy-email:active { color:#fff; border:1px solid #444; background-color:#444; }

.round { -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; }
.blink { -webkit-animation:blink-animation 1s step-start 0s infinite; animation:blink-animation 1s step-start 0s infinite; } @-webkit-keyframes blink-animation { 50% { opacity:0; } } @keyframes blink-animation { 50% { opacity:0; } }
.shadow { -moz-box-shadow:1px 2px 7px rgba(0, 0, 0,0.2); -webkit-box-shadow:1px 2px 7px rgba(0, 0, 0,0.2); box-shadow:1px 2px 7px rgba(0, 0, 0,0.2); }
.transition_all { -webkit-transition:all 0.5s ease-in-out; -moz-transition:all 0.5s ease-in-out; -o-transition:all 0.5s ease-in-out; transition:all 0.5s ease-in-out; }
.engraved { text-shadow:0px 1px 0px rgba(255,255,255,.3); }
.dimmed { cursor:default; filter:alpha(opacity=50); -moz-opacity:0.50; opacity:0.50; }
.textshadow { text-shadow:0px 0px 3px rgba(0,0,0,.75); }
.noselect { -webkit-touch-callout:none; -webkit-user-select:none; -khtml-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }
.table { display:table; }
.row { display:table-row; }
.cell { display:table-cell; vertical-align:middle; }
.v_center_parent { -webkit-transform-style:preserve-3d; -moz-transform-style:preserve-3d; transform-style:preserve-3d; }
.v_center_child { position:relative; top:50%; -webkit-transform:translateY(-50%) translateZ(0) !important; -ms-transform:translateY(-50%) translateZ(0) !important; transform:translateY(-50%) translateZ(0) !important; -webkit-filter:blur(0); filter:blur(0); }
.avoid-clicks { pointer-events:none; }
.h_divider_big { width:100%; height:7px; display:block; border-bottom:1px solid #654f33; background:rgba(0,0,0,0.3) url(../images/layout/bg_h_divider_big.png) center center repeat-x; } 
.clearfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }
.clearfix { display:inline-block; }
* html .clearfix { height:1%; }
.clearfix { display:block; }
hr { height:0; border:0; border-top:1px dotted #999; clear:both; margin:15px 0; }
.twocolumns { -webkit-columns:2; -moz-columns:2; columns:2; -webkit-column-gap:2em; -moz-column-gap:2em; column-gap:2em; /* -webkit-column-rule:1px dotted #999; -moz-column-rule:1px dotted #999; column-rule:1px dotted #999; */ }
.threecolumns { -webkit-column-count:3; -moz-column-count:3; column-count:3; -webkit-column-gap:2em; -moz-column-gap:2em; column-gap:2em; }
@-webkit-keyframes arrowbounce { 0%,20%,50%,80%,to { transform: translateY(0) } 40% { transform: translateY(-10px) } 60% { transform: translateY(-5px) } }
@keyframes arrowbounce { 0%,20%,50%,80%,to { transform: translateY(0) } 40% { transform: translateY(-10px) } 60% { transform: translateY(-5px) } }


/* forms
.form0 { display:none !important; }
label { font-size:18px; text-align:left; display:block; margin:0 0 5px 0; }
label.warning { color:#f00; }

input[type="email"], input[type="number"], input[type="password"], input[type="tel"], input[type="url"], input[type="text"], input, input.text, input.title, textarea, select { font-family:Arial, Helvetica, sans-serif; font-size:18px; color:#444; width:100%; box-sizing:border-box; border:1px solid #ccc; background-color:#eee; margin:0 0 20px 0 !important; padding:15px 10px !important; -moz-outline-style:none; outline:none; border-radius:0px !important; }
select { padding:14px 30px 14px 10px; position:relative; -moz-appearance:none; -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 140 140' width='24' height='24' xmlns='http://www.w3.org/2000/svg'><g><path d='m121.3,34.6c-1.6-1.6-4.2-1.6-5.8,0l-51,51.1-51.1-51.1c-1.6-1.6-4.2-1.6-5.8,0-1.6,1.6-1.6,4.2 0,5.8l53.9,53.9c0.8,0.8 1.8,1.2 2.9,1.2 1,0 2.1-0.4 2.9-1.2l53.9-53.9c1.7-1.6 1.7-4.2 0.1-5.8z' fill='black'/></g></svg>"); background-repeat:no-repeat; background-position:right 10px top 50%; }
textarea { height:150px; }
input.text:focus, input.title:focus, textarea:focus, select:focus { color:#000; border:1px solid #333; background-color:#fff; }
input[type="text"]:disabled { cursor:not-allowed; }
input[type="checkbox"], .checkbox { appearance:none !important; width:30px; height:30px; display:block; float:left; margin:0; padding:0; }
input[type="checkbox"]:checked:before, .checkbox:checked:before { text-align:center; position:absolute; top:0px; left:0px; width:30px; height:30px; line-height:30px; font-size:24px; font-family:icons; content:'\e82e'; color:#000; }
.checkbox-label { line-height:30px; }
.checkbox-label input[type="checkbox"] { margin-right:10px; }

input.submit, a.button, a.button:link, a.button:visited, .button, button, .button, button, input[type="submit"], input[type="reset"], input[type="button"] { color:var(--css_btn_color1); border:1px solid var(--css_btn_border_color1); background-color:var(--css_btn_bg_color1); font-family:"webfont1", "Helvetica Neue", Helvetica, Arial, "sans-serif"; font-size:18px; line-height:20px; letter-spacing:0px; font-weight:normal; text-transform:uppercase; text-decoration:none; text-align:center; text-shadow:none !important; display:inline-block; cursor:pointer; margin:0 0 20px 0; padding:15px 20px 15px 20px; box-sizing:border-box; position:relative; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.button:hover, button:hover, a.button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, .button:active, button:active, a.button:active, input[type="submit"]:active, input[type="reset"]:active, input[type="button"]:active { color:var(--css_btn_hover_color1); border:1px solid var(--css_btn_hover_border_color1); background-color:var(--css_btn_hover_bg_color1); }
 */
.button_full { width:100%; display:block; }
/*
a.button .icon:before { transform:translateX(0px); transition:all 0.5s ease-in-out; }
a.button:hover .icon:before, a.button:active .icon:before { transform:translateX(4px); }
*/

input.warning { color:#f00; border:1px solid #c00; background-color:rgba(255,0,0,0.2); }
input.warning:focus { color:#f00; }

.feedback { font-family:"webfont1", "Helvetica Neue", Helvetica, Arial, "sans-serif"; font-weight:bold; display:none; margin:0 0 20px 0;padding:30px;text-align:center; color:var(--css_bg_color1); background:#f8f8f8; position:relative; }
.feedback h5 { color:var(--css_bg_color1); }
.feedback a { color:#000; text-decoration:underline; }
.feedback a.close { display:none; position:absolute; right:10px; top:5px; color:var(--css_bg_color1); font-size:18px; padding:5px; text-decoration:none; }
.feedback a.close:hover, .feedback a.close:active { color:var(--css_bg_color1); }


/* share */
body.desktop .share_tools a.share_whatsapp, body.desktop .share_tools a.share_facebook_messenger { display:none !important; }
.share_tools a.button { margin:0 5px 10px 5px; }
.share_tools_big .share_tools a.button { font-size:24px; width:49px; height:49px; line-height:48px; text-align:center; margin:0 10px 10px 10px; padding:0; overflow:hidden; -moz-border-radius:100%; -webkit-border-radius:100%; border-radius:100%; }


/* fancybox */
.fancybox-title .share_tools { margin:10px 0 0 0; }
.fancybox-title .infos { width:100%; margin:0; padding:5px 0; font-size:10px; line-height:12px; }
.fancybox-title .infos .loading { font-size:13px; display:inline; }
.fancybox-title .infos .loading .icon { display:inline; }


/* media-queries + device-switches */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {

}

@media screen and (orientation: landscape) {

}

@media screen and (min-width:1420px) {
    .flickity-prev-next-button.previous { left:calc((((100% - var(--css_wrapper_max_width)) / 2) - 44px) / 2) !important; }
    .flickity-prev-next-button.next { right:calc((((100% - var(--css_wrapper_max_width)) / 2) - 44px) / 2) !important; }
}

@media screen and (max-width:1280px) {
    /* 3 li pro reihe */
	.itemlist .item { width:33%; width:calc((100% - 0px) / 3); }
}

@media screen and (max-width:1024px) {

}

@media screen and (max-width:960px) {
	/* 2 li pro reihe */
	.itemlist .item { width:50%; }
    .grid-3 { grid-template-columns:1fr 1fr; }
}

@media screen and (max-width:860px) {
    .header_norm .social, body.compact .header_norm .social, body.menu_on .header_norm .social { display:none; }
	.nav_overlay .nav_social .social { display:block; }
}

@media screen and (max-width:768px) {
    .header_norm .menu { left:6px; }
    /* .header_norm .dropdown { right:20px; } */
    
    :root {
        --css_wrapper_padding_h:20px;
    }
    
    .deco { height:40vh; }
    
    .flickity-prev-next-button.previous { left:-1px !important; }
    .flickity-prev-next-button.next { right:-1px !important; }
    
	.twocolumns { -webkit-columns:1; -moz-columns:1; columns:1; }
}

@media screen and (max-width:720px) {
    .teaser .carousel-cell .attachment .attachment-data .buy li { min-width:120px; }
}

@media screen and (max-width:640px) {
    /* 1 li pro reihe */
    .itemlist li.item { width:100%; margin:0 0 20px 0; }
    .grid-3 { grid-template-columns:1fr; }
    .grid .grid-item { margin:0 0 60px 0; }
    
	.clients .clients_list { -webkit-column-count:2; -moz-column-count:2; column-count:2; }
	
	.threecolumns { -webkit-column-count:2; -moz-column-count:2; column-count:2; -webkit-column-gap:2em; -moz-column-gap:2em; column-gap:2em; }
}

@media screen and (max-width:580px) {	
	/* 1 li pro reihe
	.itemlist li { clear:both !important; float:none !important; width:100% !important; margin:0 0 60px 0 !important; } */

	.threecolumns { -webkit-column-count:1; -moz-column-count:1; column-count:1; -webkit-column-gap:0em; -moz-column-gap:0em; column-gap:0em; }
}
