@import "fonts.css";
@import "reset.css";





body {
	font-family: "Caslon540-Roman", "Times New Roman";
	height: 5000px;
	border-top: 4px solid black;
	
}

a#facebook, a#twitter {
	z-index: 9999;
	background: black;
	background-image: url('../img/facebook.png');
	background-repeat: no-repeat;
	background-position: center center;
	height: 35px;
	width: 35px;
	position: fixed;
	top: 100px;
	right:0px;
	border: 0;
	outline: none;
}

div#full_content_wrapper {
	display: none;
}

div#loader {
	width: 25px;
	height: 25px;
	margin: auto;
	margin-top: 34%;
}



a#twitter {
top: 136px;
	background-image: url('../img/twitter.png');
}

a#facebook:hover, a#twitter:hover {
	cursor: pointer;
	background: #323232;	
	background-image: url('../img/facebook.png');
	background-repeat: no-repeat;
	background-position: center center;
}

a#twitter:hover {
	background-image: url('../img/twitter.png');
}

div#clear {
	clear: both;
}

h1 {
	font-size: 3.6em;
}

h2 {
	font-size: 1.4em;
}

p {
	margin: 20px 0 20px 0;
}

h3, h4, label {
	font-family: ProximaNova-Semibold, Helvetica;
	font-size: 0.9em;
	letter-spacing: 0.2em;
	color: #828282;
}

h3 span {
	font-family: "Caslon540-Italic", "Times New Roman";
	font-size: 1.2em;
	letter-spacing: 0.167em;
	color: black;
}

h4 {
	
	margin-bottom: 20px;
	color: black;
	width: 50px;
	text-align: right;
	border-bottom: 2px solid black;
}



div#portfolio_wrapper h3 {
	margin-bottom: 10px;
}

.sticky {
  position: fixed;
  top: 0;
}

.nsticky {
  position: static;
}


div#welcome {
	text-align: center;
	margin-top: 17%;
	margin-bottom: 60px;
}

div#welcome img {
	margin-bottom: 30px;
}

ul {
	width: 29.95em;
	margin: 18px auto 0px auto;
	text-align: center;
}

ul li {
	-webkit-transition:color 0.21s ease-in-out; -moz-transition:color 0.21s ease-in-out; -o-transition:color 0.21s ease-in-out; transition:color 0.21s ease-in-out;
	color: #828282;
	font-size: 1.4em;
	font-weight: normal;
	float: left;
	margin-right: 80px; 
}

ul#nav a li.active {
	color: black;	
}

img#logo_small {
	display: none;
	float: left;
	margin-left: 10px;
	
}

span#pre {
	/* NOCHMAL WEGEN COLOR HOVER */
	font-family: Helvetica;
	font-size: 0.585em;
	letter-spacing: 0.2em;
	margin-right: 8px;
}

ul li:hover { 
	color: black !important;
}

ul li#last {
	margin: 0;
}

ul a {
	text-decoration: none;
}

nav {
	z-index: 999;
	padding-top: 10px;
	background: white;
	overflow: hidden;
	height: 65px;
	width: 100%;
}

div#portfolio, div#about, div#contact {
	z-index: 777;
	position: absolute;
	background: #f0f0f0;
	width: 100%; 
	padding-top: 14%;
	height: 1000px; 
}

div#portfolio {
	top: 1300px;
}

div#about {
	top: 2600px;
}

div#contact {
	text-align: center;
	top: 3900px;
}


div#portfolio_wrapper, div#about_wrapper, div#contact_wrapper {
	margin: 0px auto;
	width: 1000px;
	padding-right: 200px;
	height: 640px;
}

div#about_wrapper {
	padding: 0;
	width: 1200px;
}

div#portfolio_wrapper h3 {
	padding-left: 50px;
}


div#tabs ul {
	padding-left: 50px;
	float: left;
	list-style: none;
	width: 150px;
	margin: 0;
	
}


div#imprint_overlay h5 {
	font: 1.4em/1em "Caslon540-Roman", "Times New Roman";
	margin-top: 60px;
}

div#tabs ul li {

	float: left;
}

div#tabs ul li a {
	font-size: 0.7em;
	color: #828282;
	text-decoration: none;
}

div#tabs ul li a.tab_active{
	color: black;
}


div#tabs ul li a:hover {
	-webkit-transition:color 0.31s ease-in-out; -moz-transition:color 0.31s ease-in-out; -o-transition:color 0.31s ease-in-out; transition:color 0.31s ease-in-out;
	color: black;
}

div#tabs ul li a:clicked {
	color: black;
}


div#gallery_wrapper {
	float: right;
	margin-top: -40px;
	/* IN 780px ÄNDERN WENN BORDER RAUS */
	width: 780px;
	overflow: hidden;
	
}
/* FOR 100% HEIGHT */
div.clear {
	clear: both;
}

a.img_overlay {
	width: 240px;
	height: 140px;
	float: left;
	margin: 10px;
	background: black url(../img/zoom.png) no-repeat center;
	float: left;
	cursor: pointer;
	border: none;
}

div#about {
	text-align: center;
	background: white;
}


