/* ------------------------------------------------------------------- */
/* CODE
/* The Anderen • MARCH 2021 • https://theanderen.com
/* ------------------------------------------------------------------- */

*, *:before, *:after{
    margin: 0;
    padding: 0;
    border: 0;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
}

/* ------------------------------------------------------------------- */
/* !$ Base */
/* ------------------------------------------------------------------- */

::selection {background: rgba(0,0,0,0.95); color: rgb(255,255,255);}
::-moz-selection {background: rgba(0,0,0,0.95); color: rgb(255,255,255);}

.dark ::selection {background: rgba(255,255,255,0.95); color: rgb(0,0,0);}
.dark ::-moz-selection {background: rgba(255,255,255,0.95); color: rgb(0,0,0);}

.dark .general ::selection, .dark .general input:-webkit-autofill::selection {background: rgba(0,0,0,0.95); color: rgb(255,255,255); -webkit-text-fill-color: #FFF;}
.dark .general ::-moz-selection, .dark .general input:-webkit-autofill::-moz-selection {background: rgba(0,0,0,0.95); color: rgb(255,255,255); -webkit-text-fill-color: #FFF;}


html {
	-webkit-text-size-adjust: 100%;
}
body {
	font-weight: normal;
    font-feature-settings: "liga", "dlig", "kern" 1;
    font-kerning: normal;
    -webkit-tap-highlight-color: transparent;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
  width: 100%;
}


a {
  color: currentColor;
  text-decoration: none;
  position: relative;
}
a, .link, button, .button {
	transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
	cursor: pointer;
}
a:focus {
	outline: none;
}


address a:after,
.menu-listed a:after,
article a:after,
.note a:after,
.btn-close:after,
.btn-submit:after,
.btn-cookie:after,
.btn-code:after,
.register-external-link:after {
	position: absolute;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	background: #000;
	width: 100%;
	left: 0;
	transition: width 0.3s ease-in-out;
}
article a.external-link:after {
	width: calc(100% - 11px - 0.5rem);
}
.dark address a:after,
.dark .menu-listed a:after,
.dark article a:after,
.dark .note a:after,
.dark .btn-code:after,
.dark .register-external-link:after {
	background: #FFF;
}
.dark .general article a:after,
.dark .general .note a:after {
	background: #000;
}

address a:hover:after,
.menu-listed a:hover:after,
article a:hover:after,
.note a:hover:after,
.btn-close:hover:after,
.btn-submit:hover:after,
.btn-cookie:hover:after,
.register-external-link:hover:after {
	-webkit-animation: hoverLine 0.6s ease-in-out;
	-moz-animation:    hoverLine 0.6s ease-in-out;
	-o-animation:      hoverLine 0.6s ease-in-out;
	animation:         hoverLine 0.6s ease-in-out;
}

@-webkit-keyframes hoverLine {
    0%{width: 100;}
    20%{width: 0;}
    100%{width: 100;}
}
@keyframes hoverLine {
    0%{width: 100;}
    20%{width: 0;}
    100%{width: 100;}
}

.btn-code:after {
	width: 0%;
}
.btn-code:hover:after {
	width: 100%;
}




button {
	font: inherit;
	background: none;
	border: 0;
	color: currentColor;
	cursor: pointer;
}
button:focus, input:focus {
    outline: none;
}


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

:root {
  --header-height: 113px;
  --padding: 1.5rem;
  --color-lightgrey: #E8E8E8; /*rgba(0,0,0,0.1);*/
  --color-lightgrey-dark: #262626; /*rgba(255,255,255,0.1);*/
  --color-grey: #4d4d4d; /*rgba(0,0,0,0.3);*/
  --color-grey-dark: #b2b2b2; /*rgba(255,255,255,0.3);*/
  --color-darkgrey: #333333; /*rgba(0,0,0,0.8);*/
  --color-overlay: rgba(0,0,0, 0.8);
}


body,
input:-webkit-autofill::first-line /* fix autofill font style */ {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 19px;
	line-height: 25px;
}

.text-XXL {
	font-size: 90px;
	line-height: 90px;
}
.text-XL {
	font-size: 55px;
	line-height: 65px;
}
h1, .text-L {
	font-size: 43px;
	line-height: 51px;
}
.text-ML {
	font-size: 35px;
	line-height: 42px;
}
h2, .text-M {
	font-size: 25px;
	line-height: 32px;
}
h3, .text-S {
	font-size: 15px;
	line-height: 19px;
}
h3 {
	text-transform: uppercase;
	letter-spacing: 0.45px;
}
small, .text-XS {
	font-size: 13px;
	line-height: 16px;
	letter-spacing: 0.45px;
}
p em {
	font-size: 50%;
	display: inline-block;
	-webkit-transform: translateY(-7px);
	transform: translateY(-7px);
}

h2, .regular {
	font-weight: normal;
}
h1, h4, h5, h6, .bold, b, strong  {
	font-weight: 600;
}
h3, .bold.text-S, strong.text-S {
	font-weight: bold;
}

address {
	font-weight: normal;
	font-style: normal;
}
em, i, .italic {
	font-style: normal;
}

.uppercase {
	text-transform: uppercase;
}

.text-grey {
	color: var(--color-grey);
}
.dark .text-grey {
	color: var(--color-grey-dark);
}



p:empty {
    display: none;
}

p {
	margin-top: 1rem;
	margin-bottom: 1rem;
}
p:first-child {
	margin-top: 0 !important;
}
p:last-child {
	margin-bottom: 0 !important;
}




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


body {
	margin: 0 auto;
	width: 100%;
}
body.header-default {
	padding-top: var(--header-height);
}
body.noscroll {
	position: fixed;
}

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



.no-select {
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


.bg-image {
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}
.bg-image.contain {
	background-size: contain;
}


.fade-in {
	-webkit-animation: fadeIn 1s ease;
	-moz-animation:    fadeIn 1s ease;
	-o-animation:      fadeIn 1s ease;
	animation:         fadeIn 1s ease;
}


@-webkit-keyframes fadeIn {
    from{opacity: 0;}
    to{opacity: 100%;}
}
@keyframes fadeIn {
    from{opacity: 0;}
    to{opacity: 100%;}
}


.main {
	position: relative;
	z-index: 1;
	background-color: #FFF;
	border-bottom: 1px solid;
	min-height: calc(100vh - var(--header-height));
	min-height: calc((var(--vh, 1vh) * 100) - var(--header-height));

	/*
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); /* fix footer sticky bug, but doesn't work with fixed elements that are necessary for all-labs */
	margin-bottom: var(--footer-height);
}
.dark .main {
	background-color: #000;
}

.logged-out .main,
.home .main,
.request-code .main,
.template-welcome .main,
.template-interests .main,
.template-video .main,
.template-invitation .main {
	border-bottom: none;
	margin-bottom: 0;
}

/* ------------------------------------------------------------------- */
/* !$ Mode private/general */
/* ------------------------------------------------------------------- */


.general {
	background-color: #fff;
	color: #000;
}

.dark {
	background-color: #000;
	color: #fff;
}
.dark #logo {
	fill: #fff;
}


/* ------------------------------------------------------------------- */
/* !$ Icons */
/* ------------------------------------------------------------------- */

.icon.plus-small {
	margin-right: calc(var(--padding)/3);
}
.icon.url {
	margin-left: calc(var(--padding)/3);
}
.icon.instruction {
	margin-left: var(--padding);
}

.icon.arrow-right {
	margin-left: calc(var(--padding)/2);
	transition: transform 0.3s ease-in-out;
}
.field.submit .icon.arrow-right,
.related-all .icon.arrow-right {
	-webkit-transform: translate(0, 10%);
	transform: translate(0, 10%);
}
.field.submit button:hover .icon.arrow-right,
.related-all:hover .icon.arrow-right {
	-webkit-transform: translate(12.5%, 10%);
	transform: translate(12.5%, 10%);
}


a:hover .icon g {
	transition: stroke 0.3s ease-in-out;
}
.dark:not(.template-welcome) a.button:hover .icon g {
	stroke: #000;
}
.general a.button:hover .icon g,
.dark .general a.register-link:hover .icon g {
	stroke: #FFF;
}





/* ------------------------------------------------------------------- */
/* !$ Header */
/* ------------------------------------------------------------------- */

.header {
    position: relative;
    z-index: 12;
}

.menu-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--color-overlay);
    height: 0;
    opacity: 0;
    cursor: pointer;
}


