:root {
 	--color: rgba(255,255,255,1);
 	--color: rgba(255,240,0,1);
	--color: rgba(255,240,0,1);
	//--color:lightgreen;
	//--color:rgba(0,255,150,1);
    //--color:white; 
	--color:#ffbbfc;
 	--shadow: 0px 0px 40px rgba(0,0,0,0.5);  
 	--shadowx: 0px 0px 5px rgba(0,0,0,0.5);  	
 	//--shadow2: 0px 0px 3px rgba(0,0,0,0.2); 
}
html,body{
    font-family: Georgiax, "Times New Romanx", Georgiax, Arial, helvetica;
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 400;
    
    margin:0px;
    padding:0px;
	width:100%;
	height:100vh;
    color:var(--color);
	text-align: center;
	background:#213d12;
}

body.white{
	background:black;
	color:white;
}
a{
    color:inherit;
    text-decoration: none;
}
h1{
    margin:32px 0 42px;
	font-size: inherit;
	line-height: inherit;
    font-weight: inherit;
    text-align: center;
}
p{
    padding: 0px;
    margin:0px;
    margin-bottom:3vw;
}
p.small{
	font-size:15px;
	 margin-bottom:15px;
}
.ft-title{
    text-shadow: var(--shadow);
}

#myVideo {
	object-fit: cover;
	position: fixed;
	left:0;
	top:0;	
	width:100vw;
	height:107vh;	
	height:100vh;	
	filter:grayscale(0%) brightness(90%) contrast(110%);
}


.page{
    position: absolute;
    top:0px;
    left:0px;
    width: 100vw;
    height: 100vh;
    display: flex;
    transition:all 0.5s;
}
.page.home{
    position: fixed;
}

.page .left, .page .right{
    flex:1 1 50%;
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding:60px;
	transition:all 1s;
}
.page.home .left{
    padding:0px 70px 0px 20px;
}
.page.home .right{
    padding:0px 20px 0px 70px;
}

.page.home .middle{
    position: absolute;
    width:2px;
    left:50%;
    margin-left: -1px;
    top:0px;
    height: 100%;
    display: flex;
    flex-direction: column;
    opacity:1;
    transition:all 0.5s;
	z-index: 100;
}
.page.home .middle .first, .page.home .middle .last{
    margin:50px 0px;
    width:2px;
	left:50px;
    flex:1 1 50%;
    background: var(--color);
    box-shadow: var(--shadow2);
    
    
}
.white .page.home .middle .first, .white .page.home .middle .last{
	border-color:white; 
}
.page.home .middle .mid{
    flex:0 0 100px;
	width:100px;
	height:100px;
	margin-left:-50px;
    //background: url(../img/hirsch_white2.svg) no-repeat center center;
	background-size:100px;
    border-radius: 100%;
    transition:all 0.5s;
}
.page.home a{
	z-index: 20;
    opacity: 1;
    transition: all 0.5s;
}
.detail .page.home a{
    opacity: 0;
}
.detail .page.home .middle{
    opacity: 0;
}
.page .right .sticky{
    top:24px;
	position: sticky;
    display: block;
}




/* detail --------------------- */

.page.detail{
	position: absolute;
    left:0%;
    height: auto;
    z-index: 200;
    opacity: 0;
	display: block;
	pointer-events:none;
}
.page.detail .images{
	position: relative;
    width:100vw;
    height:100vh;
	overflow: hidden;
}

.page.detail .left{
    display: block;
    padding: 0px;
}
.page.detail .text{
    background:white;
    padding:0px;
	display: block;
}
.page.detail .inner{
    padding:12px 20vw 24px 20vw;
}
.page.detail.on{
    left:0%;
    opacity: 1;
	pointer-events:auto;
}

.page.detail .header{
    position: fixed;
    display: block;
    top:0px;
    left:0px;
    width:100%;
    height:30vh;
    z-index: 1000;
    color:var(--color);
	padding:24px;
	background:linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0));
}
.page.detail .header h1{
    margin:0px;   
    line-height: 48px;
}