div#about_text_wrapper, div#imprint_text_wrapper {
	color: #5d5d5d;
	text-align: left;
	font: 0.85em/1.5em ProximaNova-Regular, Helvetica;
	width: 800px; 
	margin: 0px auto;
	margin-top: 20px;
}

div#about_left, div#about_right, div#imprint_left, div#imprint_right {
	width: 380px;
	float: left;
}

div#about_right, div#imprint_right {
	margin-left: 40px;
}


div#imprint_text_wrapper {
	color: white;
}


#contact-area {
	width: 600px;
	margin: 0px auto;
	margin-top: 40px;
}

#contact-area input, #contact-area textarea {
	font: .9em/1.2em "Caslon540-Roman", "Times New Roman";
	padding: 5px;
	width: 500px;
	margin: 0px 0px 10px 0px;
	border: 1px solid #ccc;
}

#contact-area input {
	width: 242px
}

#contact-area textarea {
	height: 150px;
	resize: none;
}


#contact-area input.submit-button {
	background: #efefef;
	width: 512px;
	font-family: ProximaNova-Semibold, Helvetica;
	font-size: 0.9em;
	letter-spacing: 0.2em;
	color: black;
	cursor: pointer;

}

#contact-area input.submit-button:hover {
	-webkit-transition:background 0.31s ease-in-out; -moz-transition:background 0.5s ease-in-out; -o-transition:background 0.5s ease-in-out; transition:background 0.5s ease-in-out;
	background: #fcfcfc;
}




/* GALLERY OVERLAYS */


div#gallery_overlay_milieu, 
div#gallery_overlay_fashion, 
div#gallery_overlay_technic,
div#gallery_overlay_editorial, 
div#gallery_overlay_sport, 
div#gallery_overlay_still,
div#gallery_overlay_retouch,
div#gallery_overlay_adidas,
div#gallery_overlay_bayernhero,
div#gallery_overlay_shoes,
div#gallery_overlay_kroos,
div#imprint_overlay {
	display: none;
	width: 100%;
	height: 100%;
	background: black;
	z-index: 2147483646;
	position: fixed;
	overflow: hidden;
	top: 0;
	left: 0;
}

div.close_gallery_overlay {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 24px;
	height: 24px;
	background: #464646;
	background-image: url('../img/close_gallery_overlay.png');
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
	
}

div.close_gallery_overlay:hover {
	background: #252525;
	background-image: url('../img/close_gallery_overlay_hover.png');
	background-position: center center;
	background-repeat: no-repeat;
}

/* SLIDER */ 
div.image_slider_wrapper, div.imprint_around {
	position: relative;
	width: 900px;
	height: 566px;
	/* border: 1px solid gray; */
	margin: 5% auto 0 auto;
	
}

div.imprint_around {
	margin: 2% auto 0 auto;
	height: 800px;
}

div.images_stage {
	overflow: hidden;
	width: 800px;
	position: relative;
	margin: auto;
	height: 566px;
}

div.images_wrapper {
	width: 999999px;
	display: none;

}

div.images_wrapper img {
	margin: 0;
}


div.slider_back,
div.slider_next {
	background-image: url(../img/btn_next.gif);
	background-position: center center;
	background-repeat: no-repeat;
	width: 40px;
	height: 80px;
	position: absolute;
	top: 250px;
	opacity: .7;
	cursor: pointer;
}

div.slider_back:hover,
div.slider_next:hover {
	opacity: .5;
}

div.slider_back {
	background-image: url(../img/btn_prev.gif);
	left: 0;
}

div.slider_next {
	right: 0;
}

div#footer {
	z-index: 9999999;
	position: fixed;
	display: none;
	bottom: 40px;
	left: 45%;
	color: #949494;
	font: 0.8em/1.5em ProximaNova-Regular, Helvetica;
}

div#footer a {
	color: #949494;
	border-bottom: 1px solid #dedede;
	padding-bottom: 2px;
	text-decoration: none;
}

div#footer a:hover {
	color: #949494;
	border-bottom: 1px solid #949494;
	padding-bottom: 2px;
	text-decoration: none;
}











/* =========================
   MOBILE FIXES (layout only)
   ========================= */
