@charset "utf-8";

* {
	box-sizing: border-box;

	-webkit-font-smoothing: antialiased;

	-webkit-transition: color 0.2s, background-color 0.2s, opacity 0.2s;
	-moz-transition: color 0.2s, background-color 0.2s, opacity 0.2s;
	-o-transition: color 0.2s, background-color 0.2s, opacity 0.2s;
	transition: color 0.2s, background-color 0.2s, opacity 0.2s;
}
pre {
	white-space: pre-wrap;
	font-size: 12px;
	line-height: 14px;
}
html {
/*	width: 100vw; */
	width: 100%;
/*	height: 100%; */
	overflow-x: hidden;
	line-height: 1.15em;
	font-family: sans-serif;
	font-size: 100%;
	text-align: left;
}
body {
/*	height: 100%; */
	padding: 0;
	margin: 0;
	font-weight: 400;
	color: #000;
	background: #fff;
}
a, button {
	text-decoration: underline;
	color: #000;
	cursor: pointer;

	-webkit-transition: height 0.2s, line-height 0.2s, color 0.2s, background-color 0.2s, opacity 0.2s, border-color 0.2s !important;
	-moz-transition: height 0.2s, line-height 0.2s, color 0.2s, background-color 0.2s, opacity 0.2s, border-color 0.2s !important;
	-o-transition: height 0.2s, line-height 0.2s, color 0.2s, background-color 0.2s, opacity 0.2s, border-color 0.2s !important;
	transition: height 0.2s, line-height 0.2s, color 0.2s, background-color 0.2s, opacity 0.2s, border-color 0.2s !important;
}
a:hover {

}
img {
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

i.fa {
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;
}


label.input-checkbox,
label.input-radio {
	position: relative;
	padding-left: 2em;
	cursor: pointer;
	text-align: left;
}
label.input-checkbox > input,
label.input-radio > input {
	display: none !important; 
}
label.input-checkbox > input + i,
label.input-radio > input + i,
label.input-checkbox > input + svg,
label.input-radio > input + svg {
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	color: #000;
	line-height: 1.5rem;
	width: 1.5rem;
	text-align: center;
	visibility: hidden;
}
label.input-checkbox > input + svg,
label.input-radio > input + svg {
	height: 1.1em;
	width: 1.1em;
	top: 0.3em;
	left: 0.3em;
}
label.input-checkbox > input:checked + i,
label.input-radio > input:checked + i,
label.input-checkbox > input:checked + svg,
label.input-radio > input:checked + svg {
	visibility: visible;
}
label.input-checkbox::before,
label.input-radio::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background-color: #fff;
	border: 1px solid #000;
	width: 1.5rem;
	height: 1.5rem;
	line-height: 1.5rem;
	display: block;
}
span.checkbox {
	background-color: #fff;
	border: 1px solid #000;
	width: 1.5rem;
	height: 1.5rem;
	line-height: 1.5rem;
	display: inline-block;
	text-align: center;
}
span.checkbox > i {
	visibility: hidden;
}
span.checkbox.checked > i {
	visibility: visible;
}


[type=color], [type=date], [type=datetime-local], [type=datetime], [type=email], [type=month], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=time], [type=url], [type=week], textarea,
[type=color]:focus, [type=date]:focus, [type=datetime-local]:focus, [type=datetime]:focus, [type=email]:focus, [type=month]:focus, [type=number]:focus, [type=password]:focus, [type=search]:focus, [type=tel]:focus, [type=text]:focus, [type=time]:focus, [type=url]:focus, [type=week]:focus, textarea:focus {
	border: inherit;
	box-shadow: inherit;
	background: inherit; 
}


.no-transition * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
}
.error {
	border-color: #f00 !important;
	color: #f00 !important;
}
.hide-text {
	display: inline-block;
	overflow: hidden;
	text-indent: 110%;
	white-space: nowrap;
}

.is-visible {
	display: block !important;
}

.is-hidden {
	display: none !important;
}

.img2cover,
.img2contain {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;

	-webkit-transition: color 0.2s, background-color 0.2s, opacity 0.2s;
	-moz-transition: color 0.2s, background-color 0.2s, opacity 0.2s;
	-o-transition: color 0.2s, background-color 0.2s, opacity 0.2s;
	transition: color 0.2s, background-color 0.2s, opacity 0.2s;

	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.img2contain {
	background-size: contain;
}

#wrapper-main {
	max-width: 1600px;
	padding: 0;
	overflow-x: hidden;

	margin: auto;
	position: relative;
	display: block;
	max-width: 100%;
}

