
/* ----- [ Contact Form ]----------------------- */
input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=search],
select,
textarea {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	}
input[type=submit],
input.button {
    -webkit-appearance: none;
	}

input,
select,
textarea {
	font-family: 'Lato', sans-serif;
    font-size: 1em;
    font-weight: 500;
    width: 100%;
    padding: 10px 10px;
    margin: 0;
	color: #333;
	background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    }

/* ----- [ Jot Contact Page ] --------------- */
.form-all {
	font-family: 'Lato', sans-serif;
	font-size: 1.2rem;
	box-shadow: none;
	padding: 20px 30px;
	margin: 0;
	/*max-width: 690px;*/
	width: 100%;
	border: 6px solid #eeeeee;
	border-radius: 15px;
	}

.page-section,
.form-section {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	padding: 0;
	margin: 0;
	list-style: none;
	}

@media screen and (min-width: 960px) { 
	.form__item {
		flex: 1 0 50%;
		}
	
	.form__item--c_message,
	.form__item--c_terms_consent,
	.form__item--submit {
		flex: 1 0 100%;
		}
}

/* lines */
.form-line {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 12px 0;
	padding: 0;
	border: none;
	width: 100%;
    border-radius: 4px;
    position: relative;
    transition: background-color 0.15s;
	}
	
.form-input-wide {
	width: 100%;
	}

.form-line.half {
	width: 50%;
	}
.form-line.half .form-input-wide,
.form-line.half .form-input-auto {
	width: 100%;
	}
	
.form-line .form-input-wide[data-layout=full],
.form-line .form-input-wide[data-layout=half] {
	width: 100%;
	}
.form-line:nth-of-type(odd) .form-input-wide[data-layout=half] {
	width: calc(100% - 10px);
	}

.page-section + .form-line {
	margin: 0;
	padding: 0;
	}

.form-label {
	display: block;
	float: none;
	text-align: left;
	width: 100%;
	font-weight: 500;
	font-size: 1rem;
	}

.form-label-top {
	width: 100%;
	margin-left: 2px;
	margin-bottom: 5px;
	}

.form-dropdown {
	color: #797979;
	min-width: 100%;
	max-width: 100%;
	height: 2.5em;
	font-size: 1em;
	border-radius: 4px;
	border-width: 1px;
	border-style: solid;
	display: block;
	min-width: 100%;
	}
.form-dropdown {
	padding: 0 1.875em 0 .625em;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2357647E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 10px bottom 50%;
	background-size: .625em;
	background-repeat: no-repeat;
	}

.form-checkbox + label:before, 
.form-checkbox + span:before, 
.form-radio + label:before, 
.form-radio + span:before {
    background-color: #fff;
    border-color:#b8bdc9
	}

.form-checkbox:hover + label:before, 
.form-checkbox:hover + span:before, 
.form-radio:hover + label:before, 
.form-radio:hover + span:before {
    border-color: rgba(46, 105, 255, .5);
    box-shadow:0 0 0 2px rgba(46, 105, 255, .25)
	}

.form-checkbox:focus + label:before, 
.form-checkbox:focus + span:before, 
.form-radio:focus + label:before, 
.form-radio:focus + span:before {
    border-color: #2e69ff;
    box-shadow:0 0 0 3px rgba(46, 105, 255, .25)
	}

.form-radio + label:after, 
.form-radio + span:after {
    background-color:#2e69ff
	}

.form-radio + label, 
.form-radio + span {
    color:#2c3345
	}

.form-radio:checked + span label:before {
    border-color:#2e69ff
	}

.form-radio:checked + span div:after, 
.form-radio:checked + span label:after {
    background-color:#2e69ff
	}

.form-checkbox:checked + label:before, 
.form-checkbox:checked + span:before, 
.form-checkbox:checked + span label:before {
    border-color: #2e69ff;
    background-color:#2e69ff
	}

.form-checkbox {
	width: auto;
	}

