/* ------------------------------------------------------------------- */
/* !$ Colors */
/* ------------------------------------------------------------------- */

.c0 {
	color: #fff;
}
.bg0 {
	background-color: #fff;
}
.bgX {
	background-color: #000;
}

.c1, [data-color="1"] .dot, [data-color="1"] .tColor {
	color: #ff5620;
}
.bg1 {
	background-color: #ff5620;
}
.c2, [data-color="2"] .dot, [data-color="2"] .tColor {
	color: #f97eb4;
}
.bg2 {
	background-color: #fa7fb4;
}
.c3, [data-color="3"] .dot, [data-color="3"] .tColor {
	color: #00a5ff;
}
.bg3 {
	background-color: #00a5ff;
}

.c4, strong {
	color: #a8a8a8;
}
.bg4 {
	background-color: #a8a8a8;
}

/*
.cOutline {
	-webkit-text-stroke: 1px black;
}
*/



/* ------------------------------------------------------------------- */
/* !$ Text */
/* ------------------------------------------------------------------- */

@font-face {
    font-family: 'TheAnderen';
    src: url('../fonts/TheAnderen-Bold.woff2') format('woff2'),
         url('../fonts/TheAnderen-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: 'TheAnderen', sans-serif;
	font-weight: normal;
	font-size: 1rem;
	line-height: 1.14;
}

h1, h2, h3, h4, h5, h6, strong {
	font-weight: normal;
	font-style: normal;
}

	
.tXL {
	font-size: 8rem;
	line-height: 0.9;
}
.tL {
	font-size: 2.7rem;
	line-height: 1.07;
}
.tM, h1, .button {
	font-size: 1.2rem;
}
.button {
	letter-spacing: -0.5px;
}
h2, h3, h4, h5, h6 {
	font-size: 1rem;	
}
.tS {
	font-size: 0.82rem;
	letter-spacing: 0.2px;
	line-height: 1.24;
}


a:not(.button) {
	transition: opacity 0.3s ease;
}
a:not(.button):hover {
	opacity: 0.5;
}


/* ------------------------------------------------------------------- */
/* !$ Header + Navigation */
/* ------------------------------------------------------------------- */


#header {
	background-color: #fff;
	position: sticky;
    top: 0;
    z-index: 9;
}


.description {
	white-space: nowrap;
	padding: 0.5rem 0.5rem 0.25rem 0.5rem;
}
.description .location {
	display: none;
}

.nav-button {
	display: flex;
	padding: 0.25rem 0.5rem 0.5rem 0.5rem;
	border-bottom: 1px solid #000;
	overflow: hidden;
}
.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 2.25rem;
	transition: transform 0.15s ease;
}
.button:not(:last-child) {
	margin-right: 0.4rem;
}
.button-active {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	pointer-events: none;
}
.button:hover {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	cursor: pointer;
}




/* ------------------------------------------------------------------- */
/* !$ Container */
/* ------------------------------------------------------------------- */

html, body {
	position: relative;
	width: 100%;
}
body {
	color: #000000;
	background-color: #000;	
}

#container {
	position: relative;
	width: 100%;
	
}

#content-wrapper {
	position: relative;
	background-color: #fff;
}
.home #content-wrapper,
.single #content-wrapper {
	background-color: #000;
}
.page #content-wrapper,
.error404 #content-wrapper {
	min-height: calc(100vh - 121px);
	min-height: calc((var(--vh, 1vh) * 100) - 121px);
}

#container {
	display: flex;
	flex-direction: column;
}

*:focus {outline:0;}


body::-webkit-scrollbar, .scroll-container::-webkit-scrollbar {
	display: none;
}
body, .scroll-container {
	-ms-overflow-style: none;
}
.scroll-container {
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}


/* ------------------------------------------------------------------- */
/* !$ Home */
/* ------------------------------------------------------------------- */


/* !$ Swiper */
.swiper-container {
	height: calc(100vh - 121px);
	height: calc((var(--vh, 1vh) * 100) - 121px);
}