.header-container {
	padding: var(--padding);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
}

.header-default .header-container {
	width: 100%;
	z-index: 3;
	background-color: #FFF;
	border-bottom: 1px solid;
	height: var(--header-height);
}
.dark.header-default .header-container {
	background-color: #000;
}


.menu {

}
.menu a {
  display: inline-block;
}


.logo-container {
	display: flex;
	align-items: center;
}
.logo-container a.logo {
	line-height: 0;
}


.menu-languages {
	opacity: 0;
	pointer-events: none;
	margin-left: var(--padding);
}
.menu-languages ul {
	display: flex;
	text-transform: uppercase;
}
.menu-languages li {
	margin: 0 0.25rem;
}
.menu-languages li:first-child {
	margin-left: 0;
}
.menu-languages li:last-child {
	margin-right: 0;
}
.menu-languages a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid;
	border-radius: 100%;
}
.menu-languages a:hover {
	background-color: var(--color-lightgrey);
}
.dark .menu-languages a:hover {
	background-color: var(--color-lightgrey-dark);
}
/*
.menu-languages li.active {
	pointer-events: none;
}
*/
.menu-switch {
	position: absolute;
	left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.menu-switch a {
	line-height: 1;
}
.menu-switch ul {
	display: flex;
	border: 1px solid;
	border-radius: 2rem;
	overflow: hidden;
	background-color: #000;
	color: #FFF;
	border-color: #000;
}
.dark .menu-switch ul {
	background-color: #FFF;
	color: #000;
	border-color: #FFF;
}
.menu-switch .switch-private,
.menu-switch .switch-general {
	padding: 0.33rem;
    border-radius: 1rem;
    width: 6rem;
    text-align: center;
    transition: transform 0.3s ease-in-out;
}

.dark .switch-private {
	background-color: #000;
	color: #FFF;
}
.general .switch-general {
	background-color: #FFF;
	color: #000;
}
.dark .menu-switch:hover .switch-private {
	-webkit-transform: translateX(10%);
	transform: translateX(10%);
}
.general .menu-switch:hover .switch-general {
	-webkit-transform: translateX(-10%);
	transform: translateX(-10%);
}



.icon {
	overflow: visible;
}

.menu-main {
	position: fixed;
	width: 100%;
	top: var(--header-height);
	left: 0;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	transition: box-shadow 0.3s ease-in-out;
	max-height: calc(100vh - var(--header-height));
	max-height: calc((var(--vh, 1vh) * 100) - var(--header-height));
}
.menu-visible .menu-main {
	box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.3);
}
.menu-visible .menu-switch {
	pointer-events: none;
}
.menu-main li {
	width: 100%;
	display: inline-block;
	border-bottom: 1px solid;
	background-color: #FFF;
}
.dark .menu-main li {
	background-color: #000;
}
.menu-main li a {
	padding: calc(var(--padding)/3*2) var(--padding);
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	line-height: 1;
}

.menu-main li a[aria-current],
.menu-main li a:hover {
	background-color: var(--color-lightgrey);
}
.menu-main li a:active {
	background-color: #000;
	color: #FFF;
}
.menu-main li a:active .icon g {
	stroke: #FFF;
}
.dark .menu-main li a[aria-current],
.dark .menu-main li a:hover {
	background-color: var(--color-lightgrey-dark);
}
.dark .menu-main li a:active {
	background-color: #FFF;
	color: #000;
}
.dark .menu-main li a:active .icon g {
	stroke: #000;
}
.menu-main li ul {
	display: flex;
}
.menu-main li ul li {
	border-bottom: none;
	width: 33.33%;
}
.menu-main li ul li:first-child {
	border-right: 1px solid;
}
.menu-main li ul li:last-child {
	border-left: 1px solid;
}
/*
.menu-main li:nth-last-child(3),
.menu-main li:nth-last-child(2),
.menu-main li:last-child {
	width: 33.33%;
	border-bottom: none;
}
.menu-main li:nth-last-child(2) {
	border-left: 1px solid;
	border-right: 1px solid;
}
*/



/* ------------------------------------------------------------------- */
/* !$ Accordion */
/* ------------------------------------------------------------------- */

.accordion-item {
	position: relative;
	/* transition: all 0.3s ease-in-out; */
}
.fields-container .dropdown.accordion-item,
.faq .accordion-item:first-child {
	border-top: 1px solid;
}
.fields-container .dropdown.accordion-item,
.faq .accordion-item {
	border-bottom: 1px solid;
}
.fields-container .dropdown.accordion-item {
	margin-top: -1px;
	transition: 0.3s ease-in-out;
}
.fields-container .dropdown.accordion-item.disabled {
	border-top-color: var(--color-grey-dark);
	border-bottom-color: var(--color-grey-dark);
	z-index: -1 !important;
}
.dark .fields-container .dropdown.accordion-item.disabled {
	border-top-color: var(--color-grey);
	border-bottom-color: var(--color-grey);
	z-index: -1 !important;
}

