/*
Theme Name: Wundersee.com
Author: Andreas Wundersee
Author URI: http://www.onoffdesign.de/
Description: Ein Wordpress-Template von ON/OFF Design
Version: 1.0
*/

:root {
  --pink: #EB4A82;
}

::-moz-selection {
  color: white; background: black;
}

::selection {
  color: white; background: black;
}

img::-moz-selection {
  color: white; background: transparent;
}

img::selection {
  color: white; background: transparent;
}

body, html {
	font-family: 'SimplonMono', Arial, sans-serif;
	font-size: 17px;
	color: #000000;
	letter-spacing: 0.4px;
}

.transition-2, a, .text-wrapper h2:after {
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	transition: all 0.2s ease;	
}

.image-wrapper:before {
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	transition: all 0.2s linear;	
}

.outer-wrapper {
    max-width: 1800px;
    width:100%;
    padding-left:40px;
    padding-right: 40px;
    margin: auto;
}

header {
    /* padding-top:40px; */
    padding-bottom: 30px;
}

header a:hover {
    color:var(--pink);
    text-decoration: none;
}

a {
    color:#000;
    text-decoration: none;
}

.hover-wrapper {
    position: relative;
}

h1, footer h2, header h2 {
	font-family: carlmarx, sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	display: block;
	font-size: 42px;
    margin: 0px;
    line-height: 1;
}

header h2 {
    color:#000;
}

header .outer-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header .nav-wrapper {
    flex-direction: row;
}

header .logo-wrapper {
    margin-left:15px;
}

header .nav-wrapper a {
    display: inline-block;
    line-height: 1;
    font-family: 'SimplonMono', Arial, sans-serif;
    font-size: 20px;   
    padding:45px 15px;
    text-transform: uppercase;
}

footer h2 {
    color:#fff;
    margin: 0px;
}

footer .sublabel {
    margin-left:2px;
}

.sublabel, footer .nav {
    font-weight: 400;
    font-size: 12px;
    line-height: 1;
    margin: 0px;
}

.image-wrapper {
    background-size: cover;
    background-position: center center;
    height: calc(100vh - 230px);
    width: 100%;
    position: relative;
    overflow: hidden;
}

.image-wrapper svg {
    position: absolute;
    left:-10px;
    width:110%;
    bottom:0px;
    z-index: 10;
}

.animate {   
    stroke-dasharray: 2338.5;
    stroke-dashoffset: 2338.5;
    opacity: 0;
    stroke-width: 0;
    animation: out 10s ease forwards 1;
}

svg.galerie {
    bottom: inherit;
    top:20px;
}

.galerie .animate {
    animation: dash 10s ease forwards 1;    
}