@media (max-width: 768px) {
  html, body {
    width: 100%;
    overflow-x: hidden;
  }

  body {
    height: auto;
  }

  div#loader {
    margin-top: 45vh;
  }

  div#welcome {
    margin-top: 60px;
    margin-bottom: 30px;
    padding: 0 20px;
  }

  div#welcome img {
    max-width: 72px;
    height: auto;
    margin-bottom: 16px;
  }

  h1 {
    font-size: 2.1em;
    line-height: 1.1em;
  }

  h2 {
    font-size: 1.05em;
    line-height: 1.4em;
  }

  nav {
    height: auto;
    min-height: 0;
    padding: 10px 0 8px;
    border-bottom: 1px solid #e7e7e7;
  }

  img#logo_small {
    display: none !important;
  }

  ul, ul#nav {
    width: 100%;
    margin: 0;
    padding: 0 12px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: nowrap;
  }

  ul li {
    float: none;
    margin-right: 0;
    font-size: 0.95em;
    white-space: nowrap;
  }

  span#pre {
    margin-right: 5px;
  }

  a#facebook, a#twitter {
    top: auto;
    right: 10px;
    width: 34px;
    height: 34px;
    z-index: 2000;
  }

  a#facebook { bottom: 52px; }
  a#twitter  { bottom: 12px; }

  div#portfolio, div#about, div#contact {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  div#portfolio_wrapper,
  div#about_wrapper,
  div#contact_wrapper,
  div#about_text_wrapper,
  div#imprint_text_wrapper,
  #contact-area {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
    height: auto;
  }

  div#portfolio_wrapper {
    padding-right: 0;
  }

  div#portfolio_wrapper h3,
  div#tabs ul {
    padding-left: 0;
  }

  div#tabs ul {
    float: none;
    width: auto;
    display: block;
    margin: 0 0 15px 0;
  }

  div#tabs ul li {
    float: none;
    display: inline-block;
    margin-right: 16px;
  }

  div#gallery_wrapper {
    float: none;
    width: 100%;
    margin-top: 10px;
    overflow: visible;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    box-sizing: border-box;
  }

  a.img_overlay {
    width: calc(50% - 8px);
    max-width: 240px;
    height: auto;
    margin: 4px;
    aspect-ratio: 12 / 7;
    overflow: hidden;
    box-sizing: border-box;
  }

  a.img_overlay img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  div#about_text_wrapper, div#imprint_text_wrapper {
    margin-top: 20px;
  }

  div#about_left, div#about_right, div#imprint_left, div#imprint_right {
    width: 100%;
    float: none;
  }

  div#about_right, div#imprint_right {
    margin-left: 0;
    margin-top: 20px;
  }

  #contact-area {
    margin-top: 20px;
  }

  #contact-area input,
  #contact-area textarea,
  #contact-area input.submit-button {
    width: 100%;
    box-sizing: border-box;
  }

  div#footer {
    position: relative;
    left: auto;
    bottom: auto;
    display: block;
    text-align: center;
    padding: 25px 15px 30px;
  }

  div.image_slider_wrapper,
  div.imprint_around,
  div.images_stage {
    width: calc(100vw - 30px);
    height: auto;
    max-width: 900px;
  }

  div.image_slider_wrapper,
  div.imprint_around {
    margin: 60px auto 0;
  }

  div.images_stage {
    overflow: hidden;
  }

  div.images_wrapper img {
    max-width: 100%;
    height: auto;
  }

  div.slider_back,
  div.slider_next {
    top: 45%;
  }
}

@media (max-width: 480px) {
  ul, ul#nav {
    gap: 8px;
    padding: 0 8px;
  }

  ul li {
    font-size: 0.82em;
  }

  span#pre {
    display: inline-block;
    min-width: 20px;
    margin-right: 3px;
  }

  h1 {
    font-size: 1.75em;
  }

  div#portfolio_wrapper,
  div#about_wrapper,
  div#contact_wrapper,
  div#about_text_wrapper,
  div#imprint_text_wrapper,
  #contact-area {
    padding-left: 18px;
    padding-right: 18px;
  }

  a.img_overlay {
    width: 100%;
    max-width: none;
    margin: 6px 0;
  }
}


/* RETOUCH TAB */
div#retouch {
	display: none;
}


/* RETOUCH OVERLAY */
#gallery_overlay_retouch .image_slider_wrapper {
	position: relative;
}

#gallery_overlay_retouch .retouch_hint {
	position: absolute;
	top: 18px;
	z-index: 9999;
	padding: 8px 14px;
	background: rgba(0,0,0,.65);
	color: #fff;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	pointer-events: none;
	opacity: 0;
	transition: opacity .2s ease;
}

#gallery_overlay_retouch .retouch_hint_after {
	left: 18px;
	opacity: 0;
}

#gallery_overlay_retouch .retouch_hint_before {
	right: 18px;
	opacity: 1;
}

#gallery_overlay_retouch.show-before .retouch_hint_after {
	opacity: 1;
}

#gallery_overlay_retouch.show-before .retouch_hint_before {
	opacity: 0;
}

.adidas-banner {
    width: 100%;
    margin-bottom: 20px;
}
.adidas-banner img {
    width: 100%;
    height: auto;
    display: block;
}
.adidas-grid a {
    display: inline-block;
    margin: 5px;
}


/* ADIDAS PREMIUM BANNER */
.adidas-banner {
    width: 100%;
    margin-bottom: 28px;
    overflow: hidden;
}

.adidas-banner-link {
    display: block;
    text-decoration: none;
}

.adidas-banner-media {
    position: relative;
    overflow: hidden;
    background: #000;
}

.adidas-banner img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 450ms ease, opacity 450ms ease;
    transform-origin: center center;
}

.adidas-banner-link:hover img {
    transform: scale(1.035);
}

.adidas-banner-caption {
    position: absolute;
    left: 28px;
    bottom: 24px;
    z-index: 3;
    background: rgba(0,0,0,0.48);
    color: #fff;
    padding: 12px 16px;
    letter-spacing: 1px;
}

.adidas-banner-title {
    font-size: 20px;
    line-height: 1.2;
    display: inline-block;
}