.accordion-itemTitle {
	position: relative;
	transition: all 0.3s ease-in-out;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.my-labs .accordion-itemTitle {
	margin-bottom: var(--padding);
}
.my-labs .accordion-itemTitle .icon.plus {
	border-radius: 100%;
	transition: background-color 0.3s ease-in-out;
}
.my-labs .accordion-itemTitle:hover .icon.plus {
	background-color: var(--color-lightgrey-dark);
}
.faq .accordion-itemTitle {
	display: flex;
	justify-content: space-between;
	padding: calc(var(--padding)/2) var(--padding);
}
.dropdown .accordion-itemTitle {
	display: flex;
	justify-content: space-between;
	padding: calc(var(--padding)/3) 0;
	opacity: 1;
	pointer-events: all;
}
.dropdown.disabled .accordion-itemTitle {
	opacity: 0.3;
	pointer-events: none;
}

.accordion-itemContent {
	height: 0;
	overflow: hidden;
	pointer-events: none;
}
.faq .accordion-itemContent {
	margin: 0 var(--padding);
}
.is-active .accordion-itemContent {
	pointer-events: all;
}
.faq .is-active .accordion-itemContent {
	padding-bottom: var(--padding);
}
.dropdown .accordion-itemContent {
	position: absolute;
	width: 100%;
	z-index: 1;
}

.selected-labs {
	font-size: 0;
	margin-top: var(--padding);
}
.selected-labs li {
	display: inline-block;
	padding: calc(var(--padding)/2.5) calc(var(--padding)/2);
	background-color: #000;
	color: #FFF;
	line-height: 1;
	margin-right: calc(var(--padding)/2.5);
	margin-bottom: calc(var(--padding)/2.5);
}
.dark .selected-labs li {
	background-color: #FFF;
	color: #000;
}
.selected-labs li .btn-remove {
	cursor: pointer;
	margin-left: calc(var(--padding)/2.5);
	width: 12px;
	display: inline-block;
}
.selected-labs li .btn-remove:after {
	content: url('../static/close-small--white.svg');
}
.dark .selected-labs li .btn-remove:after {
	content: url('../static/close-small--black.svg');
}




/* ------------------------------------------------------------------- */
/* !$ Slider */
/* ------------------------------------------------------------------- */


.swiper-container {
	width: calc(100% + var(--padding));
	height: calc(66.66vw/3*2 * 0.75);
}
.swiper-wrapper {
	height: calc(100% - 20px);
}
.swiper-slide {
	height: 100%;
	width: 66.66%;
	background-color: black;
	overflow: hidden;
	display: flex;
    align-items: center;
    justify-content: center;
}
.swiper-slide.slide-portrait {
	width: 33.33%;
}
.swiper-lazy {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}
.swiper-lazy-loaded {
	opacity: 1;
}

.swiper-pagination {
	position: relative;
	text-align: left;
}
.swiper-container-horizontal > .swiper-pagination-bullets {
	bottom: 0;
}



/* ------------------------------------------------------------------- */
/* !$ Form Fields */
/* ------------------------------------------------------------------- */

form {
	margin: calc(var(--padding)*2) 0;
}
fieldset {
	margin-bottom: calc(var(--padding)*2);
}


.honeypot {
    position: absolute;
    left: -9999px;
}

.fieldset-title {
	display: flex;
	align-items: center;
	position: relative;
}
.fieldset-title span:first-child {
	white-space: nowrap;
}
.fieldset-title .icon circle,
.fieldset-title .icon line,
.fieldset-title .instruction-text {
	transition: 0.3s ease-in-out;
}
.fieldset-title .icon:hover {
	cursor: pointer;
}
.fieldset-title .icon:hover circle {
	fill: #000;
}
.fieldset-title .icon:hover line {
	stroke: #FFF;
}
.fieldset-title .instruction-text {
	font-weight: normal;
	text-transform: none;
	margin-left: calc(var(--padding)/3);
	/* white-space: nowrap; */
	opacity: 0;
	pointer-events: none;
	line-height: 1;
}
.fieldset-title .icon:hover + .instruction-text {
	opacity: 1;
}
.dark .fieldset-title .icon:hover circle {
	fill: #FFF;
}
.dark .fieldset-title .icon:hover line {
	stroke: #000;
}


.field.list .field-wrapper {
	display: flex;
	align-items: center;
	margin: calc(var(--padding)/3*2) 0;
}
.dropdown .field.list .field-wrapper {
	margin: 0;
	padding: calc(var(--padding)/3) calc(var(--padding)/2);
	border-bottom: 1px solid var(--color-grey-dark);
}
.field-group.gender .field.list {
	display: flex;
	align-items: center;
}
.field-group.gender .field.list .field-wrapper:first-child {
	margin-right: calc(var(--padding)*1.5);
}
.field-group.code {
	display: block;
}


.field-group {
	display: flex;
	align-items: flex-start;
}
.field-group .field {
	position: relative;
	width: calc(50% - 0.5rem);
}
.field-group.login .field {
	width: 50%;
	margin-top: 0;
}
.field-group.login .field:last-child {
	margin-left: -1px;
	text-align: right;
}
.field-group.name .field:first-child,
.field-group.company .field:first-child {
	margin-right: 0.5rem;
}
.field-group.name .field:last-child,
.field-group.company .field:last-child {
	margin-left: 0.5rem;
}


.field-group.login {
	width: 100%;
	margin: 0 auto;
}

.field.submit {
	text-align: center;
	margin-top: var(--padding);
}

.field-input {
	width: 100%;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid;
	outline: 0;
	background: transparent;
	transition: all 0.3s ease-in-out;
	padding-top: calc(var(--padding) / 2);
	padding-bottom: calc(var(--padding) / 2);
	text-align: left;
	line-height: 1;
	line-height: revert;
	height: 50px;
}
.field-group.name .field-input {
	border-top: 1px solid;
}
.field-group.login .field-input {
	border: 1px solid;
	padding-left: var(--padding);
	padding-right: var(--padding);
	background-color: #000;
}
.field-group.code .field-input {
	border: 1px solid;
	padding-left: var(--padding);
	padding-right: var(--padding);
}
.dark .field-input {
	border-color: #FFF !important;
	color: #FFF;
}
.dark .general .field-input {
	border-color: #000 !important;
	color: #000;
}

.field-input {
  filter: none;
}
.field-input::-webkit-input-placeholder,
.field-input:-moz-placeholder,
.field-input::-moz-placeholder,
.field-input:-ms-input-placeholder,
.field-input::placeholder {
	color: var(--color-grey);
}
.dark .field-input::-webkit-input-placeholder,
.dark .field-input:-moz-placeholder,
.dark .field-input::-moz-placeholder,
.dark .field-input:-ms-input-placeholder,
.dark .field-input::placeholder {
	color: var(--color-grey-dark);
}


.field-input:placeholder-shown ~ .field-label {
	cursor: text;
	top: calc(var(--padding) / 2 + 1px);
	font-size: 100%;
	opacity: 0;
}
.field-label  {
	position: absolute;
	display: block;
	transition: opacity 0.3s ease-in-out 0.3s;
	opacity: 0;
	pointer-events: none;
}
.field-group.login .field-label,
.field-group.code .field-label {
	padding-left: var(--padding);
	padding-right: var(--padding);
}

.field-input:required, .field-input:invalid {
	/* box-shadow: none; */
}
.field-input:focus {
	background-color: var(--color-lightgrey);
	padding-left: calc(var(--padding)/2);
	padding-right: calc(var(--padding)/2);
}
.dark .field-input:focus {
	background-color: var(--color-lightgrey-dark);
}
.dark .general .field-input:focus {
	background-color: var(--color-lightgrey);
}

.field-input:focus ~ .field-label,
input:-webkit-autofill ~ .field-label {
	display: block;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}
input:-webkit-autofill ~ .field-label {
	top: calc(var(--padding) / 2);
}

input:-webkit-autofill {
	height: 50px;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
select:-webkit-autofill,
select:-webkit-autofill:hover {
	-webkit-text-fill-color: currentColor;
	-webkit-box-shadow: none;
	-webkit-box-shadow: 0 0 0px 1000px #FFF inset;
	transition: background-color 5000s ease-in-out 0s, padding 0.3s ease-in-out;
}
.dark input:-webkit-autofill,
.dark input:-webkit-autofill:hover,
.dark textarea:-webkit-autofill,
.dark textarea:-webkit-autofill:hover,
.dark select:-webkit-autofill,
.dark select:-webkit-autofill:hover {
	-webkit-text-fill-color: #FFF;
	-webkit-box-shadow: 0 0 0px 1000px #000 inset;
}
.dark .general input:-webkit-autofill,
.dark .general input:-webkit-autofill:hover,
.dark .general textarea:-webkit-autofill,
.dark .general textarea:-webkit-autofill:hover,
.dark .general select:-webkit-autofill,
.dark .general select:-webkit-autofill:hover {
	-webkit-text-fill-color: #000;
	-webkit-box-shadow: 0 0 0px 1000px #FFF inset;
}

input:-webkit-autofill:focus,
textarea:-webkit-autofill:focus,
select:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0px 1000px var(--color-lightgrey) inset;
}
.dark input:-webkit-autofill:focus,
.dark textarea:-webkit-autofill:focus,
.dark select:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0px 1000px var(--color-lightgrey-dark) inset;
}
.dark .general input:-webkit-autofill:focus,
.dark .general textarea:-webkit-autofill:focus,
.dark .general select:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0px 1000px var(--color-lightgrey) inset;
}


.field.list label {
	white-space: nowrap;
	text-overflow: ellipsis;
    overflow: hidden;
}
.field.list label,
input[type="radio"],
input[type="checkbox"] {
	transition: background-color 0.3s ease-in-out;
}
.field.list label:hover,
input[type="radio"]:hover,
input[type="checkbox"]:hover {
	cursor: pointer;
}
input[type="radio"]:hover,
input[type="checkbox"]:hover {
	background-color: var(--color-lightgrey);
}
.dark input[type="radio"]:hover,
.dark input[type="checkbox"]:hover {
	background-color: var(--color-lightgrey-dark);
}
.dark .general input[type="radio"]:hover,
.dark .general input[type="checkbox"]:hover {
	background-color: var(--color-lightgrey);
}

input[type="radio"], input[type="checkbox"] {
	width: 1rem;
    height: 1rem;
    border: 1px solid;
    border-radius: 100%;
    position: relative;
    margin-right: 0.5rem;
    border-color: #000;
}
.dark input[type="radio"], .dark input[type="checkbox"] {
    border-color: #FFF;
}
.dark .general input[type="radio"], .dark .general input[type="checkbox"] {
    border-color: #000;
}

input[type="radio"]:checked::before, input[type="checkbox"]:checked::before {
	content: "";
	display: block;
	width: 0.5rem;
	height: 0.5rem;
	position: absolute;
    left: calc(0.25rem - 1px);
    top: calc(0.25rem - 1px);
	border-radius: 100%;
	background-color: #000;
}
.dark input[type="radio"]:checked::before, .dark input[type="checkbox"]:checked::before {
	background-color: #fff;
}
.dark .general input[type="radio"]:checked::before, .dark .general input[type="checkbox"]:checked::before {
	background-color: #000;
}

.fields-container {
	width: 100%;
}
.field.list .select-field,
.field.list .dropdown {
	width: 50%;
	vertical-align: top;
	margin-bottom: 0;
}
.field.list .select-field {
	display: inline-flex;
}
.field.list .dropdown {
	display: inline-block;
	-webkit-transform: translateY(calc(var(--padding)/3*2/2 + 1px));
	transform: translateY(calc(var(--padding)/3*2/2 + 1px));
}

.field.list .description {
  margin-left: 1.5rem;
  margin-top: calc(var(--padding)/2 * -1);
  margin-bottom: calc(var(--padding)/3*2);
}