.swiper-slide {
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.swiper-slide img {
	max-width: 80%;
    max-height: 80%;
    width: auto;
}
.swiper-slide .fill {
	width: 100%;
	height: 100%;
	background-position: center;
    background-size: cover;	
}
.swiper-text {
	position: absolute;
	width: 100%;
	height: 100%;
    z-index: 1;
    padding: 0.5rem;
    pointer-events: none;
}


.slide-number {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	padding: 0.5rem;
}
.slide-number a {
	margin-right: 1rem;
}
.caption-wrapper {
	position: absolute;
	z-index: 1;
	width: 100%;
	left: 0;
	bottom: 0;
	pointer-events: none;
}
.caption__item {
	position: absolute;
    z-index: 1;
    width: 100%;
	left: 0;
	bottom: 0;
    padding: 0.5rem 5rem 0.5rem 0.5rem;
	display: none;
}
.caption__item-active {
	display: block;
}


.slide-prev, .slide-next {
	position: absolute;
	height: 100%;
	top: 0;
	z-index: 2;
	overflow: visible;
}
.slide-prev {
	width: 10%;
	left: 0;
	cursor: w-resize;
	cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="12" height="12"><circle cx="6" cy="6" r="6" style="fill:darkgray;"/></svg>'), w-resize;
}
.slide-next {
	width: 10%;
	right: 0%;
	cursor: e-resize;
	cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="12" height="12"><circle cx="6" cy="6" r="6" style="fill:darkgray;"/></svg>'), e-resize;
}

body.is--touch .tooltip {
	display: none;
}
body:not(.is--touch) .tooltip span {
    display:none;
}
body:not(.is--touch) .slide-next span {
	-webkit-transform: translateX(calc(-100% - 20px));
	transform: translateX(calc(-100% - 20px));
}
body:not(.is--touch) .tooltip:hover span {
    display:block;
    position:fixed;
    overflow:hidden;
}


.info__item {
	position: absolute;
    z-index: 1;
    width: 100%;
	left: 0;
    padding: 0.5rem;
	display: none;
	background-color: #fff;
	border-top: 1px solid #000;
}
.info__item-active {
	display: block;
}
.info__item header {
	position: relative;
	padding-left: 1.25rem;
}
.info__item header span {
	position: absolute;
	top: 0;
	left: 0;
}
.info__item header h2,
.info__item header h3 {
	display: inline;
}
.info__item main {
	margin: 1rem 0;
}
.info__item aside .info__item-links {
	margin-top: 1rem;
}
.info__item aside {
	margin: 1rem 0 2rem 0;
}

.info__item p {
	margin-bottom: 1rem;
}
.info__item .question,
.info__item .question + p {
	display: inline;
}




/* ------------------------------------------------------------------- */
/* !$ Index */
/* ------------------------------------------------------------------- */

.index-wrapper {
	position: fixed;
    z-index: 12;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;    
    padding: 0.5rem;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    transition: all 0.3s ease;
}
.index-wrapper.visible {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
}


.index__item-active a  {
	pointer-events: none;
	color: #fff;
}
.index__item-active .dot  {
	color: #fff;
}

.index__item a {
	position: relative;
	padding-left: 1.25rem;
	display: inline-block;
}
.index__item a span {
	position: absolute;
	top: 0;
	left: 0;
}
.index__item a h2,
.index__item a h3 {
	display: inline;
}






/* ------------------------------------------------------------------- */
/* !$ Video */
/* ------------------------------------------------------------------- */


.video-container {
	width: 80%;
	position: relative;
	-webkit-transform: translate3d(-1000px, 0px, 0px);
	transform: translate3d(-1000px, 0px, 0px);
}
.swiper-slide-active .video-container {
	-webkit-transform: translate3d(0px, 0px, 0px);
	transform: translate3d(0px, 0px, 0px);
}

.video-container.fill {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jw-stretch-fill .jw-aspect {
	padding-top: 100% !important;
}

.jw-reset-text, .jw-reset {
	font-family: 'TheAnderen' !important;
	font-weight: normal !important;
}    
.jw-state-idle .jw-controls {
	background: none !important;
}
.jw-controls-backdrop {
	background: none !important;
}
.jw-rightclick { 
	display: none !important;
}
.jw-logo-button {
	display: none !important;
}


/* grey  */
.jw-buffer,
.jw-slider-time .jw-buffer, 
.jw-horizontal-volume-container .jw-buffer {
	background-color: rgba(128, 128, 128, 0.4) !important;
}
.jw-rail,
.jw-slider-time .jw-rail,
.jw-horizontal-volume-container .jw-rail {
	background-color: rgba(128, 128, 128, 0.2) !important;
}
.jw-progress {
	background-color: #a8a8a8 !important;
}
.jw-knob {
	background-color: #a8a8a8 !important;
}
.jw-text {
	color: rgba(128, 128, 128, 0.8) !important;
}
.jw-time-tip .jw-text,
.jw-controlbar .jw-tooltip .jw-text, 
.jw-settings-menu .jw-tooltip .jw-text {
	color: #000 !important;
}
.jw-button-color {
	color: rgba(128, 128, 128, 0.8) !important;
}
.jw-button-color:hover { 
	color: #a8a8a8 !important;
}
.jw-button-color .jw-svg-icon {
	fill: rgba(128, 128, 128, 0.8) !important;
}
.jw-button-color:hover .jw-svg-icon { 
	fill: #a8a8a8 !important;
}
.jw-settings-menu .jw-icon::after, 
.jw-icon-settings::after, 
.jw-icon-volume::after {
	box-shadow: inset 0 -3px 0 -1px #a8a8a8 !important;
}
.jw-time-tip .jw-text, 
.jw-controlbar .jw-tooltip .jw-text, 
.jw-settings-menu .jw-tooltip .jw-text {
	background-color: #a8a8a8 !important;
}
.jw-time-tip::after, 
.jw-controlbar .jw-tooltip::after, 
.jw-settings-menu .jw-tooltip::after {
	background-color: #a8a8a8 !important;
}




/* ------------------------------------------------------------------- */
/* !$ Page */
/* ------------------------------------------------------------------- */

.main-wrapper, .aside-wrapper {
	padding: 0.5rem;
}
.main-wrapper main p,
.aside-wrapper p {
	margin-bottom: 1rem;
}
.main-wrapper aside {
	margin: 4rem 0;
}
.main-wrapper aside p {
	margin-bottom: 0.82rem;
}



/* ------------------------------------------------------------------- */
/* !$ Idle */
/* ------------------------------------------------------------------- */

#idle {
	height: 100%;
    width: 100%;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    display: none;
}
.idle-active #idle {
	display: block;
}


