:root {
    --ebmain-color: rgb(224, 0, 123);
    --ebmain-lightcolor: rgb(230, 116, 178);
    --ebgray: rgba(109,111,114,1);
    --ebmain-darkcolor: rgb(173, 1, 96);
    --ebmain-verydarkcolor: rgb(151, 1, 84);
    --tolanwidth: 2rem;
    --tomove: 3rem;
  }

* {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 300;
}
html {
    font-size: 80%;
}
@media only screen and (min-width: 620px) {
    html {
        font-size: 100%;
    }
}
@media only screen and (min-width: 878px) {
    html {
        font-size: 115%;
    }
}
body {
    display: grid;
    grid-template-columns: 2fr .7fr;
    padding: 0;
    margin: 0;
    line-height: 1.6;
    background: var(--ebmain-color);
}
@media only screen and (min-width: 600px) {
    body {
        grid-template-columns: 2fr .8fr;
    }
}
section.content {
    padding: 2rem 4em 2em 2em;
    position: relative;
    background: #fff;
}
.pagecontent {
    margin-top: 6rem;
}
@media only screen and (min-width: 600px) {
    section.content {
        padding: 2rem 5em 2em 5em;
    }
    .pagecontent {
        margin-top: 8rem;
    }
}
h1, h2, h3 {
    font-weight: 400;
    line-height: 1.4;
}
h1 {
    font-size: 2.34em;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--ebgray);
    margin: 0;
}
h2 {
    font-size: 1.15em;
    margin-top: 0;
}
strong {
    font-weight: 400;
}
a {
    color: var(--ebmain-color);
    font-weight: 400;
    text-decoration: none;
}

div.background {
    /* display: block; */
    position: relative;
    height: 100vh;
    min-height: 35rem;
    /* position: fixed; */
    background: var(--ebmain-color);
    /* background: green; */
    display: flex;
    justify-content: center;
    align-content: flex-start;
    align-items: flex-start;
    box-shadow: 0 100vh 0 0  var(--ebmain-color);
}
div.background a {
    color: #fff;
    
}
.addressblock {
    line-height: 1.8;
    display: flex;
    flex-flow: column;
    font-size: 70%;
}
@media only screen and (min-width: 878px) {
    .addressblock {
        margin-top: 0;
        font-size: 90%;
    }
}
.addressblock a {
    text-decoration: none;
    padding: .3em .5em;
    margin: 0 0 1em;
    /* width: 14em; */
    display: block;
    text-decoration: none;
    /* margin: 1px; */
    letter-spacing: .05em;
    text-align: center;
    border: 1px solid var(--ebmain-lightcolor);
    border-radius: 2em;
}
.addressblock a span {
    font-size: 0;
} 
.addressblock a:hover {
    transition: all 300ms ease;
    /* color: var(--ebmain-darkcolor); */
    color: #fff;
    background: var(--ebmain-color);
    /* text-decoration: underline; */
    /* border: 1px solid var(--ebmain-color); */
}
h3.tofromlans {
    font-size: 1rem;
    position: absolute;
    display: flex;
    justify-content: flex-end;
    width: 27rem;
    max-width: 100vw;
    height: 3rem;
    right: 0;
    transform: translateX(var(--tomove));
    /* background: yellow; */
    z-index: 10;
    letter-spacing: .05em;
}
@media only screen and (min-width: 600px) {
    h3.tofromlans {
        font-size: 1.6rem;
    }
}
h3 span {
    
    /* background: rebeccapurple; */
    /* box-shadow: 0 0 1px rgba(109,111,114,1); */
    font-weight: 500;
    /* font-size: 1.8rem; */
}
h3 span.fromlan {
    text-align: right;
    width: 59%;
    color: var(--ebmain-color);
}
h3 span.tolan {
    text-align: left;
    width: var(--tolanwidth);
    color: #fff;
    /* background: yellow; */
}
h3 span.fromlan.showsmall, 
h3 span.tolan.showsmall {
    display: inline-block;
}
h3 span.fromlan.showlarge,
    h3 span.tolan.showlarge {
    display: none;
}
@media only screen and (min-width: 400px) {
    h3 span.fromlan.showsmall, 
h3 span.tolan.showsmall {
    display: none;
    }
    h3 span.fromlan.showlarge,
    h3 span.tolan.showlarge {
        display: inline-block;
    }
}

h3 span.arrow {
    width: 2rem;
}
h3 span.arrow svg {
    width:2rem;
    height: 2rem;
    margin-top: -.2rem;
}
@media only screen and (min-width: 600px) {
    h3 span.arrow svg {
        margin-top: .3rem;
    }
}
nav.lanswitch {
    display: flex;
    /* width: 20em; */
    justify-content: center;
    margin: 50vh .5rem 1rem;
    flex-flow: column;
    /* width: 3rem; */
} 
@media only screen and (min-width: 300px) { 
    nav.lanswitch {
        margin-top: 1rem;
    } 
}
@media only screen and (min-width: 600px) { 
    nav.lanswitch {
        margin-top: 3rem;
    } 
}


nav.lanswitch a {
    /* background: var(--ebmain-lightcolor); */
    padding: .5em .5em;
    text-decoration: none;
    /* margin: 1px; */
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    border: 1px solid var(--ebmain-lightcolor);
}
nav.lanswitch a.active {
    /* background: var(--ebmain-darkcolor); */
    color: var(--ebmain-lightcolor);
}
nav.lanswitch a:active {
    transition: none;
    background: #000;
}
nav.lanswitch a:hover {
    transition: all ease 250ms;
    background: var(--ebmain-verydarkcolor);
}
nav.lanswitch a:first-child {
    border-radius: 2em 2em 0 0 ;
    padding-top: 1em;
}
nav.lanswitch a:last-child {
    border-radius: 0 0 2em 2em;
    padding-bottom: 1em;
}
@media only screen and (min-width: 600px) {
    nav.lanswitch {
        flex-flow: row;
        width: auto;
    }
    nav.lanswitch a {
        padding: .5em 1em !important;
    }
    nav.lanswitch a:first-child {
        border-radius: 2em 0 0 2em;
        padding-left: 1.5em;
    }
    nav.lanswitch a:last-child {
        border-radius: 0 2em 2em 0;
        padding-right: 1.5em;
    }
}
img.logo {
    width: 7em;
    margin-left: -3.5em;
    position: absolute;
    bottom: 2em;
    left: 0;
}
.contactdata {
    text-decoration: none;
    /* padding: .3em .5em; */
    margin: 4em 0 .3em;
    width: 80%;
    display: flex;
    flex-flow: column;
    flex-direction: column-reverse;
    /* margin: 1px; */
    letter-spacing: .05em;
    text-align: center;
    /* border: 1px solid var(--ebmain-lightcolor); */
    overflow: hidden;
}
.contactdata p {
    padding: 1em;
}
@media only screen and (min-width: 600px) {
    .contactdata {
        text-align: left;
        padding-right: 2em;
    }
    .contactdata p {
        margin-top: 0;
        padding: 0;
    }
}
@media only screen and (min-width: 900px) {
    .contactdata {
        flex-flow: row;
    }
}
img.portrait {
    width: 100%;
    border-radius: .7rem;
}
@media only screen and (min-width: 900px) {
    img.portrait {
        width: 25%;
        height: 25%;
        margin: 0 2em 0 0;
    }
}
/* @media only screen and (min-width: 900px) {
    img.portrait {
        
    } */
}
/* @media all and (orientation:portrait) {
    img.logo { 
        position: fixed;
    }
}
@media only screen and (min-width: 600px) {
    img.logo {
        left:71.5%;
        position: fixed;
    }
} */