.adidas-grid a {
    display: inline-block;
    margin: 5px;
}

/* subtle fade-in */
.premium-fade-in {
    opacity: 0;
    transform: translateY(18px);
    animation: premiumFadeIn 900ms ease forwards;
}

.adidas-grid.premium-fade-in {
    animation-delay: 120ms;
}

@keyframes premiumFadeIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* better mobile crop */
@media (max-width: 768px) {
    .adidas-banner {
        margin-bottom: 18px;
    }

    .adidas-banner-media {
        height: 38vw;
        min-height: 180px;
        max-height: 280px;
    }

    .adidas-banner img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }

    .adidas-banner-caption {
        left: 14px;
        bottom: 14px;
        padding: 9px 12px;
        max-width: calc(100% - 28px);
    }

    .adidas-banner-title {
        font-size: 15px;
        line-height: 1.25;
    }
}


/* ADIDAS BANNER */
.adidas-banner {
    width: 100%;
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
    background: #000;
}
.adidas-banner-link {
    display: block;
    position: relative;
    text-decoration: none;
    overflow: hidden;
}
.adidas-banner-link img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 420ms ease;
}
.adidas-banner-link:hover img {
    transform: scale(1.03);
}
.adidas-banner-caption {
    position: absolute;
    left: 28px;
    bottom: 24px;
    z-index: 5;
    color: #fff;
}
.adidas-banner-title {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.1;
}
.adidas-banner-sub {
    display: block;
    margin-top: 6px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #d7c08a;
}

/* make Adidas overlay behave like other galleries */
div#gallery_overlay_adidas {
    display: none;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 2147483646;
    position: fixed;
    overflow: hidden;
    top: 0;
    left: 0;
}

@media (max-width: 768px) {
    .adidas-banner-caption {
        left: 14px;
        bottom: 14px;
    }
    .adidas-banner-title {
        font-size: 19px;
    }
    .adidas-banner-sub {
        font-size: 10px;
    }
}


/* ADIDAS CAMPAIGN BANNER */
.adidas-banner {
    width: 100%;
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
    background: #000;
}
.adidas-banner-link {
    display: block;
    position: relative;
    text-decoration: none;
    overflow: hidden;
}
.adidas-banner-media {
    position: relative;
    overflow: hidden;
    background: #000;
}
.adidas-banner-media > img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 420ms ease;
}
.adidas-banner:hover .adidas-banner-media > img {
    transform: scale(1.03);
}
.image-title-caption {
    position: absolute;
    left: 36px;
    bottom: 28px;
    z-index: 5;
    background: transparent;
    padding: 0;
    max-width: min(74%, 920px);
}
.image-title-caption img {
    display: block;
    width: 100%;
    height: auto;
    transform: none !important;
    transition: none !important;
}

@media (max-width: 768px) {
    .image-title-caption {
        left: 16px;
        bottom: 16px;
        max-width: calc(100% - 32px);
    }
    .image-title-caption img {
        width: 88%;
        max-width: 520px;
    }
}


/* ADIDAS BANNER */
.adidas-banner {
    width: 100%;
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
    background: #000;
}
.adidas-banner-link {
    display: block;
    position: relative;
    text-decoration: none;
    overflow: hidden;
    cursor: zoom-in;
}
.adidas-banner-media {
    position: relative;
    overflow: hidden;
    background: #000;
}
.adidas-banner-media > img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 320ms ease;
}
.adidas-banner:hover .adidas-banner-media > img {
    transform: scale(1.02);
}
.image-title-caption {
    position: absolute;
    left: 36px;
    bottom: 28px;
    z-index: 5;
    background: transparent;
    padding: 0;
    max-width: min(74%, 920px);
}
.image-title-caption img {
    display: block;
    width: 100%;
    height: auto;
    transform: none !important;
    transition: none !important;
}

/* FULLSCREEN OVERLAY FOR CAMPAIGN */
#adidas-fullscreen-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    background: rgba(0,0,0,.94);
}
#adidas-fullscreen-overlay.active {
    display: block;
}
.adidas-fullscreen-inner {
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: auto;
}
.adidas-fullscreen-inner img {
    max-width: 96vw;
    max-height: 88vh;
    width: auto;
    height: auto;
    display: block;
    box-shadow: 0 12px 40px rgba(0,0,0,.42);
}
.adidas-fullscreen-cta {
    position: fixed;
    left: 50%;
    bottom: 26px;
    transform: translateX(-50%);
    z-index: 2147483648;
    display: inline-block;
    padding: 12px 18px;
    background: rgba(0,0,0,.55);
    border: 1px solid rgba(255,255,255,.28);
    color: #fff;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.adidas-fullscreen-close {
    position: fixed;
    right: 20px;
    top: 20px;
    width: 40px;
    height: 40px;
    z-index: 2147483649;
    cursor: pointer;
    background: url('img/layouts/close.png') no-repeat center center;
}

.adidas-grid {
    clear: both;
}
.adidas-grid a {
    display: inline-block;
    margin: 0 0 14px 0;
}
.adidas-grid a:nth-child(3n+2) {
    margin-left: 14px;
    margin-right: 14px;
}