.page.detail .close{
    position: fixed;
    display: block;
    top:24px;
    left:24px;
    width:48px;
    height:48px;
    z-index: 1000;
    color:var(--color);
}
.page.detail .close h1{
     margin:0;
}

.slideshow{
	width:100%;
	background:white;
	z-index: 10;
}
.slideshow > div{
    position: relative;
    width:100%;
    margin-bottom:10px;
}
.slideshow > div img{
    display: block;
    width: 100%;
   
}
.slideshow > div:last-child{
    margin-bottom:0px;
}
.text a{
    display: inline-block;
    border-radius:20px;
    opacity: 0.33;
}
.text a.hi{
   
    width: auto;
    padding:8px 16px;
    text-align: center;
    opacity: 1;
    border:2px solid black;
    border-radius:32px;
	
}
.text a.hix{
   color:red;
    opacity: 0.66;
}
.text .small{
    font-size: 16px;
}
hr{
    display: block;
    border:0px;
    border-top:2px solid black;
    width: 50%;
    padding: 0px;
    margin:0px auto 16px;
    
}
.tac{
   text-align: center; 
}
svg .stroke{
    stroke:var(--color);
    stroke-width:3px;
}
svg .fill{
    fill:var(--color);
    box-shadow:var(--shadow); 
}
.main-carousel{
    width:100vw;
    height:100%;
    background:black;
    padding: 0px;
    margin: 0px;	
}
.main-carousel:after{
    position: absolute;
    display: block;
    top:0px;
    left:0px;
    width:100%;
    height:30vh;
    z-index: 800;
	background:linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0));
    content: '';
}
.carousel-cell {
    width:100vw;
    height:100%;  
    background: white;
}
.carousel-cell .img{
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background-color: white;
    background-repeat: no-repeat;
    background-size:cover;
    background-position: center;
    z-index: 10;
}
.carousel-cell .img.bw{
	filter:grayscale(100%);
}
.carousel-cell .quote{
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    display: flex;
    align-items: center;
    justify-content:center;
    padding: 0px 10vw;
    z-index: 20;
    background: transparent;
	opacity:1;
	transition:all 1s;
}
.scroll .carousel-cell .quote{
	opacity:0;
}

.main-info{
	position: relative;
	background:white;
	color:black;
	padding-top:2vh;
	margin-bottom:100vh;
	 z-index: 2000;
}
.main-info a{
	text-decoration: underline;
}
.main-info a.hiy{
	display: inline-block;
	text-decoration: none;
	width:auto;
	padding:1vw 3vw;
	background: black;
	color:white;
}
.scrolldown{
	position: absolute;
	bottom:24px;
	left:50%;
	width:48px;
	height:48px;
	margin-left:-24px;
	opacity:1;
	transition:all 1s;
    //background: rgba(0,0,0,0.5);
    border-radius: 100%;
    //border:1px solid var(--color);
}
.scroll .scrolldown{
	opacity:0;
}
.flickity-page-dots {
    display: none;
	bottom:24px !important;
}

.flickity-page-dots .dot{
	background-color: var(--color) !important;
	
	box-shadow: var(--shadow);
	opacity:0.5 !important;
}
.flickity-page-dots .dot.is-selected{
	opacity:1 !important;
}
/* privacy */

.page.detail.privacy .header{
	mix-blend-mode: difference;
}
.page.detail.privacy .header h1{
	mix-blend-mode: difference;
}
.page.detail.privacy .close{
	mix-blend-mode: difference;
}
.page.detail.privacy .main-info{
	margin-bottom: 0px;
}
.page.detail.privacy .images{
	height:80px;
}
.page.detail.privacy .inner{
	text-align: left;
	font-size: 16px;
	line-height: 1.2;
	//margin-top:80px;
}
.page.detail.privacy p{
	margin-bottom:20px;
}