.wrapper {
	width: 100%;
	margin: auto;
	position: relative;
	display: block;
	max-width: 100%;
}

.form-group .button {
	width: 100%;
}

/* MENU */
.menu {
	display: block;
	width: 100%;
}
.menu::after {
	display: block;
	content: " ";
	clear: both;
}
.menu li {
	display: inline-block;
	position: relative;
}
.menu li > ul {
	display: none;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateY(100%);
}
.menu li:hover > ul {
	display: block;
}


/* TEXT TRANSFORMATION */
.text-uppercase {
	text-transform: uppercase;
	font-size: 1rem;
	text-decoration: none;
}
.text-vertical {
	position: relative;
	display: inline-block;
}
.text-vertical.deg90 {
	transform: rotate(90deg) translateX(100%);
	transform-origin: 100% 0;
	text-align: left;
	
}
.text-vertical.deg-90 {
	transform: rotate(-90deg) translateX(-100%) translateY(-50%);
	transform-origin: 0 0;
	text-align: right;
}
.text-vertical.deg90.right {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
	transform: rotate(90deg) translateX(100%) translateY(100%);
	transform-origin: 100% 100%;
}
.text-vertical.deg-90.left {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	transform: rotate(-90deg) translateX(-100%) translateY(-50%);
}


/* BUTTON */
.button {
	display: inline-block;
	border: 1px solid #000;
	line-height: 2rem;
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	max-width: 100%;
	padding: 0 1rem;
	text-align: center;
	text-decoration: none !important;
	border-radius: 0;
	box-shadow: none;
	vertical-align: middle;
}



/* BG pad, BORDER pad */
.bg-pad {
	padding: 0.5em 2em;
	background: #ccc;
	-webkit-box-decoration-break: clone;
	-o-box-decoration-break: clone;
	box-decoration-break: clone;
}
.border-pad {
	padding: 0.5em 1em;
	border: solid 1px #ccc;
	box-decoration-break: clone;
}


/* SLIDESHOW */
.slideshow {
	display: block;
	width: 100%;
	height: 600px;
	position: relative;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.slideshow .text {
	display: block;
	position: absolute;
}
.slideshow > .arrows > a {
	position: absolute;
	display: block;
	top: 50%;
	transform: translateY(-50%);
}
.slideshow > .arrows {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.slideshow > .arrows > .prev { z-index: 5; left: 0; }
.slideshow > .arrows > .next { z-index: 5; right: 0; }
.slideshow > .arrows > .next::after,
.slideshow > .arrows > .prev::after { 
	position: absolute;
	top: 50%;
	font-family: "FontAwesome";
	line-height: 1px;
	padding: 0;
	font-size: 2rem;
	z-index: 5; 
}
.slideshow > .arrows > .next::after { content: "\f105"; right: 1rem; }
.slideshow > .arrows > .prev::after { content: "\f104"; left: 1rem; }
.slideshow > ul.slides {
	display: block;
	width: inherit;
	height: inherit;
	position: relative;
	padding: 0;
	margin: 0;
}
.slideshow > .bullets {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	z-index: 5;
}
.slideshow > .bullets > li {
	display: inline-block;
}
.slideshow > .bullets > li > a {
	display: inline-block;
	height: 1rem;
	line-height: 1rem;
	text-decoration: none;
	width: 1rem;
	position: relative;
	background-color: #fff;
}
.slideshow > .bullets > li.active > a {
	background-color: #000;
}
.slideshow > ul.slides > li.slide {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: inherit;
	height: inherit;
	background-color: #fff;

	-webkit-transition: transform 0.5s, opacity 0.5s;
	-moz-transition: transform 0.5s, opacity 0.5s;
	-o-transition: transform 0.5s, opacity 0.5s;
	transition: transform 0.5s, opacity 0.5s;

}
.slideshow[data-processed] > ul.slides > li.slide:not(.in-transition) {
	-webkit-transition: all 0s !important;
	-moz-transition: all 0s !important;
	-o-transition: all 0s !important;
	transition: all 0s !important;
}
.slideshow:not([data-processed]) > ul.slides > li.slide:first-child {
	z-index: 2;
}
.slideshow.method-slide[data-processed] > ul.slides > li.slide {
	transform: translateX(100%);
}
.slideshow.method-slide[data-processed] > ul.slides > li.slide.slide-from-left {
	transform: translateX(-100%);
}
.slideshow.method-fade[data-processed] > ul.slides > li.slide {
	opacity: 0;
}
.slideshow > ul.slides > li.slide.active { 
	z-index: 2;
	transform: translateX(0%) !important;
	opacity: 1 !important;
}
.slideshow > ul.slides > li.slide.next { 
	z-index: 3;
	transform: translateX(0%) !important;
	opacity: 1 !important;
}
.slideshow.method-slide[data-processed] > ul.slides > li.slide.active.prev {
	transform: translateX(-100%) !important;
}
.slideshow.method-slide[data-processed] > ul.slides > li.slide.active.prev.slide-to-right {
	transform: translateX(100%) !important;
}
div.slideshow > ul.slides > li .div-yt,
div.slideshow.home > ul.slides > li iframe {
	width: inherit !important;
	height: inherit !important;
	min-height: inherit !important;
	display: block;
}


/* POPUP */
#popup {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 101;
}
#popup {
	overflow: auto;
}
#popup > .bg {
	background-color: #000;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	height: 100%;
	width: 100vw;
	display: block;
	z-index: 101;
}
#popup a.popup-close-x {
	position: absolute;
	top: 2rem;
	right: 2rem;
	font-size: 1.5rem;
	line-height: 1rem;
	color: #000;
	z-index: 102;
}
#popup > .msg {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 600px;
	max-width: 100%;
	transform: translate(-50%, -50%);
	display: block;
	z-index: 102;
}
#popup > .msg.alert {
	
}
#popup > .msg > .content {
	padding: 5px 10px 0;
	text-align: center;