.message h3 {
	margin-bottom: calc(var(--padding)/3*2);
}

textarea {
	border: 1px solid;
    display: block;
    width: 100%;
    min-height: 10rem;
    background: transparent;
    font-family: inherit;
    font-size: inherit;
    padding: calc(var(--padding)/2) calc(var(--padding)/1.5);
    border-radius: 0;
    -webkit-appearance: none;
}

textarea::-webkit-input-placeholder,
textarea:-moz-placeholder,
textarea::-moz-placeholder,
textarea:-ms-input-placeholder,
textarea::placeholder {
	color: var(--color-grey);
}
.dark textarea::-webkit-input-placeholder,
.dark textarea:-moz-placeholder,
.dark textarea::-moz-placeholder,
.dark textarea:-ms-input-placeholder,
.dark textarea::placeholder {
	color: var(--color-grey-dark);
}
.dark textarea {
	color: #FFF;
}
textarea:focus {
	outline: none;
	background-color: var(--color-lightgrey);
}
.dark textarea:focus {
	outline: none;
	background-color: var(--color-lightgrey-dark);
}


#popup {
	position: relative;
	z-index: 15;
}

.popup.event,
.popup.success,
.popup.form {
	position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
    background: var(--color-overlay);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.popup-wrapper {
	background-color: #FFF;
	color: #000;
	padding: var(--padding) var(--padding) calc(var(--padding)*2) var(--padding);
	width: 680px;
	max-width: calc(100% - var(--padding)*2);
	position: relative;
	box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.3);
	max-height: calc(100vh - var(--padding)*2);
	max-height: calc((var(--vh, 1vh) * 100) - var(--padding)*2);
}
.popup.form-friend .popup-wrapper {
	width: 780px;
	padding-bottom: 0;
	border: 1px solid #FFF;
}
.popup.form-code .popup-wrapper,
.popup.success-code .popup-wrapper {
	width: 450px;
}
.popup.event .popup-wrapper {
  padding: var(--padding);
}

.popup-wrapper .btn-wrapper {
	text-align: right;
	min-height: var(--padding);
}
.popup-wrapper .btn-close {
	margin-bottom: var(--padding);
	position: relative;
}
.btn-close.mobile {
	display: none;
}
.popup-wrapper .btn-submit {
	position: relative;
}
.popup-wrapper .btn-login {
	margin-top: var(--padding);
}

.alert.error-main {
	margin-bottom: calc(var(--padding)*2);
	text-align: center;
}
.form-code .alert.error-main {
	margin-bottom: 0;
	margin-top: var(--padding);
	text-align: left;
}
.form-code .alert.error-main + form {
	margin-top: var(--padding);
}

.field .alert.error {
	display: inline-block;
	margin-bottom: calc(var(--padding)/2);
}
.field-group.gender .field .alert.error {
	margin-bottom: 0;
	margin-left: calc(var(--padding)*1.5);
}


/* ------------------------------------------------------------------- */
/* !$ Footer */
/* ------------------------------------------------------------------- */

footer {
	padding: var(--padding);
	/* safari bug! with z-index
	position: -webkit-sticky;
	position: sticky;
	*/
	position: fixed;
	bottom: 0;
	width: 100%;
	height: 311px;
	height: var(--footer-height);
}
.footer-container,
.menu-social ul,
.menu-unlisted,
.menu-unlisted ul {
	display: flex;
}
.footer-container {
	justify-content: space-between;
	align-items: flex-start;
}
.footer-container:first-child {
	padding-bottom: calc(var(--padding)*4);
}
.footer-container:last-child {
	align-items: flex-end;;
}
.footer-container .block {
	display: flex;
}
.footer-container address {
	margin-right: calc(var(--padding)*1.5);
}

.menu-unlisted ul,
.footer .credits {
	color: var(--color-grey);
}
.menu-unlisted ul li:hover,
.footer .credits a:hover {
	color: #000;
}
.dark .menu-unlisted ul,
.dark .footer .credits {
	color: var(--color-grey-dark);
}
.dark .menu-unlisted ul li:hover,
.dark .footer .credits a:hover {
	color: #FFF;
}
.menu-unlisted li {
	margin-left: calc(var(--padding)/3*2);
}
.menu-social li {
	margin-left: var(--padding);
}

.menu-social svg {
	fill: #000;
	transition: fill 0.3s ease-in-out;
}
.menu-social a:hover svg {
	fill: var(--color-grey);
}
.dark .menu-social svg {
	fill: #fff;
}
.dark .menu-social a:hover svg {
	fill: var(--color-grey-dark);
}

.menu-listed li {
	margin: 0.33rem 0;
}


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

.video-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.video-container .video-wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--color-lightgrey);
}
.dark .video-container .video-wrapper {
	background-color: var(--color-lightgrey-dark);
}
.video-wrapper button.play {
	position: absolute;
	z-index: 1;
	width: 5rem;
	height: 5rem;
	top: 50%;
	left: 50%;
	color: #FFF;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
}
.video-wrapper button.play:after {
	position: absolute;
	z-index: -1;
	content: "";
	width: 5rem;
	height: 5rem;
	left: 0;
	top: 0;
	border-radius: 100%;
	background-color: #000;
	transition: transform 0.3s ease-in-out, color 0.3s ease-in-out;
}



.loading {
	color: #000 !important;
}
.loading:after {
	-webkit-animation: pulsating 1s infinite alternate ease-in-out;
	-moz-animation:    pulsating 1s infinite alternate ease-in-out;
	-o-animation:      pulsating 1s infinite alternate ease-in-out;
	animation:         pulsating 1s infinite alternate ease-in-out;
}

@-webkit-keyframes pulsating {
    from{-webkit-transform: scale(1.1);}
    to{-webkit-transform: scale(1);}
}
@keyframes pulsating {
    from{transform: scale(1.1);}
    to{transform: scale(1);}
}

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

/*
.block.image {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}
.block.image.lazy-loaded {
	opacity: 1;
}
*/


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

.home .main {
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.home .main form {
	position: absolute;
	bottom: 0;
	max-width: calc(100% - var(--padding)*2);
}

.home h1.text-XXL {
	mix-blend-mode: difference;
	text-align: center;
	padding: 0 calc(var(--padding)*4);
}
#visual {
	position: absolute;
	z-index: -1;
}

@keyframes onAutoFillStart {  from {/**/}  to {/**/}}
@keyframes onAutoFillCancel {  from {/**/}  to {/**/}}

.home .main input:-webkit-autofill {
	/* Expose a hook for JavaScript when autofill is shown */
	animation-name: onAutoFillStart;
}
.home .main input:not(:-webkit-autofill) {
    /* Expose a hook for JS onAutoFillCancel */
    animation-name: onAutoFillCancel;
}

.home .main .field.submit {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease-in-out;
}
.home .main .field.submit.is-visible {
	opacity: 1;
	pointer-events: all;
}


/* ------------------------------------------------------------------- */
/* !$ PAGE Welcome */
/* ------------------------------------------------------------------- */

.template-welcome #visual {
	opacity: 0.3;
}
.template-welcome main {
	text-align: center;
	display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    padding: var(--padding);
}
.template-welcome .flex-wrapper {
	padding: calc(var(--padding)*6) var(--padding) 0 var(--padding);
	width: 780px;
	max-width: 100%;
}

.template-welcome .text-M {
	margin: calc(var(--padding)*3) 0;
}
.select-language {
	width: 380px;
	max-width: 100%;
	margin: var(--padding) auto;
}
.select-language a {
	display: flex;
    align-items: center;
    justify-content: space-between;
	border: 1px solid;
	padding: calc(var(--padding)/2) var(--padding);
	text-align: left;
	background-color: #000;
}
.select-language a:hover {
	background-color: var(--color-lightgrey-dark)
}
.select-language a:first-child {
	margin-bottom: var(--padding);
}



/* ------------------------------------------------------------------- */
/* !$ PAGE My Labs */
/* ------------------------------------------------------------------- */

.page-title {
	margin: var(--padding) 0 calc(var(--padding)*2) 0;
}
.page-title .text-M {
	max-width: 1000px;
}
.page-title h1 {
	margin-bottom: var(--padding);
}
.template-my-labs .page-title {
	padding: var(--padding);
	min-height: calc(100vh - var(--header-height) - calc(var(--padding)*8));
	/* min-height: calc((var(--vh, 1vh) * 100) - var(--header-height) - calc(var(--padding)*8)); don't adjust on scroll */
}