@keyframes dash {
  from {
    stroke-dashoffset: 2338.5;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes out {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: 2338.5;
  }
}

.image-wrapper:before {
    background-color: var(--pink);
    height:10px;
    content: "";
    top:0px;
    left:0px;
    width: 0px;
    z-index: 10;
    position: absolute;
}

.image-wrapper img {
    width: 100%;
    height: 100%;    
    object-fit: cover;
    position: relative;
    z-index: 0;
}

h2 {
    color:var(--pink);
    font-size: 15px;
    margin: 0px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 50px;
    position: relative;
}

.content h2 {
    margin-top:50px;
    margin-bottom: 20px !important;
}

.text-wrapper {
    margin:25px 15px;
    margin-top:0px;
}

.text-wrapper h2 {
    display: block;
    background-color:#fff;
    z-index: 10;
}

.text-wrapper h2:after {
    position: absolute;
    right:50px;
    z-index: 0;
    content:'\2192';
    max-width: 0px;
    overflow: hidden;
} 

.white-wrapper {
    background-color:#fff;
    z-index: 10;
    position: relative;
    padding-top:25px;
}

.hover-wrapper ul, .hover-wrapper li {
    list-style: none;
    margin: 0px;
    padding:0px;
    font-size: 20px;
    font-weight: 500;
    line-height: 120%;
    color: #000 !important;
    padding-bottom: 10px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	transition: all 0.2s ease;    
}

.hover-wrapper ul {
    background-color:#fff;
    z-index: 10;
    position: relative;
}

.link {
    font-weight: 300;
    font-size: 15px;
    color:#000;
}

.info-text {
    margin-top:30px;
    margin-bottom: 30px;
    color:#000 !important;
    position: absolute;
    bottom:60px;
    margin-right: 50px;
    z-index: 0;
}

.content-wrapper {
    margin-bottom: 200px;
    z-index: 10;
    background-color:#fff;
    position: relative;
    width:100%;
    padding-bottom: 50px;
}

footer {
    width:100%;
    position: fixed;
    left:0px;
    bottom: 0px;
    height:200px;
    background-color:var(--pink);
    z-index: 0;
    color:#fff;
    display: flex;
    align-content: center;
}

footer .row {
    display: flex;
    align-items: stretch;
}

footer .row .nav {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    margin-right: 15px;
}

.nav-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

footer .row .nav a {
    color:#fff;
    margin-left: 15px;
}

footer .contact {
    margin-left: 15px;
}

p.sublabel {
    margin-top:10px;
}

footer .icon {
    font-size: 42px;
    display: block;
}

.clear {
    clear: both;
}

.nav {
    padding-left:15px;
}

.content a {
    text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
    
    /* .hover-wrapper:hover .image-wrapper:before {
        width:100%;
    } */
    
    header a:hover h2 {
        color:var(--pink);
    }
    
    .hover-wrapper:hover .image-wrapper, .hover-wrapper.is-active .image-wrapper {
        height: calc(100vh - 350px) !important;
        margin-bottom: 10px !important;
    }
    
    .content a:hover {
        color:var(--pink);
        text-decoration: none;
    }
    
    .hover:hover .hover-wrapper .image-wrapper {
        opacity: 0.7;
    }
    
    .hover .hover-wrapper:hover .image-wrapper {
        opacity: 1;
    }
    
    .hover-wrapper:hover .animate {
        animation: dash 2s ease forwards 1;
        opacity: 1;
        stroke-width: 10px;
    }
    
    .hover-wrapper:hover .galerie .animate {
        animation: out 2s ease forwards 1;
    }    
    
    .hover-wrapper:hover .text-wrapper h2:after {
        max-width: 200px;
        right: 10px;
    }
    
    .hover-wrapper:hover h2, .hover-wrapper.is-active h2 {
        margin-bottom: 20px !important;
    }
    
    .hover-wrapper:hover li, .hover-wrapper.is-active li {
        padding-bottom: 0px !important;
    }
    
    .hover-wrapper:hover .link, .hover-wrapper.is-active .link {
        color:var(--pink);
    }
    
    header .nav-wrapper a:hover {
        background-color:#000;
        color:#fff;
    }
    
}

@media (max-width:991px) {
    
    h1, footer h2, header h2, footer .icon {
        font-size: 40px;
    }
    
    .white-wrapper {
        padding-top: 0px;
    }

    .image-wrapper {
        height:30vh !important;
        margin-bottom: 30px !important;
    }    
    
    .text-wrapper h2 {
        margin-bottom: 20px !important;
    }
    
    .hover-wrapper ul, .hover-wrapper li {
        padding-bottom: 0px !important;
        margin-bottom: 0px !important;
    }
    
    .white-wrapper {
        float:left;
        width:50%;
    }
    
    .info-text {
        float: right;
        width:50%;
        margin:0px;
        position: relative;
        bottom: auto;
        margin-top:33px;
    }
    
    .info-text:after {
        position: relative;
        content:"";
        clear: both;
    }
    
    .link {
        clear: both;
        float: none;
        display: block;
        margin-top:15px;
        margin-bottom: 50px;
    }
    
    .outer-wrapper {
        padding-left: 30px;
        padding-right: 30px;
    }
    
    .text-wrapper h2:after {
        max-width: 100px;
        right:-100%;
    }    
    
}

@media(max-width:767px) {
    
    .text-wrapper h2:after {
        max-width: 100px;
        right:7px;
    }    
    
    .outer-wrapper {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    header {
        padding-top:30px;
        padding-bottom: 30px;
    }
    
    h1, footer h2, footer .icon {
        font-size: 30px;
    }

    .image-wrapper {
        margin-bottom: 15px !important;
    }    
    
    .text-wrapper {
        margin:15px 7px;
    }  
    
    .white-wrapper, .info-text {
        width:100%;
    }
    
    footer .row.flex-wrap {
        display: block;
    }
    
    footer .row .nav {
        text-align: left;
        margin-top:30px;
        justify-content: flex-start;
    }
    
    footer .contact {
        margin-left: 0px;
    }
    
    footer {
        height:250px;
    }
    
    .content-wrapper {
        margin-bottom: 250px;
    }
    
    footer .row .nav a {
        margin-left: 0px;
        margin-right: 15px;
    }
    
    footer .row nav {
        margin-top:10px;
    }
    
    .logo-wrapper {
        text-align: left;
    }
    
    header .icon {
        font-size: 30px;
        padding-right: 5px;
    }
    
    header .logo-wrapper {
        margin-left: 5px;
    }
    
    header .outer-wrapper {
        align-items: flex-start;
    }
    
}