@import "../component/datepicker.css?v=0.1";

/* TAG */

form {
	padding: 20px 0 0 0;
}

input[type="text"],
input[type="email"]{
	font-size: 18px;
    line-height: 1.3;
    border: 0 none;
    border-bottom: 1px solid #f2f2f2;
    border-radius: 8px;
    padding: 16px 36px 16px 24px;
    margin: 20px 12px;
    width: 95%;
    flex: 1 1 auto;
    outline: none;
    position: relative;
    box-shadow: none;
    z-index: 2;
    background-color: #f2f2f2;
}

input[type="text"]:focus,
input[type="email"]:focus,
input.tel:focus,
input.box-date:focus {
    border-bottom-color: #b9b9b9;
}

input.tel{
	font-size: 18px;
    line-height: 1.3;
    border: 0 none;
    border-bottom: 1px solid #f2f2f2;
    border-radius: 8px;
    padding: 16px 36px 16px 24px;
    margin: 20px 12px 20px 0;
    width: 95%;
    flex: 1 1 auto;
    outline: none;
    position: relative;
    box-shadow: none;
    z-index: 2;
    background-color: #f2f2f2;
	border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

input[type="radio"]{
    width: 16px;
    height: 16px;
    position: absolute;
    opacity: 0;
    cursor: pointer;
    top: 28%;
    left: 10%;
    z-index: 5;
}

input[type="checkbox"] {
	cursor: pointer;
    opacity: 0;
    height: 24px;
    width: 24px;
    left: -12%;
    top: -3%;
    position: absolute;
    z-index: 5;
}

input[type="radio"] + span.icon {
    position: absolute;
    top: 25%;
    left: 18px;
    height: 16px;
    width: 16px;
    border-radius: 50%;
    transform: translate(-52%);
    background-color: #d4dee7;
}

input[type="checkbox"] + span.icon {
    position: absolute;
    height: 24px;
    width: 24px;
    background-color: #d4dee7;
    border-radius: 5px;
    margin: 0px 0px 0px -40px;
}

input[type="radio"]:checked + span.icon {
    background-color: #075da7;
}

input[type="checkbox"]:checked + span.icon {
    background-color: #075da7;
}

input[type="radio"]:checked + span.icon:after {
    display: block;
}

input[type="checkbox"]:checked + span.icon:after {
    display: block;
}

input[type="radio"] + span.icon:after {
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    content: "";
    position: absolute;
    display: none;
    background-color: #fff;
}

input[type="checkbox"] + span.icon:after {
    left: 10px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
	content: "";
    position: absolute;
	display: none;
}

input[type="date"]::before {
  content: attr(placeholder);
  position: absolute;
  color: #999999;
}

input[type="date"] {
  color: #333;
  -webkit-appearance: none;
  min-height: 3em;
}

input[type="date"]:focus,
input[type="date"]:valid {
  color: #333;
}

input[type="date"]:focus::before,
input[type="date"]:valid::before {
  content: "";
}


input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px #f2f2f2 inset !important;
}

select {
    font-size: 18px;
    line-height: 1.3;
    border: 0 none;
    border-bottom: 1px solid #f2f2f2;
    border-radius: 8px;
    padding: 16px 0px 16px 14px;
	margin: 0 12px 20px 12px;
	width: 95%;
    outline: none;
    position: relative;
    box-shadow: none;
    z-index: 2;
    background-color: #f2f2f2;
	-webkit-appearance: none;
  	background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  	background-repeat: no-repeat;
  	background-position-x: 98%;
  	background-position-y: 16px;
}