.my-labs {
	border-bottom: 1px solid;
}
.my-labs .lab {
	border-top: 1px solid;
	position: relative;
}

.template-my-labs .column {
	width: 50%;
    padding: var(--padding);
}
.template-my-labs .column-left {
	border-right: 1px solid;
	margin-right: -0.5px;
	position: -webkit-sticky;
	position: sticky;
	top: var(--header-height);
	min-height: calc(100vh - var(--header-height));
	min-height: calc((var(--vh, 1vh) * 100) - var(--header-height));
}
.template-my-labs .column-right {
	border-left: 1px solid;
	margin-left: -0.5px;
}
.template-my-labs .column-bottom {
	display: none;
}

.my-labs .block.title {
	margin: var(--padding) 0 calc(var(--padding)*2) 0;
}

.section-title {
	padding: calc(var(--padding)/2) var(--padding);
}

.template-my-labs .block {
	margin: 0;
}
.template-my-labs .block.image + .block.text {
	margin-top: var(--padding);
	margin-bottom: var(--padding);
}

.block.buttons {
	width: 100%;
	text-align: right;
	margin-bottom: 0;
}
.template-my-labs .block.buttons,
.template-appointment .block.buttons {
	position: absolute;
	bottom: 0;
	left: 0;
}
.template-all-labs .block.buttons {
	position: relative;
	margin-left: calc(var(--padding) * -1);
	margin-right: calc(var(--padding) * -1);
	width: calc(100% + var(--padding)*2);
	margin-top: 0;
}
.template-all-labs .block.buttons .external-link {
	margin-right: var(--padding);
}


.my-labs .benefit {
	padding: calc(var(--padding)*2) var(--padding);
	border-bottom: 1px solid;
	margin: 0 calc(var(--padding) * -1);
}

.my-labs .external-link {
	margin-right: var(--padding);
}
.block.buttons .btn-wrapper {
	display: flex;
	margin-top: var(--padding);
}
.internal-link,
.register-link {
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-decoration: none;
	color: #FFF;
	background-color: #000;
	padding: calc(var(--padding)/2) var(--padding);
	white-space: nowrap;
	/* line-height: 1; */
}
.internal-link:hover,
.register-link:hover {
	background-color: var(--color-lightgrey-dark);
}
.dark .internal-link {
	color: #000;
	background-color: #FFF;
}
.dark .internal-link:hover {
	background-color: var(--color-lightgrey)
}
.internal-link:first-child {
	border-right: 1px solid;
	border-right-color: #FFF;
}
.dark .internal-link:first-child {
	border-right-color: #000;
}

.register-link {
  margin-left: auto;
  margin-right: 0;
  margin-top: calc(var(--padding)*2);
}


.related {
	padding: calc(var(--padding)*3) 0;
}
.related-list {
	padding: var(--padding);
	width: 50%;
	display: inline-flex;
	align-items: flex-start;
	justify-content: space-between;
	vertical-align: top;
}
.related-lab {
	width: calc(100%/3 - var(--padding)/3);
}
.related-all {
	width: 50%;
	padding: var(--padding);
	display: inline-block;
	vertical-align: top;
}


.related-lab figure {
	position: relative;
	padding-bottom: 66.66%;
	height: 0;
	overflow: hidden;
	margin-bottom: 0.5rem;
	background-color: var(--color-lightgrey-dark);
}
.related-lab figure img {
	position: absolute;
	width: 100%;
	height: 100%;
	transition: transform 0.3s ease-in-out;
}
.related-lab a:hover figure img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}


.contact-person {
	width: 50%;
}
.contact-person .image-container {
	position: relative;
	height: 0;
	padding-bottom: 133.33%;
	overflow: hidden;
	margin-bottom: calc(var(--padding)/3);
	background-color: var(--color-lightgrey);
}
.dark .contact-person .image-container {
	background-color: var(--color-lightgrey-dark);
}
.contact-person .image-container img {
	position: absolute;
}

.block.page-title + .block.contact-person {
	margin-top: calc(var(--padding)*2);
}







/* ------------------------------------------------------------------- */
/* !$ PAGE All Labs */
/* ------------------------------------------------------------------- */

.template-all-labs .main {
	display: flex;
	flex-direction: row-reverse;
}

.lab .sticky-wrapper {
	position: -webkit-sticky;
	position: sticky;
	top: calc(var(--header-height) + var(--padding));
    height: calc(100vh - var(--header-height) - var(--padding));
    height: calc((var(--vh, 1vh) * 100) - var(--header-height) - var(--padding));
    width: 0;
    z-index: 3;
}
.lab .sticky-wrapper .block.buttons {
	position: absolute;
	bottom: 0;
	width: 75vw;
}
.lab .sticky-wrapper .external-link {
	display: none;
}



.content-wrapper {
	/* transform: translateY(calc((100vh - 113px)* -1)); */
	margin-top: calc((100vh - var(--header-height))* -1 + var(--padding));
	margin-top: calc(((var(--vh, 1vh) * 100) - var(--header-height))* -1 + var(--padding));
	padding-bottom: calc(var(--padding)*2);
	min-height: calc((100vh - var(--header-height) - var(--padding)*2));
	min-height: calc(((var(--vh, 1vh) * 100) - var(--header-height) - var(--padding)*2));
}

.labs-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	width: 100%;
	height: calc(100vh - var(--header-height));
	height: calc((var(--vh, 1vh) * 100) - var(--header-height));
	background-color: #FFF;
	z-index: 7;
	overflow: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}
.labs-title li {
	width: 25%;
	height: 100%;
	position: relative;
}
.labs-title li .video-container {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #000;
	transition: transform 0.3s ease-in-out;
  will-change: transform;
}
.labs-title li .video-wrapper {
	width: 177.77vh;
	background-color: transparent;
}
.labs-title li a {
	color: #FFF;
  background: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
	cursor: pointer;
  text-align: center;
  will-change: transform;
}





.labs-list {
	position: -webkit-sticky;
	position: sticky;
	top: var(--header-height);
    height: calc(100vh - var(--header-height) + 1px);
    height: calc((var(--vh, 1vh) * 100) - var(--header-height) + 1px);
    background-color: white;
    width: 25%;
    margin-bottom: -1px;
    border-bottom: 1px solid;
}
.labs-list .accordion-itemTitle {
	display: none;
}
.labs-list .accordion-itemContent {
	height: 100%;
	overflow: inherit;
    pointer-events: all;
}
.labs-list .scroll-container {
	height: calc(100% + 1px);
}

.labs-list li {
	border-bottom: 1px solid;
}


/*
.labs-list li.bold {
	border-top: 1px solid;
}
.labs-list li.bold:first-child {
	border-top: none;
}
*/


.labs-list a {
	padding: calc(var(--padding)/2) var(--padding);
	display: inline-block;
	width: 100%;
}
.labs-list a:hover,
.labs-list li.active a {
	background-color: var(--color-lightgrey);
}
.labs-list li.dark {
	border-bottom: #000;
}
.labs-list li.dark a:hover {
	background-color: var(--color-lightgrey-dark);
}
.labs-list li.dark.active a {
	background-color: #000;
}


.labs-items {
	width: 75%;
	border-right: 1px solid;
}
.labs-items .lab {
	padding: var(--padding) var(--padding) 0 var(--padding);
	border-top: 1px solid;
	position: relative;
}
.labs-items .labs-group:first-child .lab:first-child {
	border-top: none;
}
.labs-info .lab {
	padding-top: calc(var(--padding)*2);
	padding-bottom: calc(var(--padding)*6);
}

.block {
	margin: var(--padding) 0;
}

.template-all-labs .block.title {
	margin: var(--padding) 0 calc(var(--padding)*2) 0;
}

.block.title .subtitle {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}
.block.title .subtitle h2 {
	padding-right: calc(var(--padding)/2);
}

.block.title .subtitle .external-link {
	white-space: nowrap;
}


.block.image {
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	background-color: var(--color-lightgrey);
}
.dark .block.image {
	background-color: var(--color-dark);
}
.template-my-labs .block.image {
	padding-bottom: 100%;
}
.block.image img {
	width: 100%;
	position: absolute;
}

.block.image + .block.text {
	margin-top: calc(var(--padding)*2);
	margin-bottom: calc(var(--padding)*2);
}
.block.text.column {
	display: flex;
	flex-direction: row-reverse;
}