@media (max-width: 768px) {
    .image-title-caption {
        left: 16px;
        bottom: 16px;
        max-width: calc(100% - 32px);
    }
    .image-title-caption img {
        width: 88%;
        max-width: 520px;
    }
    .adidas-fullscreen-cta {
        bottom: 18px;
        font-size: 11px;
        padding: 10px 14px;
        max-width: calc(100vw - 24px);
        text-align: center;
    }
}


/* FIX CLOSE BUTTON VISIBILITY */
.adidas-fullscreen-close {
    position: fixed;
    right: 24px;
    top: 24px;
    width: 44px;
    height: 44px;
    z-index: 2147483650;
    cursor: pointer;
    background: rgba(0,0,0,0.6);
    border: 1px solid rgba(255,255,255,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
}
.adidas-fullscreen-close:before,
.adidas-fullscreen-close:after {
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    background: #fff;
}
.adidas-fullscreen-close:before {
    transform: rotate(45deg);
}
.adidas-fullscreen-close:after {
    transform: rotate(-45deg);
}


/* STRONG OVERRIDE: visible Adidas close button */
.adidas-fullscreen-close {
    position: fixed !important;
    right: 24px !important;
    top: 24px !important;
    width: 46px !important;
    height: 46px !important;
    z-index: 2147483650 !important;
    cursor: pointer !important;
    background: rgba(20,20,20,.72) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 34px !important;
    line-height: 44px !important;
    text-align: center !important;
    display: block !important;
    box-sizing: border-box !important;
    user-select: none !important;
}
.adidas-fullscreen-close:before,
.adidas-fullscreen-close:after {
    content: none !important;
}


/* MB/nav safety: inactive Adidas overlay must not capture anything */
#adidas-fullscreen-overlay {
    display: none;
}
#adidas-fullscreen-overlay.active {
    display: block;
}


/* refined Adidas campaign title sizing */
.image-title-caption {
    max-width: min(62%, 760px) !important;
    left: 34px !important;
    bottom: 30px !important;
}
.image-title-caption img {
    width: 100% !important;
    height: auto !important;
}
@media (max-width: 768px) {
    .image-title-caption {
        max-width: calc(100% - 40px) !important;
        left: 20px !important;
        bottom: 18px !important;
    }
    .image-title-caption img {
        width: 82% !important;
        max-width: 460px !important;
    }
}


.contact-flash {
    width: 490px;
    margin: 0 auto 18px auto;
    padding: 10px 14px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
    box-sizing: border-box;
}
.contact-flash.success {
    border: 1px solid #b8c7b1;
    color: #4b5f45;
    background: #eef4ea;
}
.contact-flash.error {
    border: 1px solid #d8b0b0;
    color: #7b3b3b;
    background: #faf0f0;
}








/* BIG LIGHTBOX ONLY LAST TWO */
#gallery_overlay_fashion .images_wrapper img:nth-child(6),
#gallery_overlay_fashion .images_wrapper img:nth-child(7){
    max-width: 1200px !important;
    max-height: 750px !important;
}



.adidas-subgroup{
    margin-top: 26px;
}
.adidas-subgroup-title{
    font-family: ProximaNova-Semibold, Helvetica;
    font-size: 0.72em;
    letter-spacing: 0.22em;
    color: #828282;
    text-transform: uppercase;
    margin: 0 0 14px 10px;
}
#adidas #kroos{
    overflow: hidden;
}


/* ADIDAS 2 PROJECT TILES */
.adidas-project-tiles{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    margin:0 0 10px 0;
}
.adidas-project-tile{
    display:block;
    width:348px;
    text-decoration:none;
    color:#111;
}
.adidas-project-tile-media{
    display:block;
    overflow:hidden;
    background:#000;
    margin-bottom:12px;
}
.adidas-project-tile-media img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
    transition:transform 300ms ease, opacity 300ms ease;
}
.adidas-project-tile:hover .adidas-project-tile-media img{
    transform:scale(1.03);
    opacity:0.92;
}
.adidas-project-tile-title{
    display:block;
    font-family: ProximaNova-Semibold, Helvetica;
    font-size:18px;
    line-height:1.25;
    letter-spacing:0.03em;
    text-transform:uppercase;
}
.adidas-project-galleries-hidden{
    display:none;
}
@media (max-width: 900px){
    .adidas-project-tile{
        width:100%;
    }
    .adidas-project-tile-media img{
        height:auto;
    }
}



/* TONI KROOS GRID PANEL */
.kroos-grid-panel{
    width:780px;
}
.kroos-grid-back{
    display:inline-block;
    margin:0 0 18px 0;
    font-family: ProximaNova-Semibold, Helvetica;
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#777;
    text-decoration:none;
}
.kroos-grid-back:hover{
    color:#111;
}
.kroos-thumbs-grid{
    width:780px;
}
.kroos-thumbs-grid a{
    display:block;
    float:left;
    width:240px;
    height:140px;
    margin:0 20px 20px 0;
    overflow:hidden;
    background:#ececec;
}
.kroos-thumbs-grid a:nth-child(3n){
    margin-right:0;
}
.kroos-thumbs-grid a img{
    width:240px;
    height:140px;
    object-fit:cover;
    display:block;
}
.kroos-thumbs-grid:after{
    content:"";
    display:block;
    clear:both;
}