select.prefix {
    font-size: 18px;
    line-height: 1.3;
    border: 0 none;
    border-bottom: 1px solid #f2f2f2;
    border-radius: 8px;
    padding: 16px 0px 16px 14px;
    margin: 20px 0px 20px 12px;
    width: 95%;
    outline: none;
    position: relative;
    box-shadow: none;
    z-index: 2;
    background-color: #f2f2f2;
	border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

select.nationality {
    font-size: 18px;
    line-height: 1.3;
    border: 0 none;
    border-bottom: 1px solid #f2f2f2;
    border-radius: 8px;
    padding: 16px 0px 16px 14px;
	margin: 0 12px 20px 12px;
	width: 95%;
    outline: none;
    position: relative;
    box-shadow: none;
    z-index: 2;
    background-color: #f2f2f2;
}

/* CLASSES */

.generic-form{
	padding: 0 40px;
	background-color: white;
    -webkit-transition: opacity 1s ease-in-out;
    -moz-transition: opacity 1s ease-in-out;
    -ms-transition: opacity 1s ease-in-out;
    -o-transition: opacity 1s ease-in-out;
    transition: opacity 1s ease-in-out;
}

.generic-form .cc-btn{
	white-space: normal;
}    

.form{
	display: flex;
    flex-wrap: wrap;
}

.item-field-max{
	flex: 1 1 100%;
    max-width: 100%;
}

.item-field{
	position: relative;
	flex: 1 1 50%;
    max-width: 50%;
}

.item-field-mid{
	flex: 1 1 50%;
    max-width: 40%;
}

.item-field-min{
	flex: 1 1 50%;
    max-width: 10%;
	z-index: 3;
}

.radio-label{
	position: relative;
    padding-left: 32px;
	padding-top: 2px;
    cursor: pointer;
    font-size: 18px;
    user-select: none;
	color: #333;
	margin: 0 20px 0 0;
}

.checkbox-label {
	display: flex;
    order: 1;
    position: relative;
    padding-left: 36px;
    margin: 0 0 0 16px;
	cursor: pointer;
    font-size: 18px;
    user-select: none;
    color: #333;
}

.checkbox-wrap {
	margin-top: 16px;
}

.radios{
	margin: 20px 12px;
}

.main-label {
    position: absolute;
    padding: 35px;
    z-index: 3;
    color: #81909d;
	transition: all 0.2s ease;
	pointer-events: none;
}

.main-label-date {
    position: absolute;
    padding: 0 0 0 12px;
	margin-top: -3px;
    z-index: 3;
    color: #81909d;
	transition: all 0.2s ease;
	pointer-events: none;
}

.main-label-radio{
	display: flex;
    margin: 12px;
    position: unset;
    padding: 0px;
    color: #81909d;
    font-size: 16px;
}

.main-label-checkbox{
	display: flex;
    margin: 12px 0;
    font-size: 18px;
    position: relative;
    cursor: pointer;
    color: #333;
    line-height: 1.43;
	flex-wrap: wrap;
	display: inline;
	order: 2;
}

.main-label-select{
	display: flex;
    margin-top: -3px;
    position: unset;
    padding: 0 0 0 12px;
    color: #81909d;
    font-size: 16px;
}

.main-checkbox-wrap {
	display: flex;
	margin: 18px 0 0 5px;
}

.text {
	margin: 30px 0;
}

.footer {
	padding: 40px 0;
}

.box-date {
	font-size: 18px;
    line-height: 1.3;
    border: 0 none;
    border-bottom: 1px solid #f2f2f2;
    border-radius: 8px;
    padding: 16px 36px 16px 24px;
    margin: 20px 12px;
    width: 95%;
    flex: 1 1 auto;
    outline: none;
    position: relative;
    box-shadow: none;
    z-index: 2;
    background-color: #f2f2f2;
}

.dependent-field-salutation,
.dependent-field-prefix,
.dependent-field-nationality,
.dependent-field-parametric-select,
.dependent-field-parametric-radio,
.dependent-field-parametric-prefix,
.dependent-field-parametric-nationality {
    position: relative;
    flex: 1 1 50%;
    max-width: 50%;
}

[class^="dependent-field-"] .item-field {
	position: relative;
	flex: 1 1 50%;
    max-width: 100%;
}

.disabled {
	pointer-events: none;
}

.error-message{
    position: relative;
    top: -18px;
    left: 12px;
    color: red;
	display: none;
	font-size: 16px;
}

.cta.center.form-button {
	position: relative;
	max-width: max-content;
	margin: auto;
}

.cta.center.form-button .cc-btn {
	padding: 16px 50px;
	margin: 0;
}

/* Multiple checkboxes */
.main-checkboxes-wrap {
	margin: 18px 0 0 12px;
}

.main-checkboxes-wrap .main-label-checkbox {
	font-size: 16px;
}

.main-checkboxes-wrap .checkbox-wrap {
	display: flex;
}
		
.main-checkboxes-wrap .checkbox-wrap .checkbox-label {
	flex: 1 1 50%;
	padding-left: 30px;
	margin: 0 12px;
}

.main-checkboxes-wrap .checkbox-wrap .checkbox-label input[type="checkbox"] + span.icon {
	margin: 3px 0px 0px -40px;
}

.form-error-message{
	display: none;    
	text-align: center;
    color: red;
	margin-top: 20px;
}

.calendar-logo {
	position: absolute;
    top: 34px;
    right: 6%;
    z-index: 3;
	pointer-events: none;
}

.lds-ring {
	top: 5px !important;
}

.grecaptcha-badge {
	visibility: visible;
	z-index: 2;
}

/* ID */

/* MEDIA */

@media screen and (max-width: 768px){
	
	.item-field-max,
	.item-field,
	.item-field-mid,
	.item-field-min {
		flex: 1 1 100%;
		max-width: 100%;
	}

	input.tel{
		margin: 20px 6px 20px 12px;
		border-top-left-radius: 8px;
    	border-bottom-left-radius: 8px;
	}
	
	select.prefix {
		border-top-right-radius: 8px;
    	border-bottom-right-radius: 8px;
		margin: 20px 12px 20px 12px;
	}
	
	.dependent-field-salutation,
	.dependent-field-prefix,
	.dependent-field-nationality,
	.dependent-field-parametric-select,
	.dependent-field-parametric-radio,
	.dependent-field-parametric-prefix,
	.dependent-field-parametric-nationality {
		max-width: 100%;
	}
	
	.main-checkboxes-wrap .checkbox-wrap {
		display: block;
		padding-bottom: 20px;
		border-bottom: 1px solid lightgrey;
	}
	
	/* Multiple checkboxes */
	.main-checkboxes-wrap .checkbox-wrap .checkbox-label {
		margin: 12px;
	}
	
}

@media screen and (max-width: 992px){

	input[type="date"]{
	  	background-image: url("/system/modules/ch.corner.genericforms/resources/img/calendar.png");
  		background-repeat: no-repeat;
  		background-position-x: 96%;
  		background-position-y: 16px;
	}
	
}

@media screen and (min-width: 992px){

	.cta.center.form-button .cc-btn {
		max-width: max-content;
	}
	
}

@media screen and (min-width: 1200px){

	.form{
    	margin: 0 100px;
	}
	
}