/* ------------------------------------------------------------------- */
/* !$ Intro/Welcome */
/* ------------------------------------------------------------------- */

#welcome {
	height: 100%;
    width: 100%;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.letter {
	margin: 0 1rem;
	/* animation: rotate-animation 4s steps(6) infinite; */
	-webkit-animation: rotate-animation 4s infinite;
	animation: rotate-animation 4s infinite;
}
.letter:nth-child(1) {
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}
.letter:nth-child(2) {
	-webkit-animation-delay: 1.5s;
	animation-delay: 1.5s;
}
.letter:nth-child(3) {
	-webkit-animation-delay: 1.5s;
	animation-delay: 0.5s;
}



/* ------------------------------------------------------------------- */
/* !$ Animations */
/* ------------------------------------------------------------------- */

.fade-in,
.swiper-lazy-loaded {
	-webkit-animation: fade-in-animation ease 0.5s; 
    -webkit-animation-iteration-count: 1; 
    -webkit-animation-fill-mode: forwards;
    animation: fade-in-animation ease 0.5s; 
    animation-iteration-count: 1; 
    animation-fill-mode: forwards;
}


@-webkit-keyframes fade-in-animation { 
    0% { 
        opacity: 0; 
    } 
    100% { 
        opacity: 1; 
     } 
}
@keyframes fade-in-animation { 
    0% { 
        opacity: 0; 
    } 
    100% { 
        opacity: 1; 
     } 
} 



@-webkit-keyframes rotate-animation {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate-animation {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}





/* ------------------------------------------------------------------- */
/* !$ screen > 375px iPhone 6/7/8 */
/* ------------------------------------------------------------------- */
@media all and (min-width: 375px) {
	
	.button {
		width: 5.25rem;
	    height: 5.25rem;
	    border-radius: 2.625rem;
	}
	.tL {
		font-size: 3.3rem;
	}
	.tM, h1, .button {
		font-size: 1.5rem;
	}
	.info__item header,
	.index__item a {
		padding-left: 1.55rem;
	}
	body, h2, h3, h4, h5, h6 {
		font-size: 1.2rem;	
	}
	.info__item main {
		margin: 1.2rem 0;
	}
	.info__item aside .info__item-links {
		margin-top: 1.2rem;
	}
	.info__item aside {
		margin: 1.2rem 0 2.4rem 0;
	}
	.info__item p,
	.main-wrapper main p,
	.aside-wrapper p {
		margin-bottom: 1.2rem;
	}
		
	.swiper-container {
		height: calc(100vh - 133px);
		height: calc((var(--vh, 1vh) * 100) - 125px);
	}
	.page #content-wrapper,
	.error404 #content-wrapper {
		min-height: calc(100vh - 133px);
		min-height: calc((var(--vh, 1vh) * 100) - 125px);
	}
	
	
}