/* TONI KROOS COMMERCIAL-STYLE GRID */
.kroos-thumbs-grid a img{
    transition: opacity 220ms ease !important;
}
.kroos-thumbs-grid a:hover img{
    opacity: .82 !important;
}




/* ADIDAS CLEAN LIKE COMMERCIAL */
#adidas_project_tiles{
    width: 780px !important;
    overflow: hidden !important;
    margin: 0 !important;
}
#adidas_project_tiles .adidas-project-tile{
    display: block !important;
    float: left !important;
    width: 240px !important;
    margin: 10px !important;
    color: #111 !important;
    text-decoration: none !important;
}
#adidas_project_tiles .adidas-project-tile-media{
    display: block !important;
    width: 240px !important;
    height: 140px !important;
    margin: 0 0 10px 0 !important;
    overflow: hidden !important;
    background: #000 !important;
}
#adidas_project_tiles .adidas-project-tile-media img{
    display: block !important;
    width: 240px !important;
    height: 140px !important;
    object-fit: cover !important;
}
#adidas_project_tiles .adidas-project-tile-title{
    display: block !important;
    width: 240px !important;
    font-family: ProximaNova-Semibold, Helvetica !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}
#adidas_project_tiles:after{
    content:"";
    display:block;
    clear:both;
}

/* keep kroos panel hidden until click */
#kroos_grid_panel{
    display:none;
}




/* TONI KROOS BIG OVERLAY */
div#gallery_overlay_kroos div.image_slider_wrapper{
    width: 1200px;
    height: 760px;
    margin: 4vh auto 0 auto;
}
div#gallery_overlay_kroos div.images_stage{
    width: 1100px;
    height: 760px;
}
div#gallery_overlay_kroos div.slider_back,
div#gallery_overlay_kroos div.slider_next{
    top: 340px;
}



/* 3 Adidas top tiles */
#adidas_project_tiles{width:780px !important;}



/* BAYERN HERO FULLSCREEN FIX */
div#gallery_overlay_bayernhero div.image_slider_wrapper{
    width: 1200px !important;
    height: 600px !important;
    margin: 5vh auto 0 auto !important;
}
div#gallery_overlay_bayernhero div.images_stage{
    width: 1100px !important;
    height: 600px !important;
    margin: 0 auto !important;
}
div#gallery_overlay_bayernhero div.images_wrapper img{
    width: 1100px !important;
    height: 600px !important;
    display: block !important;
    object-fit: contain !important;
}
div#gallery_overlay_bayernhero div.slider_back,
div#gallery_overlay_bayernhero div.slider_next{
    top: 260px !important;
}



/* CLEAN ADIDAS LIKE SIEMENS */
div.portfolio_item span.title,
div.portfolio_item span.category{
    display:none !important;
}

div.portfolio_grid{
    justify-content:center !important;
}

div.portfolio_item{
    margin-bottom:40px !important;
}



/* MOBILE PRO — desktop untouched */
@media (max-width: 1024px) {
  body { height: auto !important; min-height: 100vh; }
  div#portfolio, div#about, div#contact {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding-top: 32px !important;
    padding-bottom: 40px !important;
  }
  div#portfolio_wrapper, div#about_wrapper, div#contact_wrapper {
    width: auto !important;
    height: auto !important;
    padding: 0 18px !important;
    margin: 0 auto !important;
  }
  div#gallery_wrapper {
    float: right !important;
    width: calc(100% - 180px) !important;
    margin-top: -10px !important;
    overflow: visible !important;
  }
  div#tabs ul {
    float: left !important;
    width: 150px !important;
    padding-left: 0 !important;
    margin-bottom: 18px !important;
  }
  div#portfolio_wrapper h3 { padding-left: 0 !important; }
  a.img_overlay, .kroos-thumbs-grid a, #adidas_project_tiles .adidas-project-tile, .adidas-project-tile {
    width: calc(50% - 10px) !important;
    height: auto !important;
    margin: 5px !important;
    box-sizing: border-box !important;
    float: left !important;
  }
  a.img_overlay img, .kroos-thumbs-grid a img,
  #adidas_project_tiles .adidas-project-tile-media,
  .adidas-project-tile-media,
  #adidas_project_tiles .adidas-project-tile-media img,
  .adidas-project-tile-media img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
  }
  #adidas_project_tiles, .kroos-thumbs-grid, div#fashion, div#milieu, div#retouch, div#adidas {
    width: 100% !important;
    overflow: hidden !important;
  }
  nav {
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 0 8px !important;
  }
  ul, ul#nav {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }
  ul li {
    margin-right: 0 !important;
    float: none !important;
    font-size: 1em !important;
    white-space: nowrap !important;
  }
  span#pre { margin-right: 5px !important; }
  a#facebook, a#twitter {
    width: 36px !important;
    height: 36px !important;
    right: 8px !important;
  }
  a#facebook { top: 92px !important; }
  a#twitter { top: 130px !important; }
}

