@charset "UTF-8";
/* CSS Document */

	/*				*/
	/* FORM			*/
	/*				*/
	
	
	.form {}
	.form .form-group {}
	.form .form-elements { margin: 0; padding: 0; font-size: 0; line-height: 0;  }
	.form .form-elements .form-element,
	.form .form-elements .form-spacer                    { width:100%; min-height: 30px; display: inline-block; vertical-align: bottom; }
	.form .form-elements .form-element[data-size="79"]   { width: 79%; }
	.form .form-elements .form-element[data-size="78"]   { width: 78%; }
	.form .form-elements .form-element[data-size="77"]   { width: 77%; }
	.form .form-elements .form-element[data-size="76"]   { width: 76%; }
	.form .form-elements .form-element[data-size="75"]   { width: 75%; }
	.form .form-elements .form-element[data-size="74"]   { width: 74%; }
	.form .form-elements .form-element[data-size="73"]   { width: 73%; }
	.form .form-elements .form-element[data-size="72"]   { width: 72%; }
	.form .form-elements .form-element[data-size="71"]   { width: 71%; }
	.form .form-elements .form-element[data-size="70"]   { width: 70%; }
	.form .form-elements .form-element[data-size="69"]   { width: 69%; }
	.form .form-elements .form-element[data-size="68"]   { width: 68%; }
	.form .form-elements .form-element[data-size="67"]   { width: 67%; }
	.form .form-elements .form-element[data-size="66"]   { width: 66%; }
	.form .form-elements .form-element[data-size="65"]   { width: 65%; }
	.form .form-elements .form-element[data-size="64"]   { width: 64%; }
	.form .form-elements .form-element[data-size="63"]   { width: 63%; }
	.form .form-elements .form-element[data-size="62"]   { width: 62%; }
	.form .form-elements .form-element[data-size="61"]   { width: 61%; }
	.form .form-elements .form-element[data-size="60"]   { width: 60%; }
	.form .form-elements .form-element[data-size="59"]   { width: 59%; }
	.form .form-elements .form-element[data-size="58"]   { width: 58%; }
	.form .form-elements .form-element[data-size="57"]   { width: 57%; }
	.form .form-elements .form-element[data-size="56"]   { width: 56%; }
	.form .form-elements .form-element[data-size="55"]   { width: 55%; }
	.form .form-elements .form-element[data-size="54"]   { width: 54%; }
	.form .form-elements .form-element[data-size="53"]   { width: 53%; }
	.form .form-elements .form-element[data-size="52"]   { width: 52%; }
	.form .form-elements .form-element[data-size="51"]   { width: 51%; }
	.form .form-elements .form-element[data-size="50"]   { width: 50%; }
	.form .form-elements .form-element[data-size="49"]   { width: 49%; }
	.form .form-elements .form-element[data-size="48"]   { width: 48%; }
	.form .form-elements .form-element[data-size="47"]   { width: 47%; }
	.form .form-elements .form-element[data-size="46"]   { width: 46%; }
	.form .form-elements .form-element[data-size="45"]   { width: 45%; }
	.form .form-elements .form-element[data-size="44"]   { width: 44%; }
	.form .form-elements .form-element[data-size="43"]   { width: 43%; }
	.form .form-elements .form-element[data-size="42"]   { width: 42%; }
	.form .form-elements .form-element[data-size="41"]   { width: 41%; }
	.form .form-elements .form-element[data-size="40"]   { width: 40%; }
	.form .form-elements .form-element[data-size="39"]   { width: 39%; }
	.form .form-elements .form-element[data-size="38"]   { width: 38%; }
	.form .form-elements .form-element[data-size="37"]   { width: 37%; }
	.form .form-elements .form-element[data-size="36"]   { width: 36%; }
	.form .form-elements .form-element[data-size="35"]   { width: 35%; }
	.form .form-elements .form-element[data-size="34"]   { width: 34%; }
	.form .form-elements .form-element[data-size="33"]   { width: 33%; }
	.form .form-elements .form-element[data-size="32"]   { width: 32%; }
	.form .form-elements .form-element[data-size="31"]   { width: 31%; }
	.form .form-elements .form-element[data-size="30"]   { width: 30%; }
	
	.form .form-elements .form-spacer[data-size="5"]     { width:  5%; }
	.form .form-elements .form-spacer[data-size="4"]     { width:  4%; }
	.form .form-elements .form-spacer[data-size="3"]     { width:  3%; }
	.form .form-elements .form-spacer[data-size="2"]     { width:  2%; }
	.form .form-elements .form-element .form-label       {
		display: block;
		font-family: Prata;
		font-size: 1.1rem;
		line-height: 1.2;
		margin:15px 0 5px 0;
		color: #4e7191;
	}
	.form .form-elements .form-element .form-allowed-filetypes {
		display: block;
		position: relative;
		transform: translate(0px,calc(-100% - 36px));
		font-family: NunitoSans;
		font-size: 0.8rem;
		line-height: 1;
		height: 26px;
		margin-bottom: -26px;
		float:right;
		pointer-events: none;
		opacity: .5;
	}
	.form .form-elements .form-element i.form-uploading-file {
		display: block;
		position: relative;
		z-index: 2;
		transform: translate(-10px,calc(-100% - 10px));
		font-size:   26px;
		line-height: 26px;
		width:       26px;
		height:      26px;
		margin-bottom: -26px;
		float:right;
		pointer-events: none;
	}
	.multiple-templates[data-template="form"] .template-item[data-label="form"] .form .form-elements .form-element i.form-uploading-file:before {
		position: relative;
		width: inherit;
		height: inherit;
		content:"\e962";
		animation: rotate 0.5s infinite linear;
	}
	.multiple-templates[data-template="form"] .template-item[data-label="form"] .form[data-uploading="0"] .form-elements .form-element i.form-uploading-file:before { display: none; }
	.multiple-templates[data-template="form"] .template-item[data-label="form"] .form[data-uploading="1"] .form-elements .form-element i.form-uploading-file:before { display: block; }
	@keyframes rotate {
		0% { transform: rotate(0deg); }
	  100% { transform: rotate(360deg); }
	}
	
	.form .form-elements .form-element .form-value       {
		display: block;
		width: calc(100% - 0px);
	}
	.form .form-elements .form-element .form-value input[type="text"],
	.form .form-elements .form-element .form-value input[type="email"],
	.form .form-elements .form-element .form-value input[type="tel"],
	.form .form-elements .form-element .form-value textarea,
	.form .form-elements .form-element .form-value select {
		width: calc(100% - 32px);
		border-radius: 5px;
		outline:none;
		font-family:  NunitoSans;
		font-weight: 300;
		font-size: 1.4rem;
		line-height: 1.0;
		background-color: rgba(255,255,255,0.70);
		border: 1px solid var(--steel_light);
		color: #333333;
	}
	.form .form-elements .form-element .form-value input::placeholder,
	.form .form-elements .form-element .form-value textarea::placeholder {
		position: relative;
		bottom: -5px;
		font-size: 0.9rem;
		line-height: 1;
		letter-spacing: 0.5px;
		color: #999;
	}
	.form .form-elements .form-element .form-value input:focus::placeholder,
	.form .form-elements .form-element .form-value textarea:focus::placeholder {
		opacity: 0;
	}
	
	.form .form-elements .form-element .form-value select:invalid {
		font-size: 1.1rem;
		line-height: 25px;
		color: #999;
	}
	.form .form-elements .form-element .form-value select ~ svg.dropdown-trigger {
		position: relative;
		float: right;
		width:       20px;
		height:      20px;
		margin: 0 0 -20px 0;
		transform:translate(-5px,calc(-100% - 10px));
		fill:#4e7191;
		pointer-events: none;
		opacity: 0.5;
	}
	.form .form-elements .form-element .form-value select:hover ~ svg.dropdown-trigger { opacity: 1; }
	.form .form-elements .form-element .form-value input    { padding: 8px 15px; height: 25px;}
	.form .form-elements .form-element .form-value textarea { padding: 8px 15px; }
	.form .form-elements .form-element .form-value select   { padding: 8px 15px; height: 38px;}
	.form .form-elements .form-element[data-type="text1row"] .form-value input { height: auto; }
	.form .form-elements .form-element[data-type="text3rows"] .form-value textarea { height: 70px; resize: none; }
	.form .form-elements .form-element[data-type="select"] .form-value select { width: 100%; appearance:none; height: 45px; }
	.form .form-elements .form-element[data-type="checkbox"] .form-value input { height: auto; }
	.form .form-group .cta-button-container { margin-top: 20px; }
	.form .form-group .form-element[data-mandatory="1"] .form-label:after { content:"*"; color: #BF0000; }
	.form .form-group .form-element[data-mandatory="1"] .form-label:empty { visibility: hidden; }
	
	.form .form-elements .form-element[data-type="checkbox"] .form-value {
		text-align: left;
		height: 60px;
	}
	.form .form-elements .form-element[data-type="checkbox"] .form-value label {
		text-align: left;
		height: inherit;
		display: block;
	}
	.form .form-elements .form-element[data-type="checkbox"] .form-value input {
		position: absolute;
		opacity: 0;
	}
	.form .form-elements .form-element[data-type="checkbox"] .form-value i {
		display: block;
		position: relative;
		width:       30px;
		height:      30px;
		margin: 0 0 -32px 0;
		border: 1px solid var(--steel_light);
		border-radius: 3px;
		font-size: 25px;
		line-height: 30px;
		text-align:center;
		color: white;
		top: 50%;
		transform: translateY(-50%);
	} 
	.form .form-elements .form-element[data-type="checkbox"] .form-value i:before { content:"\E93D"; }
	.form .form-elements .form-element[data-type="checkbox"] .form-value input:checked ~ i {
		border: 1px solid var(--steel);
		background-color: var(--steel);
		background-size: 15px;
	}
	
	.form .form-elements .form-element[data-type="checkbox"] .form-value em {
		display: block;
		position: relative;
		top: 50%;
		transform:translateY(-50%);
		margin: 0 0 0 40px;
		outline:none;
		font-family:  NunitoSans;
		font-weight: 300;
		font-size: 1.3rem;
		line-height: 1.2;
		color: #333333;
	} 

	.form-gap {
		display: inline-block;
		vertical-align: top;
		height: 30px;
	}
	.form-gap[data-size="5"] {
		width: 5%;
	}
	
	.form-group .form-footnote {
		margin-top: 10px;
		font-style: italic;
		color: #4e7191;
	}

	/* states */

	
	/* warnings */
	
	.form-element                   .form-warning {
		font-size: 1.2rem;
		line-height: 1.2;
		position: absolute;
		z-index: 999;
		background-color: #BF0000;
		color: white;
		padding: 5px 10px;
		transform: translateY(calc(-100% - 5px));
		border-radius: 5px;
		pointer-events: none;
		opacity: 1;
		transition:opacity 0.5s ease 0s;
	}
	.form-element                   .form-warning:empty { display: none; }
	.form-element                   .form-warning:after {
		top: 100%;
		left: 15px;
		border: solid transparent;
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(191,0,0,0.00);
		border-top-color: #BF0000;
		border-width: 5px;
		margin-left: -5px;
	}
	.form-element                   .form-warning { display: none; }
	.form-element[data-warning="1"] .form-warning { display: block; }
	.form-element[data-warning="1"] .form-warning.hide-after-delay { opacity:0; }

	@media screen and (max-width: 579px) {
		section[data-label="registration-form"] p.title {
			font-size: 3.3rem;
			line-height: 1.2;
			text-align: center;
		}
		section[data-label="registration-form"] .mirror { width: calc(100% - 25px); }
		section[data-label="registration-form"] {
			position: static;
			margin-left: 12px;
			transform:translate(0,0);
			width:     calc(100vw - 25px);
			max-width: calc(100vw - 25px);
			max-height: 100000px;
			height: auto;
			overflow: visible;
		}
	            
	}
	.reply-message {
		background-color: #52B1B1;
		padding: 15px 10px 25px 10px; 
		border-radius: 5px;
	}
	.reply-message .icon {
		display: block;
		position: relative;
		left: 50%;
		transform:translateX(-50%);
		width:         52px;
		height:        52px;
		border-radius: 52px;
		background-color: white;
		margin-bottom: 10px;
	}
	.reply-message .icon svg {
		position: relative;
		left: 50%;
		top: 50%;
		transform:translate(-50%,-50%);
		width:  40px;
		height: 40px;
		fill:#52B1B1;
	}
	.reply-message p {
		font-size: 1.5rem;
		line-height: 1.4;
		font-weight: 300;
		text-align: center;
		color: white;
	}
	.reply-message p.thank-you {
		font-size: 1.8rem;
		font-weight: 400;
		margin-bottom: 10px;
	}
	/* states */
	
	                                                    .reply-message { display:none; }
	html[data-door_opened="1"]                          .reply-message { display:none; }
	html[data-door_opened="1"][data-form_submitted="1"] .reply-message { display:block; }
	html[data-form_submitted="1"] { pointer-events: none; }
	section[data-label="registration-form"] iframe { display: none!important; }

	/* CTA button */
	
	.cta-button-container {
		z-index: 999;
		display: block;
		opacity: 1;
		will-change: transform;
		/* margin-top: -160px; */
	}
	.cta-button,
	.inline-cta-button {
		display: inline-block;
		position: relative;
		background-color: white;
		background-color: #52B1B1;
		color: #4d6c96;
		color: white;
		border-radius: 25px;
		text-align: center;
		font-weight: 700;
		line-height: 1.2;
		text-transform: uppercase;
		box-shadow: 0 0 0 0 white;
		box-shadow: 0 0 0 0 #52B1B1;
		transition: box-shadow 0.3s ease, opacity 0.3s ease;
	}
	.cta-button {
		margin: 15px 0 0 0;
		padding: 10px 35px;
		left: 50%;
		transform:translateX(-50%);
		font-size: 1.1rem;
	}
	.inline-cta-button {
		margin: 0 5px 0 5px;
		padding: 5px 15px;
		top: -2px;
		font-size: 0.75rem;
	}
	.inline-cta-button:hover,
	.cta-button:hover {
		box-shadow: 0 0 25px 0 white;
		box-shadow: 0 0 0 5px #52B1B1;
	}





	/* mobile */	@media screen and (min-width:0px) and (max-width:699px){
		.form .form-elements .form-element .form-label {
			font-size: 0.95rem;
			line-height: 1.2;
		}
		.form .form-elements .form-element .form-value input[type="text"],
		.form .form-elements .form-element .form-value input[type="email"],
		.form .form-elements .form-element .form-value input[type="tel"],
		.form .form-elements .form-element .form-value textarea,
		.form .form-elements .form-element .form-value select,
		.form .form-elements .form-element .form-field {
			font-size: 0.95rem;
			line-height: 1.2;
		}
	}