.block.swiper-container {
	margin-top: calc(var(--padding)*4);
	margin-bottom: calc(var(--padding)*2);
}
.block.highlights {
	margin-top: calc(var(--padding)*4);
	margin-bottom: calc(var(--padding)*4);
}

.column {
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.column.notes {
	width: 33.33%;
	margin-top: 0.25rem;
	padding-right: calc(var(--padding)/2);
}
.column.notes .dot {
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background-color: #000;
	display: inline-block;
	margin-bottom: 1px;
	margin-right: 0.25rem;
}
.column.notes .text-M {
	margin-bottom: 3rem;
}
.column.description {
	width: 75%;
}

.block.highlights {
	width: 75%;
}


.template-all-labs .main .labs-list,
.template-all-labs .main .labs-items,
.template-all-labs .footer {
	display: none;
}


/* ------------------------------------------------------------------- */
/* !$ PAGE Service */
/* ------------------------------------------------------------------- */

.template-service .main .block {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0); /* fix safar sticky bug, e.g. service page */
}
.template-service .block.title {
	position: absolute;
	z-index: 3;
	padding: calc(var(--padding)*2) var(--padding);
}
.template-service .block.video-container {
	position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}
.template-service .sticky-wrapper {
	position: -webkit-sticky;
	position: sticky;
    top: var(--header-height);
    height: calc(100vh - var(--header-height));
    height: calc((var(--vh, 1vh) * 100) - var(--header-height));
    width: 25%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.template-service .contact-person {
	display: inline-block;
	vertical-align: top;
	padding: var(--padding);
	width: 100%;
}
.template-service .internal-link {
	border: none !important;
	width: 100%;
}

.contact-person figure {
	width: 160px;
}

.template-service .block {
	margin: 0;
}
.template-service .block.text {
	display: flex;
	flex-direction: row-reverse;
}
.template-service .block.text .description {
	padding: var(--padding);
	border-left: 1px solid;
	padding-top: 56.25vw;
	min-height: calc(100vh - var(--header-height) + 56.25vw);
}
.template-service .block.text .description .text-M {
	margin-top: calc(var(--padding)*2);
	max-width: 1000px;
}
.bodytext h1 {
	margin-top: calc(var(--padding)*3);
}
.bodytext {
	margin-top: calc(var(--padding)*3);
	margin-bottom: calc(var(--padding)*3);
	max-width: 1000px;
}




/* ------------------------------------------------------------------- */
/* !$ PAGE Interests + Video */
/* ------------------------------------------------------------------- */

.template-interests .main,
.template-video .main {
	position: relative;
	width: 100%;
	min-height: 100vh;
	min-height: calc(var(--vh, 1vh) * 100);
}
.template-interests .btn-exit,
.template-video .btn-exit {
	display: block;
	position: absolute;
	top: var(--padding);
	right: var(--padding);
}
.template-video .btn-exit {
	z-index: 3;
}


.template-interests .main,
.template-video .main {
	padding: var(--padding);
	display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.template-interests .main .info {
	text-align: center;
	margin-top: calc(var(--padding)*2);
}

.template-interests .flex-wrapper {
	width: calc(680px - var(--padding)*2);
	max-width: calc(100% - var(--padding)*2);
}
.template-video .flex-wrapper {
	width: 66.66%;
}

.template-interests form {
	margin-bottom: 0;
}
.template-video form {
	position: absolute;
	bottom: var(--padding);
	right: var(--padding);
	margin: 0;
}

/*
.template-interests fieldset:last-of-type {
	margin-bottom: calc(var(--padding)*4);
}
*/





/* ------------------------------------------------------------------- */
/* !$ PAGE Request Code */
/* ------------------------------------------------------------------- */

.popup.form-code form {
	margin-bottom: 0;
}
.popup.form-code .field-group .field {
	width: 100%;
}

.template-request-code .main,
.template-invitation .main {
	min-height: auto;
}
.btn-return {
	display: inline-flex;
    align-items: center;
	margin: calc(var(--padding)/2) var(--padding);
}
.btn-return .icon.arrow-next {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	margin-right: calc(var(--padding)/2);
}

.field.captcha {
	margin-top: var(--padding);
}
.field.captcha .field-input {
	width: calc(100% - 130px);
	margin-left: 130px;
}
#captchaimage {
	position: absolute;
	width: auto;
	height: 50px;
	left: 0;
	top: 0;
	border: 1px solid;
}


/* ------------------------------------------------------------------- */
/* !$ PAGE Invite a Friend */
/* ------------------------------------------------------------------- */

.template-invitation {
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
}

.popup.form-friend .field.submit {
	background-color: #000;
	color: #FFF;
	padding: calc(var(--padding)/3);
}
.popup.form-friend form {
	margin: 0;
	padding: 0 var(--padding);
}
.popup.form-friend .field.submit {
	margin-left: calc(-1 * var(--padding)*2);
	margin-right: calc(-1 * var(--padding)*2);
}
.popup.form-friend .info {
	padding: calc(var(--padding)/3) var(--padding) calc(var(--padding)*2) var(--padding);
}


#popup-container,
#event-container {
	position: fixed;
  z-index: 15;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: none;
	flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
}
#popup-container.is-visible,
#event-container.is-visible {
	display: flex;
	opacity: 1;
}

#event-notification {
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 9;
  display: flex;
  -webkit-transform: translate(250px, -50%);
  transform: translate(250px, -50%);
}
/* .admin.template-all-labs #event-notification,
.user.template-all-labs #event-notification,
.friend.template-my-labs #event-notification {
  display: none;
} */

#event-notification .notification-wrapper {
  width: 250px;
  padding: calc(var(--padding)/3*2);
  z-index: 2;
  transition: 0.3s ease-in-out;
}
#event-notification .btn-hide {
  text-align: right;
  cursor: pointer;
}
#event-notification .btn-hide .icon g {
  stroke-width: 2px;
}
#event-notification .dark .btn-hide .icon g {
  stroke: #FFF;
}
#event-notification .register-external-link {
  margin: calc(var(--padding)/3*2) 0 calc(var(--padding)/3) 0;
  display: inline-block;
}
#event-notification .btn-notification {
  writing-mode: vertical-lr;
  text-align: center;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  padding: calc(var(--padding)/3*2);
  cursor: pointer;
  z-index: 1;
  transition: 0.3s ease-in-out;
}



/* ------------------------------------------------------------------- */
/* !$ PAGE FAQ + Appointment */
/* ------------------------------------------------------------------- */

.template-faq .column,
.template-appointment .column {
	width: calc(50% + 0.5px);
	padding: var(--padding);
	min-height: calc(100vh - var(--header-height));
}

.template-faq .column-left,
.template-appointment .column-left {
	border-right: 1px solid;
	margin-right: -0.5px;
	position: -webkit-sticky;
	position: sticky;
	top: var(--header-height);
}
.template-faq .column-right,
.template-appointment .column-right {
	border-left: 1px solid;
	margin-left: -0.5px;
}
.template-appointment .column-right {
	padding: 0;
}

ul.faq {
	margin: var(--padding) calc(var(--padding)*-1);
}
.template-faq .column-right h1 {
	margin-top: calc(var(--padding)*3);
}
.template-faq .column-right h1:first-child {
	margin-top: calc(var(--padding)*1.5);
}


.template-appointment .main form {
	margin: 0;
	height: calc(100vh - var(--header-height));
	height: calc((var(--vh, 1vh) * 100) - var(--header-height));
}
.template-appointment .main form h1 {
	text-align: right;
	margin-bottom: calc(var(--padding)*2);
	margin-top: var(--padding);
}
.template-appointment .form-part {
	height: calc(100vh - var(--header-height));
	height: calc((var(--vh, 1vh) * 100) - var(--header-height));
	padding: var(--padding);
	padding-bottom: calc(var(--padding)*3);
	display: none;
}
.template-appointment .form-part.is-visible {
	display: block;
}

.template-appointment .block.buttons .btn-wrapper {
	background-color: #000;
	justify-content: flex-end;
}
.block.buttons .internal-link.back-link {
	justify-content: flex-start;
}
.block.buttons .internal-link.back-link .icon.arrow-next {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	margin-right: calc(var(--padding)/2);
}
.block.buttons .internal-link.next-link {
	justify-content: flex-end;
}
.block.buttons .internal-link.next-link .icon.arrow-next {
	margin-left: calc(var(--padding)/2);
}

.template-appointment .block.buttons .internal-link.next-link {
	width: 100%;
}
.template-appointment .block.buttons .internal-link.back-link {
	display: none;
}