@media (max-width: 768px) {
  div#welcome {
    margin-top: 40px !important;
    margin-bottom: 26px !important;
    padding: 0 18px !important;
  }
  h1 { font-size: 2.2em !important; line-height: 1.1 !important; }
  h2 { font-size: 1.05em !important; }
  div#portfolio_wrapper, div#about_wrapper, div#contact_wrapper {
    padding: 0 14px !important;
  }
  div#tabs ul {
    float: none !important;
    width: 100% !important;
    margin: 0 0 14px 0 !important;
  }
  div#tabs ul li {
    float: none !important;
    margin-bottom: 8px !important;
  }
  div#gallery_wrapper {
    float: none !important;
    width: 100% !important;
    margin-top: 10px !important;
  }
  a.img_overlay, .kroos-thumbs-grid a,
  #adidas_project_tiles .adidas-project-tile, .adidas-project-tile {
    width: 100% !important;
    margin: 0 0 14px 0 !important;
    float: none !important;
  }
  a.img_overlay { background-size: 22px 22px !important; }
  div.close_gallery_overlay {
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    height: 36px !important;
    background-size: 14px 14px !important;
    z-index: 2147483647 !important;
  }
  div#gallery_overlay_milieu, div#gallery_overlay_fashion, div#gallery_overlay_technic,
  div#gallery_overlay_editorial, div#gallery_overlay_sport, div#gallery_overlay_still,
  div#gallery_overlay_retouch, div#gallery_overlay_adidas, div#gallery_overlay_kroos,
  div#gallery_overlay_bayernhero, div#imprint_overlay {
    overflow: hidden !important;
  }
  div.image_slider_wrapper {
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    position: relative !important;
  }
  div.images_stage {
    width: calc(100vw - 72px) !important;
    height: 100vh !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
  div#gallery_overlay_milieu div.images_wrapper img,
  div#gallery_overlay_fashion div.images_wrapper img,
  div#gallery_overlay_technic div.images_wrapper img,
  div#gallery_overlay_editorial div.images_wrapper img,
  div#gallery_overlay_sport div.images_wrapper img,
  div#gallery_overlay_still div.images_wrapper img,
  div#gallery_overlay_retouch div.images_wrapper img,
  div#gallery_overlay_adidas div.images_wrapper img,
  div#gallery_overlay_kroos div.images_wrapper img,
  div#gallery_overlay_bayernhero div.images_wrapper img {
    max-width: calc(100vw - 72px) !important;
    max-height: 86vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
  div.slider_back, div.slider_next {
    width: 36px !important;
    height: 72px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    opacity: .9 !important;
    z-index: 2147483647 !important;
    background-size: 18px auto !important;
  }
  div.slider_back { left: 6px !important; }
  div.slider_next { right: 6px !important; }
  div#footer { display: none !important; }
}

@media (max-width: 420px) {
  ul li { font-size: 0.9em !important; }
  span#pre { font-size: 0.55em !important; }
  div.images_stage { width: calc(100vw - 58px) !important; }
  div#gallery_overlay_milieu div.images_wrapper img,
  div#gallery_overlay_fashion div.images_wrapper img,
  div#gallery_overlay_technic div.images_wrapper img,
  div#gallery_overlay_editorial div.images_wrapper img,
  div#gallery_overlay_sport div.images_wrapper img,
  div#gallery_overlay_still div.images_wrapper img,
  div#gallery_overlay_retouch div.images_wrapper img,
  div#gallery_overlay_adidas div.images_wrapper img,
  div#gallery_overlay_kroos div.images_wrapper img,
  div#gallery_overlay_bayernhero div.images_wrapper img {
    max-width: calc(100vw - 58px) !important;
  }
}




/* NO AI header accent */
.no-ai{
    display:inline-block;
    font-family: ProximaNova-Semibold, Helvetica;
    letter-spacing:0.18em;
    margin-right:0.35em;
}




/* MOBILE SPACING ALL TABS — SAFE */
@media (max-width: 768px){

  div#gallery_wrapper{
    padding-bottom: 6px !important;
  }

  /* spacing only in page grids, never inside fullscreen overlays */
  div#milieu > a.img_overlay,
  div#fashion > a.img_overlay,
  div#technic > a.img_overlay,
  div#editorial > a.img_overlay,
  div#sport > a.img_overlay,
  div#still > a.img_overlay,
  div#retouch > a.img_overlay,
  div#adidas > a.img_overlay,
  #adidas_project_tiles .adidas-project-tile,
  .kroos-thumbs-grid > a{
    display:block !important;
    margin:0 0 18px 0 !important;
  }

  div#milieu,
  div#fashion,
  div#technic,
  div#editorial,
  div#sport,
  div#still,
  div#retouch,
  div#adidas,
  #adidas_project_tiles,
  .kroos-thumbs-grid{
    overflow: visible !important;
  }

  /* keep fullscreen overlay slider untouched */
  div[id^="gallery_overlay_"] a.img_overlay{
    margin:0 !important;
    width:auto !important;
    float:none !important;
    display:inline !important;
  }
}

