html {
	height: 100%;
    width: 100%;
	overflow: hidden;
}

body {
    font-family: 'Futura LT W01 Book', sans-serif;
    height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
    background-color: white;
}

#sidebar {
    float: left;
	position: fixed;
    width: 7.25%;
    height: auto;
    /* following styles are for child divs: */
    display: flex;   
    flex-direction: column;
    justify-content: flex-end;
    bottom: 10%;
}

#sidebar ul li {
    list-style: none;
}

#sidebar ul li a {
    text-decoration: none;
    display: block;
    margin-left: 34.5%;
}

.link_block{
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    font-size: 1.6vw;
    letter-spacing: 0.07em;
    font-weight: 300;
    text-decoration: none;
    color: darkgrey;
    writing-mode: vertical-lr;
    -ms-writing-mode: vertical-lr; /* IE hack to force IE to put the vertical text elements above each other */
    transform: rotate(180deg);
    -ms-transform: rotate(-90deg); /* IE hack */
    padding: 2vmin 0;
   -ms-transform-origin: none; /* IE hack */
}

.link_block::before {  /* IE hack */
    content: "";
    float: left;
    margin-top: 100%;
}


.main_wrap {
	width: 85.5%; /* the main wrapper contains the three columns which including their margins have a total width of 85.5% */
	margin: 0 auto; /* centers content horizontally on page */
}

#bgrd_turn_device {
    position: fixed;/* also suppresses that bgrd can be shifted beyond its borders on touchscreens */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(209, 255, 123);
    z-index: 1000;
    display: none; /* jQuery command show() turns hidden element (with display:none) to visible */
}

#turn_device {
    position: fixed;
    width: 382px;
    height: 340px;
    top: 30%;
    left: 50%; /* centers the image on the top left corner in the middle of the start page (if in portrait mode) */
    margin: -170px 0 0 -191px; /* shifts the image up by half of its height and left by half of its width */
    z-index: 1000;
    display: none;
}


/* style for button on turn_device page */

.btntd {
	vertical-align: middle;
	text-align: center;
	cursor: pointer;
    width: 300px;
	height: 300px;
	border-radius: 150px;
    border: solid 3.4px rgb(40,59,133);
    z-index: 1000;
    pointer-events: none;
    margin-left: -27px;
    
    display: none;
}

.btntd h5 {
    color: rgb(40,59,133);
    font-size: 33px;
    font-weight: 400;
    letter-spacing: 0.4vw;
	padding-top: 133px; /* verticle alignment of text in button */
}

.btntd_wrap { 
    position: fixed;
    top: 57%;
    left: 0%;
    width: 250px;
    height: 250px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
	text-align: center;
	z-index: 1000;
    pointer-events: none;  
}

/* end of style for button on turn_device page */

#main_content {
	position: relative;
	height: 100%;
	width: 1300px; /* resize via js */

	-webkit-transform-origin: top left;
	-moz-transform-origin: top left;
	-ms-transform-origin: top left;
	-ie-transform-origin: top left;
	-o-transform-origin: top left;
	transform-origin: top left;
}

.main {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
    z-index: 3;
}

.columns {
	width: 28%;
	float: left;
	position: relative;
	margin: 0 0.25%; /* each column has on both sides a margin of 0.25% --> total width of 28.5% */
}

#column1 .background {
	background: rgb(175, 255, 119);
	z-index: 0;
}

#column2 .background {
    background: rgb(169, 255, 179);
    z-index: 0;
}

#column3 .background {
	background: rgb(57,233,177);
	z-index: 0;
}

.terms li {
    opacity: 0.3; /* opacity of rotating word lists 0.3 */
    white-space: nowrap;
}

.terms li.emph {
    opacity: 1; /* emphasising the central sentence */
    font-weight: 400;
}

.icons {
  	height: 2.3em;
    margin: -8% 0;/* -8% corrects the vertical alignment, as the icons are too high */
 }