.template-appointment .flex-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: calc(100% - 65px - var(--padding)*3);
}
.template-appointment .main .field.submit {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
	z-index: 1;
}
.field.submit .internal-link {
	width: 100%;
	border-right: none;
	justify-content: flex-end;
}
.field.submit .internal-link .icon.arrow-next {
	margin-left: calc(var(--padding)/2);
}

/* ------------------------------------------------------------------- */
/* !$ Default */
/* ------------------------------------------------------------------- */

.template-default .main {
	padding: var(--padding);
}


/* ------------------------------------------------------------------- */
/* !$ Error */
/* ------------------------------------------------------------------- */

.template-error .main {
	padding: var(--padding);
}

.template-error .block.buttons {
    position: absolute;
    bottom: 0;
    left: 0;
}
.template-error .internal-link {
	width: 100%;
	border-right: 0;
}



/* ------------------------------------------------------------------- */
/* !$ Generate Codes */
/* ------------------------------------------------------------------- */

.template-generate-codes .main {
	padding: var(--padding);
}
.template-generate-codes .column.description {
	width: 100%;
}
.codes-list {
	margin: calc(var(--padding)*4) 0;
	border-bottom: 1px solid;
}
.codes-list li {
	border-top: 1px solid;
	padding: calc(var(--padding)/2) 0;
	display: flex;
	justify-content: space-between;
}


/* ------------------------------------------------------------------- */
/* !$ Generate User Data */
/* ------------------------------------------------------------------- */

.template-generate-userdata .page-title {
	padding: var(--padding);
}
.template-generate-userdata .column.description {
	width: 100%;
}

.template-generate-userdata .section-title {
	position: -webkit-sticky;
	position: sticky;
	top: var(--header-height);
	background-color: #000;
	border-bottom: 1px solid;
	margin-top: calc(var(--padding)*4);
}
.log-data {
	margin-bottom: -1px;
}
.user-name {
	margin-bottom: var(--padding);
}
.user-data {
	padding: var(--padding);
	border-bottom: 1px solid;
}

.data-list li {
	width: 20%;
	margin-bottom: calc(var(--padding)/2);
	display: inline-block;
	vertical-align: top;
	padding-right: calc(var(--padding)/4)
}
.data-note {
	margin-top: calc(var(--padding)/2);
}
.data-note p {
	margin-top: 0;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* !$ ~~~~~~~~~~ Media Queries */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

@media screen and (max-device-width: 736px){
	body{
		-webkit-text-size-adjust: none;
	}
}





/* ------------------------------------------------------------------- */
/* !$ screen < 1080px */
/* ------------------------------------------------------------------- */
@media all and (max-width: 1080px) {


/* menu items 100% width */
.menu-main li ul {
	display: block;
}
.menu-main li ul li {
	width: 100%;
}
.menu-main li ul li:first-child {
	border-right: none;
}
.menu-main li ul li {
	border-bottom: 1px solid
}
.menu-main li ul li:last-child {
	border-bottom: none;
	border-left: none;
}

/* buttons in two rows */
.block.buttons .btn-wrapper {
	display: block;
}
.template-appointment .block.buttons .btn-wrapper {
	display: flex;
}
.block.buttons .internal-link:not(.back-link):not(.next-link) {
	width: 100%;
}
.block.buttons .internal-link:not(.back-link):not(.next-link):first-child {
	border-right: none;
    border-bottom: 1px solid;;
    border-bottom-color: #FFF;
}
.dark .block.buttons .internal-link:not(.back-link):not(.next-link):first-child {
	border-bottom-color: #000;
}

.content-wrapper {
    padding-bottom: calc(var(--padding)*4);
}


/* width of columns 25% -> 33.33% */
.labs-list,
.template-service .sticky-wrapper {
	width: 33.33%;
}

.labs-items,
.column.description,
.block.highlights {
	width: 66.66%;
}
.lab .sticky-wrapper .block.buttons {
	width: 66.66vw;
}
.swiper-container {
    height: calc(66.66vw/3*2 * 0.66);
}


}


/* ------------------------------------------------------------------- */
/* !$ screen < 900px */
/* ------------------------------------------------------------------- */

@media all and (max-width: 900px) {


/* remove sticky settings */
.template-my-labs .column-left,
.template-faq .column-left,
.template-appointment .column-left,
.template-service .sticky-wrapper {
	position: relative;
	top: 0;
}
.content-wrapper {
	margin-top: 0;
	padding-bottom: calc(var(--padding)*10);
}
.lab .sticky-wrapper {
	position: absolute;
	bottom: 0;
    left: 0;
	top: auto;
	width: 100%;
	height: auto;
}
.content-wrapper {
	min-height: auto;
}
.lab .sticky-wrapper .block.buttons {
	width: 100%;
	padding: var(--padding);
    margin-left: 0;
    margin-right: 0;
}

.template-my-labs .page-title {
	min-height: calc(75vh - var(--header-height) - calc(var(--padding)*8));
}

/* one column  */
.column {
	display: block;
}
.template-my-labs .column,
.template-faq .column,
.template-appointment .column {
	width: 100%;
}
.template-my-labs .column-left,
.template-faq .column-left, .template-appointment .column-left {
	border-right: none;
	margin-right: 0;
	min-height: auto;
}
.template-my-labs .column-right,
.template-faq .column-right, .template-appointment .column-right {
    border-left: none;
    margin-left: 0;
}
.template-my-labs .column-right {
	padding-top: 0;
}
.template-faq .column-right, .template-appointment .column-right {
    border-top: 1px solid;
	padding-top: calc(var(--padding)*2);
	padding-bottom: calc(var(--padding)*2);
}
.template-my-labs .block.image + .block.text {
	margin-top: 0;
	margin-bottom: 0;
}
.my-labs .benefit {
	border-bottom: none;
}
.template-my-labs .block.buttons, .template-appointment .block.buttons {
	position: relative;
}
.related-list {
	width: 100%;
	scroll-snap-type: x mandatory;
	scroll-padding-left: var(--padding);
	scroll-padding-right: var(--padding);
}
.related-lab {
	min-width: 40%;
	scroll-snap-align: start;
	width: calc(100%/3 - var(--padding)/3);
	margin-right: calc(var(--padding)/3);
}
.related-lab:last-child::after {
	content: "";
	width: 100vw;
	display: inline-block;
}
.related-all {
	width: auto;
}

.template-appointment .main form h1 {
	display: none;
}
.template-appointment .main form {
	height: auto;
}
.template-appointment .form-part {
	display: block !important;
	height: auto;
	padding-bottom: 0;
	padding-top: 0;
}
.template-appointment .main .field.submit {
	position: relative;
	width: 100%;
}
.template-appointment .main form .block.buttons {
	display: none;
}
.field.submit .internal-link {
	justify-content: space-between;
}
.template-faq .column-right h1:first-child {
	margin-top: 0;
}

.template-all-labs .main {
	display: block;
}
.template-all-labs .labs-items {
	padding-top: 50px;
}
.labs-items {
	width: 100%;
	border-right: none;
}
.swiper-container {
    height: calc(66.66vw/3*2 * 1);
}
.labs-list {
	position: fixed;
    width: 100%;
    z-index: 6;
    height: auto;
    border-bottom: none;
}
.labs-list.dropdown .accordion-itemTitle {
	display: flex;
	padding: calc(var(--padding)/2) var(--padding);
}
.labs-list.dropdown .accordion-itemContent {
	height: 0;
	background-color: #FFF;
}
.labs-list.dropdown .scroll-container {
	height: 100%;
	max-height: calc(100vh - var(--header-height) - 48px);
	max-height: calc((var(--vh, 1vh) * 100) - var(--header-height) - 48px);
}
.labs-group .video-container {
	margin-left: calc(var(--padding) * -1);
	margin-right: calc(var(--padding) * -1);
	padding-bottom: calc(56.25% + var(--padding)*2*0.5625);
}

.labs-list.dropdown li.dark:first-child {
	border-top: 1px solid #FFF;
}


.template-service .block.title {
	position: relative;
}
.template-service .block.video-container {
	position: relative;
	top: 0;
}
.template-service .sticky-wrapper {
	width: 100%;
	height: auto;
}
.template-service .block.text {
	display: block;
}
.template-service .block.text .description {
	padding-top: var(--padding);
	border-left: none;
	border-bottom: 1px solid;
	width: 100%;
	min-height: auto;
}
.template-service .block.text .description .text-M {
	margin-top: 0;
}
.template-service .block.buttons {
	padding: 0 var(--padding) var(--padding) var(--padding);
}


/* swipe labs title */
.labs-title {
  flex-direction: column;
}
.labs-title li {
	width: 100%;
  height: 25%;
}
.labs-title li .video-wrapper {
  width: inherit;
  height: 56.25vw;
}

/* hide sticky buttons, show others */
.template-my-labs .column-left .block.buttons {
	display: none;
}
.template-my-labs .column-bottom {
	display: block;
}
.block.buttons {
	text-align: left;
}
.block.buttons .internal-link:first-child {
	margin-bottom: calc(var(--padding)/2);
}
.template-all-labs .subtitle .external-link {
	display: none;
}
.template-all-labs .block.buttons .external-link {
	display: inline-block;
}

/* video width */
.template-video .flex-wrapper {
    width: 100%;
}


/* footer unlisted menu */
footer {
	height: 287px;
	height: var(--footer-height);
}

.menu-unlisted {
	display: block;
}
.menu-unlisted li {
	margin-left: 0;
	margin-right: calc(var(--padding)/3*2);
	margin-top: calc(var(--padding)/3);
}
.footer-container:first-child {
	padding-bottom: calc(var(--padding)*2);
}


.template-error .block.buttons {
	width: calc(100% - var(--padding)*2);
	left: var(--padding);
	bottom: var(--padding);
}
.template-error .block.buttons .internal-link:first-child {
	margin-bottom: 0;
}


}


/* ------------------------------------------------------------------- */
/* !$ screen < 720px */
/* ------------------------------------------------------------------- */

@media all and (max-width: 720px) {


:root {
  --header-height: 75px;
  --padding: 1rem;
}

#logo {
	width: 97.8px;
	height: 42px;
}

.menu-languages a {
	width: 2rem;
	height: 2rem;
}

body,
input:-webkit-autofill::first-line /* fix autofill font style */ {
	font-size: 17px;
	line-height: 22px;
}


.text-XXL {
	font-size: 60px;
	line-height: 55px;
}
.labs-title .text-XL {
	font-size: 45px;
	line-height: 50px;
}
.text-XL,
h1, .text-L {
	font-size: 33px;
	line-height: 36px;
}
.text-L.benefit, .text-L.menu-main {
	font-size: 25px;
	line-height: 30px;
}
.text-ML,
h2, .text-M {
	font-size: 19px;
	line-height: 24px;
}
h3, .text-S {
	font-size: 14px;
	line-height: 17px;
}
/*
small, .text-XS {
	font-size: 13px;
	line-height: 16px;
}
*/

/* height of fields: padding 1.5 instad of 2 */
.internal-link,
.register-link,
.dropdown .accordion-itemTitle,
.labs-list.dropdown .accordion-itemTitle,
.labs-list a,
.faq .accordion-itemTitle,
.field-input,
textarea {
	padding-top: calc(var(--padding) / 1.5);
    padding-bottom: calc(var(--padding) / 1.5);
}
.btn-return {
	margin-top: calc(var(--padding) / 1.5);
  margin-bottom: calc(var(--padding) / 1.5);
}

.field-input {
	height: 45px;
}
input:-webkit-autofill {
	height: 45px;
}
/* height input field captcha */
#captchaimage {
	height: 45px;
}
.field.captcha .field-input {
    width: calc(100% - 116px);
    margin-left: 116px;
    height: 45px;
}