/* start */
.form-checkbox-item label,
.form-radio-item label {
    width: 100%;
    padding-right: 5px;
    word-break: break-word;
}
.form-matrix-values .form-checkbox,
.form-matrix-values .form-radio {
    height: 20px;
    width: 20px;
    clip: auto;
    cursor: pointer;
}
.form-matrix-values .form-checkbox + label,
.form-matrix-values .form-checkbox + span,
.form-matrix-values .form-radio + label,
.form-matrix-values .form-radio + span {
    pointer-events: none;
}
.form-checkbox,
.form-radio {
    position: absolute;
    opacity: 0;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}
.form-checkbox + label,
.form-checkbox + span,
.form-radio + label,
.form-radio + span {
    padding-left: 30px;
    min-height: 20px;
    font-size: 0.9375em;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    word-break: break-word;
}
.form-checkbox + label:before,
.form-checkbox + span:before,
.form-radio + label:before,
.form-radio + span:before {
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
}
.form-checkbox + label:after,
.form-checkbox + span:after,
.form-radio + label:after,
.form-radio + span:after {
    transform: scale(0);
    opacity: 0;
    transition: transform 0.2s, opacity 0.2s;
}
.form-line .form-checkbox-item .form-checkbox-other.form-textbox + label,
.form-line .form-radio-item .form-radio-other.form-textbox + label {
    display: none;
}

.form-radio + label,
.form-radio + span {
    display: inline-block;
}
.form-radio + label:before,
.form-radio + span:before {
    border-radius: 50%;
    transition: border-color 0.15s;
}
.form-radio + label:after,
.form-radio + label div:after,
.form-radio + span:after,
.form-radio + span div:after {
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    content: "";
    position: absolute;
    border-radius: 50%;
}
.form-checkbox + label,
.form-checkbox + span {
    display: inline-block;
    width: 20px;
    text-indent: -1em;
}
.form-checkbox + label:before,
.form-checkbox + span:before,
.form-checkbox:checked + label:after,
.form-checkbox:checked + span:before {
    border-radius: 2px;
    transition: background-color 0.15s, border-color 0.15s;
    width: 20px;
    height: 20px;
}
.form-checkbox:checked + label:after,
.form-checkbox:checked + span:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l2.667 3L9 1' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    content: "";
    position: absolute;
    top: 0;
    left: 2px;
    background-size: 10px;
    background-position: 50%;
    background-repeat: no-repeat;
}
.form-checkbox:checked + label:after,
.form-radio:checked + label:after {
    opacity: 1;
    transform: scale(1.3);
}
.form-radio:checked + label:before,
.form-radio:checked + span:before {
    border-color: #2e69ff;
}

/* end */			
.form-line[data-type=control_checkbox] {  
	flex-direction: row-reverse;
	justify-content: flex-end;
	}
.form-line[data-type=control_checkbox] > .form-label,
.form-line[data-type=control_checkbox] > .form-label.form-label-wide {
	width: calc(100% - 40px);
	}

.form-line[data-type=control_checkbox] > .form-label + .form-input-wide,
.form-line[data-type=control_checkbox] > .form-label + .form-input-auto {  
	display: block;
	width: auto;
	flex: 1;
	}

/* errors */
/*
.field--error--message {
	float: right;
	color: #f36617;
	font-weight: 400;
	font-size: 0.8em;
	margin: 0;
	display: none;
	}
	
.field--error > label:after {
	content: " *";
	color: var(--accent);
	font-size: 1em;
	}

.form__item--c_terms_consent .field--error--message {
	float: none;
	}
	
.form--error--message,
.form--success--message {
	text-align: center !important;
	font-weight: 400;
	color: var(--accent);
	background: #fff;
	border: 1px solid var(--accent);
	padding: 5px;
	margin: 5px auto 20px;
	width: calc(100% - 10px);
	}

.form--success--message {
	font-size: 1.1em;
	color: #222;
	background: var(--tan-2);
	border: none;
	padding: 20px;
	text-align: left !important;
	}
*/