/* ------------------------------------------------------------------- */
/* !$ screen > 414px iPhone 11, 6/7/8 Plus */
/* ------------------------------------------------------------------- */
@media all and (min-width: 414px) {
	.button {
		width: 5.625rem;
	    height: 5.625rem;
	    border-radius: 2.8125rem;
	}
	.tL {
		font-size: 3.6rem;
	}
	.tM, h1, .button {
		font-size: 1.85rem;
	}
	.info__item header,
	.index__item a {
		padding-left: 1.9rem;
	}
	body, h2, h3, h4, h5, h6 {
		font-size: 1.3rem;	
	}
	.info__item main {
		margin: 1.3rem 0;
	}
	.info__item aside .info__item-links {
		margin-top: 1.3rem;
	}
	.info__item aside {
		margin: 1.3rem 0 2.6rem 0;
	}
	.info__item p,
	.main-wrapper main p,
	.aside-wrapper p {
		margin-bottom: 1.3rem;
	}
	.main-wrapper aside p {
		margin-bottom: 0.9rem;
	}
	
	.tS {
		font-size: 0.9rem;
		letter-spacing: 0.1px;
	}
	
	.swiper-container {
		height: calc(100vh - 132px);
		height: calc((var(--vh, 1vh) * 100) - 132px);
	}
	.page #content-wrapper,
	.error404 #content-wrapper {
		min-height: calc(100vh - 132px);
		min-height: calc((var(--vh, 1vh) * 100) - 132px);
	}
	
	.description {
		padding: 0.5rem 1rem 0.25rem 1rem;
	}
	.nav-button {
		padding: 0.25rem 1rem 0.5rem 1rem;
	}
	.info__item,
	.main-wrapper,
	.aside-wrapper,
	.swiper-text {
		padding: 1rem;
	}

	
}


/* ------------------------------------------------------------------- */
/* !$ screen > 535px */
/* ------------------------------------------------------------------- */
@media all and (min-width: 535px) {
	.tL {
		font-size: 4.2rem;
	}
	.description .location {
		display: inline;
	}	
}


/* ------------------------------------------------------------------- */
/* !$ screen > 768px */
/* ------------------------------------------------------------------- */
@media all and (min-width: 768px) {
	.tXL {
		font-size: 10rem;
	}
	.welcome-wrapper {
		display: flex;
		align-intems: center;
		justify-content: center;
	}
	.tL {
		font-size: 5.4rem;
	}
}



/* ------------------------------------------------------------------- */
/* !$ screen > 1000px */
/* ------------------------------------------------------------------- */
@media all and (min-width: 1000px) {
	
	.tXL {
		font-size: 12rem;
	}
	
	.description .location {
		display: none;
	}
	
	#header {
		position: absolute;
	    right: 0;
	    width: 414px;
	    border-left: 1px solid #000;
	}
	.swiper-container,
	.main-wrapper {
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
		width: calc(100% - 414px);
		margin-left: 0;
	}
	.info-wrapper,
	.aside-wrapper {
		position: absolute;
	    right: 0;
	    width: 414px;
	    top: 131px;
	    height: calc(100% - 131px);
	    background-color: #fff;
	    border-left: 1px solid #000;
	}
	.info__item {
		height: calc(100vh - 131px);
		height: calc((var(--vh, 1vh) * 100) - 131px);
	}
	
	.index-wrapper {
		width: 414px;
	}
	
	.info-wrapper::-webkit-scrollbar,
	.main-wrapper::-webkit-scrollbar,
	.aside-wrapper::-webkit-scrollbar {
	 	display: none;
	}
	.info-wrapper,
	.main-wrapper,
	.aside-wrapper {
	 	-ms-overflow-style: none;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}


}



/* ------------------------------------------------------------------- */
/* !$ screen > 1440px */
/* ------------------------------------------------------------------- */
@media all and (min-width: 1440px) {
	
	.tXL {
		font-size: 16rem;
	}
	
	.button {
		width: 6.8rem;
	    height: 6.8rem;
	    border-radius: 3.4rem;
	}
	.button:not(:last-child) {
		margin-right: 0.75rem;
	}
	.tL {
		font-size: 6rem;
	}
	.tM, h1, .button {
		font-size: 2.3rem;
	}
	.info__item header,
	.index__item a {
		padding-left: 2.45rem;
	}
	
	#header {
	    width: 500px;
	}
	.swiper-container,
	.main-wrapper {
		width: calc(100% - 500px);
	}
	.info-wrapper,
	.aside-wrapper {
	    width: 500px;
	    top: 149.8px;
	    height: calc(100% - 149.8px);
	}
	.info__item {
		height: calc(100vh - 149.8px);
		height: calc((var(--vh, 1vh) * 100) - 149.8px);
	}
	
	.index-wrapper {
		width: 500px;
	}
}



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* !$ ~~~~~~~~~~ IE11 specific */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
}