.backgrounds {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.background {
	width: 100%;
	height: 100%;
}

.terms {
	position: relative;
	z-index: -1000;  /* initially terms are behind colums, with "start" the js moves them to front by setting value to +1000 */
}

.term {
	color: rgb(30,60,133);
	text-align: center;
	font-size: 2.1em;
	font-weight: 300;
	line-height: 2.8em;
}

.btn1 {
	background-color: rgb(40,59,133);
	vertical-align: middle;
	text-align: center;
	margin: 0 auto;
	cursor: pointer;
    width: calc(52vmin*1.25);
	height: calc(52vmin*1.25);
	border-radius: calc(26vmin*1.25);
}

/* font settings inside of btn1 */
.btn1 h4 {
    color: white;
    font-size: calc(5.8vmin*1.25);
    letter-spacing: calc(0.6vmin*1.25);
	padding-top: calc(23vmin*1.25); /* verticle alignment of text in button 1 */
}

.btn1_wrap {   
    width: calc(52vmin*1.25);
    height: calc(52vmin*1.25);
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    margin: auto;
	text-align: center;
	z-index: 1000;
}

.btn1_wrap {
	bottom: -1200px;
}

.btn_kreis2 {
	background-color: rgb(40,59,133);
	vertical-align: middle;
	text-align: center;
	margin: 0 auto;
	cursor: pointer;
}

.btn_kreis2 {
    height: 14vw;
	width: 14vw;
	border-radius: 7vw; */
}

/* font settings inside of btn_kreis2 */

.btn_kreis2 h5 {
    color: white;
    font-weight: 200;
    font-size: 4.0vw;
	letter-spacing: 0.4vw;
	padding-top: 4.85vw; /* vertical alignment of text in button 2 */
	padding-left: 0px;
}

.btn2_wrap {
    bottom: -500px;/* height of second button above page bottom */
}

.btn2_wrap {
	position: fixed;
	width: 100%;
	text-align: center;
	z-index: 1000;
}

/********* Impressum *************/

#impressum{
    width: 100%;
    height: 100%;
    overflow-y: scroll; /* scrollbars if page height is to small for content */
}

#impressum a {
    text-decoration: none;
    color: inherit;
}

#impressum_col {
    width: 28%; /* width of 3 columns is 28.5% each*/
    min-height: 100%;
    margin: 0 auto; /* centers the single column */
    background: rgb(209, 255, 123);/* Fallback */
    background: rgba(209, 255, 123, 1);
    color: rgb(30,60,133);
	text-align: center;
    padding: 0 2% 18vw 2%;
}

#impressum_col h1 {
    font-size: 3.0vw;
    line-height: 400%;
    letter-spacing: 0.25vw;
}

#impressum_col h2 {
    font-size: 1.7vw;
    font-style: normal;
    text-transform: none;
    line-height: 150%;
}

#impressum_col h3 {
    font-size: 1.2vw;
    text-align: justify;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto;
    line-height: 125%;
    padding: 1.8vw 0;
}

#impressum_col h4 {
    font-size: 0.5vw;
    line-height: 125%;
}

.btni {
	background-color: rgb(40,59,133);
	vertical-align: middle;
	text-align: center;
	margin: 0 auto;
	cursor: pointer;
    width: 14vw;
	height: 14vw;
	border-radius: 7vw;
    z-index: 1000;
    pointer-events: fill;
}

.btni_bgrd {
    position: absolute;
    bottom: 0;
    left: 1vw;
    right:2.5%;
    background: rgb(209, 255, 123);/* Fallback */
    background: linear-gradient(rgba(209, 255, 123, 0) 0%, rgba(209, 255, 123, 0.4) 10%, rgba(209, 255, 123, 0.7) 20%, rgba(209, 255, 123,0.92));
    vertical-align: middle;
	margin: 0 auto;
	width: 30.5%;
	height: 17.5vw;
	z-index: 900;
    pointer-events: none;/*allows to still scroll if mouse is on fixed background */
}

/* font settings inside of btni */

.btni h5 {
    color: white;
    font-size: 1.4vw;
    letter-spacing: 0.25vw;
	padding-top: 6.4vw; /* verticle alignment of text in button i */
}

.btni_wrap {   
    position: absolute;
    width: calc(100% - 17px);/* removing offset due to scrollbar */
    height: 20vw;
    bottom: -5vw;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
	z-index: 1000;
    pointer-events: none;
}

/* Email link page*/

@media only screen and (min-height: 700px) {
	
	.btn2_wrap {
		bottom: -450px;
	}
}

/* Limiting the automatic scaling of font in sidebar to max value when increasing window width */

@media only screen and (min-width: 1400px) {
    
    .link_block{
    font-size: 24px;
    }   
}

/* Enlarging Impressum for narrow screens */
@media only screen and (max-width: 640px) {
    
    #impressum_col {
	   width: 81%;
        padding: 0 2% 30vw 2%;
    }
    
    #impressum_col h1 {
    font-size: 3.1vw;
    line-height: 400%;
    letter-spacing: 0.25vw;
    }

    #impressum_col h2 {
    font-size: 2.5vw;
    }

    #impressum_col h3 {
    font-size: 1.9vw;
    padding: 2.0vw 0;
    }

    .btni {
        width: 20vw;
        height: 20vw;
        border-radius: 10vw;
    }

    .btni_bgrd {
        right: 3%;
        width: 80.5%;
        height: 23vw;
    }

/* font settings inside of btni */

    .btni h5 {
        font-size: 1.9vw;
        letter-spacing: 0.3vw;
        padding-top: 9.0vw; /* verticle alignment of text in button i */
    }
    
    .btni_wrap {
        bottom: 5vw;
}