.menu-switch .switch-private, .menu-switch .switch-general {
	width: 5rem;
}

.icon.link g,
.icon.link-close g,
.icon.plus-big g,
.icon.arrow-right g  {
	width: 24px;
	stroke-width: 2px;
}
.icon.link,
.icon.link-close,
.icon.plus-big,
.icon.arrow-next,
.icon.arrow-right  {
	width: 24px;
	stroke-width: 2px;
}
.icon.link-close,
.icon.plus-big {
	height: 24px;
}
.icon.arrow-right {
	height: 25px;
}



.popup-wrapper {
    max-height: calc(100vh - var(--padding)*3 - var(--padding));
    max-height: calc((var(--vh, 1vh) * 100) - var(--padding)*3 - var(--padding));
    margin-top: calc(var(--padding) + var(--padding));
}
.btn-close.mobile {
	display: block;
	position: absolute;
	top: var(--padding);
	right: var(--padding);
	cursor: pointer;
}
.btn-close.desktop {
	display: none;
}

.template-all-labs .labs-items {
	padding-top: 45px;
}

/* all-labs one column text */
.block.text.column {
	display: block;
}

.column.description {
	width: 100%;
}
.column.notes {
    width: 100%;
    margin-top: calc(var(--padding)*2);
    padding-right: 0;
}
.block.highlights {
	width: 100%;
}

.template-welcome .flex-wrapper {
	padding-top: 0;
}

.labs-list.dropdown .scroll-container {
	max-height: calc(100vh - var(--header-height) - 42px);
	max-height: calc((var(--vh, 1vh) * 100) - var(--header-height) - 42px);
}

.credits {
	display: none;
}


.swiper-container {
	height: calc((100vw - var(--padding)*2)/16*9 - 20px);
}
.swiper-slide {
	width: 85%;
}
.swiper-slide.slide-portrait {
	width: 42.5%;
}



/* field list 100% width */

.field.list .select-field,
.field.list .dropdown {
	width: 100%;
}
.fields-container .dropdown.accordion-item {
	margin-bottom: calc(var(--padding)/1.5)
}
.fields-container .dropdown.accordion-item.disabled {
	display: none;
}

.dropdown .field.list .field-wrapper {
	padding: calc(var(--padding)/1.5) var(--padding);
}




footer {
	height: 240px;
	height: var(--footer-height);
}


}

/* ------------------------------------------------------------------- */
/* !$ screen < 600px */
/* ------------------------------------------------------------------- */

@media all and (max-width: 600px) {

.template-welcome .text-XXL {
	font-size: 53px;
	line-height: 58px;
}
.labs-title .text-XL {
	font-size: 40px;
	line-height: 45px;
}
h3, .text-S {
	font-size: 13px;
	line-height: 16px;
}

/* fields 100% width */

.field-group {
	display: block;
}
.field-group .field,
.field-group.login .field {
	width: 100%;
}
.field-group.name .field:last-child .field-input {
	border-top: none;
}
.field-group.login .field:last-child {
	margin-left: 0;
	text-align: left;
	margin-top: calc(var(--padding)/2)
}
.field-group.name .field:first-child, .field-group.company .field:first-child {
	margin-right: 0;
}
.field-group.name .field:last-child, .field-group.company .field:last-child {
	margin-left: 0;
}

.register-link {
  width: 100%;
}


footer {
	height: 275px;
	height: var(--footer-height);
}

.footer-container:first-child {
	display: block;
    padding-bottom: 0;
}
.footer-container .block:first-child {
	display: block;
}
.footer-container .block address,
.footer-container .block nav {
	display: inline-block;
	vertical-align: top;
	padding-bottom: var(--padding);
}
.menu-social {
	margin-top: var(--padding);
}
.menu-social li {
    margin-left: 0;
    margin-right: var(--padding);
}

.menu-unlisted ul {
	display: block;
}
.menu-unlisted li {
	display: inline-block;

}

.data-list li {
	width: 33.33%;
}

}


/* ------------------------------------------------------------------- */
/* !$ screen < 400px */
/* ------------------------------------------------------------------- */

@media all and (max-width: 400px) {


.template-welcome .text-XXL  {
	font-size: 40px;
	line-height: 45px;
}

:root {
  --header-height: 68px;
}


#logo {
	width: 81.5px;
	height: 35px;
}

.menu-switch .switch-private, .menu-switch .switch-general {
	width: 4.25rem;
}


.data-list li {
	width: 50%;
}


}


/* ------------------------------------------------------------------- */
/* !$ screen < 360px */
/* ------------------------------------------------------------------- */

@media all and (max-width: 360px) {


:root {
  --header-height: 63px;
}

#logo {
	width: 70px;
	height: 30px;
}

.menu-switch .switch-private, .menu-switch .switch-general {
	width: 4rem;
}

}



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* !$ ~~~~~~~~~~ Hover */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

@media (hover: hover) {



.video-wrapper button.play:hover:after {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}


.labs-title li a:hover {
  background: rgba(0,0,0,0);
}


}


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

}