/*	cursor: pointer; */
}
#popup > .msg > .content a,
#popup > .msg > .content a:hover {
	
}
#popup > .msg > .content > p {
	margin-bottom: 1rem;
}
#popup > .msg > .content > a {

}
#popup > .msg > .title {
	display: block;
	text-align: center;
	padding-bottom: 2rem;
}
#popup > .msg > .buttons {
	display: block;
	text-align: center;
/*	padding: 20px; */
}
#popup > .msg > .buttons a {
	display: inline-block;
	background-color: none;
	color: #000;
	text-transform: uppercase;
	height: 30px;
	padding: 0 15px;
	letter-spacing: 0;
}
#popup > .msg.alert > .title,
#popup > .msg.alert > .buttons a {
	
}
#popup > .msg > .buttons a.popup-close {
	position: absolute;
	top: 10px;
	right: 10px;
	height: 25px;
	width: 25px;
	display: block;
	text-decoration: none;
	background: rgba(255,255,255,0.35) url(../img/x-close.png) center center no-repeat;
}
#popup > .msg > .buttons a.popup-close > span {
	font-size: 14px;
}

.popup-hidden {
	display: none;
}

#popup > .msg img {
	max-width: 100%;
}

/* etc */

/* COOKIE FORM */
#cookie-form {
	position: fixed;
	display: block;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #000;
	background: rgba(0,0,0,0.75);
	z-index: 20;
	padding: 20px 0;
	color: #fff;
	font-size: 15px;
	line-height: 18px;
}
#cookie-form a {
	text-decoration: underline;
	color: #fff;
	border-color: #fff;
}
#cookie-form p {
	padding-bottom: 20px;
}
#cookie-form a.button {
	text-decoration: none;
}
#cookie-form .wrapper {
	text-align: left;
	padding-top: 0;
	padding-bottom: 0;
}




/* aligment */

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.text-justify { text-align: justify; }

.to-bottom {
	position: absolute;
	bottom: 0;
	transform: translateY(-100%);
}

@media print, screen and (min-width: 640px) {
	.medium-text-left { text-align: left; }
	.medium-text-right { text-align: right; }
	.medium-text-center { text-align: center; }
	.medium-text-justify { text-align: justify; }

	.medium-to-bottom {
		position: absolute;
		bottom: 0;
		transform: translateY(-100%);
	}
}
@media print, screen and (min-width: 1024px) {
	.large-text-left { text-align: left; }
	.large-text-right { text-align: right; }
	.large-text-center { text-align: center; }
	.large-text-justify { text-align: justify; } 
	.large-to-bottom {
		position: absolute;
		bottom: 0;
	}
}