/* MOBILE PRO — SAFE PAGE LAYOUT ONLY */
@media (max-width: 1024px){
  body{
    height:auto !important;
    min-height:100vh !important;
  }

  div#portfolio,
  div#about,
  div#contact{
    position:relative !important;
    top:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding-top:28px !important;
    padding-bottom:36px !important;
  }

  div#portfolio_wrapper,
  div#about_wrapper,
  div#contact_wrapper{
    width:auto !important;
    height:auto !important;
    padding:0 18px !important;
    margin:0 auto !important;
  }

  div#gallery_wrapper{
    float:right !important;
    width:calc(100% - 180px) !important;
    margin-top:-6px !important;
    overflow:visible !important;
  }

  div#tabs ul{
    float:left !important;
    width:150px !important;
    padding-left:0 !important;
    margin-bottom:18px !important;
  }

  nav{
    height:auto !important;
    padding:10px 0 8px !important;
  }

  ul,
  ul#nav{
    width:100% !important;
    margin:0 !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
    display:flex !important;
    justify-content:center !important;
    gap:12px !important;
    flex-wrap:nowrap !important;
  }

  ul li{
    float:none !important;
    margin-right:0 !important;
    white-space:nowrap !important;
  }

  a#facebook, a#twitter{
    width:36px !important;
    height:36px !important;
    right:8px !important;
  }
  a#facebook{ top:92px !important; }
  a#twitter{ top:130px !important; }
}

@media (max-width: 768px){
  div#welcome{
    margin-top:34px !important;
    margin-bottom:24px !important;
    padding:0 16px !important;
  }

  h1{
    font-size:2.15em !important;
    line-height:1.1 !important;
  }

  h2{
    font-size:1.02em !important;
  }

  div#portfolio_wrapper,
  div#about_wrapper,
  div#contact_wrapper{
    padding:0 14px !important;
  }

  div#tabs ul{
    float:none !important;
    width:100% !important;
    margin:0 0 16px 0 !important;
  }

  div#tabs ul li{
    float:none !important;
    margin-bottom:8px !important;
  }

  div#gallery_wrapper{
    float:none !important;
    width:100% !important;
    margin-top:10px !important;
  }

  /* page grids only */
  div#milieu > a.img_overlay,
  div#fashion > a.img_overlay,
  div#technic > a.img_overlay,
  div#editorial > a.img_overlay,
  div#sport > a.img_overlay,
  div#still > a.img_overlay,
  div#retouch > a.img_overlay,
  div#adidas > a.img_overlay,
  #adidas_project_tiles .adidas-project-tile,
  .kroos-thumbs-grid > a{
    width:100% !important;
    margin:0 0 14px 0 !important;
    float:none !important;
    display:block !important;
  }

  #adidas_project_tiles{
    width:100% !important;
    overflow:hidden !important;
  }

  #adidas_project_tiles .adidas-project-tile-media,
  #adidas_project_tiles .adidas-project-tile-media img,
  .kroos-thumbs-grid > a img{
    width:100% !important;
    height:auto !important;
    display:block !important;
  }

  .kroos-grid-panel,
  .kroos-thumbs-grid{
    width:100% !important;
  }

  #adidas_project_tiles .adidas-project-tile-title{
    font-size:11px !important;
    line-height:1.3 !important;
    letter-spacing:0.06em !important;
  }

  .kroos-grid-back{
    font-size:11px !important;
    letter-spacing:0.09em !important;
  }

  /* mobile overlay controls only; keep original desktop slider logic intact */
  div.close_gallery_overlay{
    top:10px !important;
    right:10px !important;
    width:36px !important;
    height:36px !important;
    background-size:14px 14px !important;
    z-index:2147483647 !important;
  }

  div.slider_back,
  div.slider_next{
    z-index:2147483647 !important;
  }

  div#footer{
    display:none !important;
  }
}

@media (max-width: 420px){
  ul li{ font-size:.9em !important; }
  span#pre{ font-size:.55em !important; }
}


/* FIX BEFORE / AFTER OVERLAY MOBILE */
@media (max-width: 768px){

  /* reset any stacking issues inside overlay */
  div[id^="gallery_overlay_"] .images_wrapper{
    white-space:nowrap !important;
    font-size:0 !important;
  }

  div[id^="gallery_overlay_"] .images_wrapper img{
    display:inline-block !important;
    vertical-align:middle !important;
    margin:0 !important;
    max-width:100% !important;
    height:auto !important;
  }

  /* remove accidental spacing inside overlay */
  div[id^="gallery_overlay_"] a,
  div[id^="gallery_overlay_"] a.img_overlay{
    margin:0 !important;
    padding:0 !important;
  }

  /* fix before/after labels position */
  .before,
  .after{
    position:absolute !important;
    top:10px !important;
    left:10px !important;
    z-index:10 !important;
  }

}


/* MOBILE TOUCH OVERLAY SAFETY */
@media (hover: none), (pointer: coarse){
  div[id^="gallery_overlay_"] .images_wrapper img{
    -webkit-transform: none !important;
    transform: none !important;
  }
}

/* Hide before/after hints in Siemens overlay */
#gallery_overlay_retouch .retouch_hint{display:none!important;}
