/**
 * CFORM - custom form style - CSS
 * Copied and custimizes from: http://cm4dev.travelize24.com/clientfiles/cm-resource/archive/components/formCustomStyle/
 */


/** cform - DEFAULTS */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not(.button),
select,
textarea,
.cform-select,
.cform-select-wrap:before{
	/* border-radius:.1875em; */
}

.cform-select,
.cform-select-wrap:before{
	border-radius:.1875em;
}

input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not(.button):hover,
select:hover,
textarea:hover,
.cform-checkbox:hover,
.cform-radio:hover,
.cform-select:hover{
	/* border-color:var(--color-midgray); */
	/* color:var(--color-text-heading); */
}

.cform-checkbox:hover,
.cform-radio:hover,
.cform-select:hover{
	border-color:var(--color-midgray);
	color:var(--color-text-heading);
}

input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not(.button):focus,
select:focus,
textarea:focus,
.cform-checkbox:focus,
.cform-radio:focus,
.cform-select:focus{
	/* border-color:var(--color-base); */
	/* box-shadow:none; */
	/* outline:none; */
	/* color:var(--color-text-heading);  */
} 

.cform-checkbox:focus,
.cform-radio:focus,
.cform-select:focus{
	border-color:var(--color-base);
	box-shadow:none;
	outline:none;
	color:var(--color-text-heading); 
}


/** cform - SELECT */

.cform-select-wrap{
	position:relative;
	display:inline-block;
	vertical-align:middle;
	overflow:hidden;
}

.cform-select-wrap:before{
	position:absolute;
	z-index:1;
	top:1px;
	bottom:1px;
	right:1px;
	padding:0 0.375em;
	margin:auto;
	pointer-events:none;
	display:inline-block;
	vertical-align:middle;
	content:"\e013";
	font-family:'icons-travelize' !important;
	font-size:1em;
	line-height:2.4;
	height:2.4em;
	max-height:calc(100% - 2px);
	speak:none;
	font-style:normal !important;
	font-weight:normal;
	font-variant:normal;
	text-transform:none;
	letter-spacing:normal;
	word-wrap:normal;
	white-space:nowrap;
	direction:ltr;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	color:var(--color-midgray);
	background:var(--color-background-text);
}

.cform-select{
	display:inline-block;
	min-width:3em;
	background-image: none;
	-moz-appearance:none;
	-webkit-appearance:none;
	appearance:none;
}

/** Hide arrow icon in IE browsers */
.cform-select::-ms-expand{
	display:none;
}
/** remove inner dotted line on focus in Firefox */
.cform-select::-moz-focus-inner{ 
	border:0;
	outline:0;
}
.cform-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 var(--color-text-body);
}



/** Set options to normal weight */
.cform-select option{
	font-weight:normal;
}

.render-booking-version .cform-select{
	/* width:auto!important; */
}

/**** cform - CHECKBOX ****/

.cform-checkbox-wrap{
	box-sizing:border-box;
	font-family:sans-serif;
	font-size:1em;
	line-height:0;
	display:inline-block;
	vertical-align:middle;
	position:relative;
	overflow:hidden;
	cursor:pointer;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
	/* width:20px; */
	width:1.25em;
	/* height:20px; */
	height:1.25em;
	line-height:1.25;
	/* margin:1px; */
	margin:0 0.063em 0 0;
	padding:0;
	text-align:center;
}

.cform-checkbox-wrap *,
.cform-checkbox-wrap *:before,
.cform-checkbox-wrap *:after {
	box-sizing:inherit;
}

/** Hide default input checkbox visually, but not for screen readers */
.cform-checkbox{
	position:absolute;
	overflow:hidden;
	height:1px;
	width:1px;
	margin:-1px;
	padding:0;
	clip:rect(1px, 1px, 1px, 1px);
	clip-path:inset(50%);
}

.cform-trigger-checkbox{
	position:relative;
	display:block; 
	overflow:hidden;
	height:1.094em;	
	width:1.094em;
	border:0.032em solid var(--color-lightgray-dark);
	border-radius:0.188em;
	box-shadow:0 0.063em 0 0.063em rgba(var(--color-midgray-rgb),0.07);
	background-color:var(--color-background-text);
}

label:hover .cform-trigger-checkbox,
.cform-checkbox-wrap:hover .cform-trigger-checkbox{
	background-color:var(--color-background-text);
	border-color:var(--color-midgray);
}

.cform-checkbox:focus + .cform-trigger-checkbox{
	border-color:var(--color-base);
}

.cform-checkbox:checked + .cform-trigger-checkbox{
	background-color:var(--color-background-text);
	border-color:var(--color-lightgray-dark);
}


label:hover .cform-checkbox:checked + .cform-trigger-checkbox{
	border-color:var(--color-midgray);
}

.cform-checkbox:checked:focus + .cform-trigger-checkbox{
	border-color:var(--color-base-dark);
}

.cform-checkbox:disabled + .cform-trigger-checkbox{
	cursor: default!important;	
}

.cform-checkbox:disabled + .cform-trigger-checkbox{
	opacity: 0.25;
	background-color:var(--color-background-text)!important;
	border-color:var(--color-lightgray-dark)!important;
	box-shadow:0 0.063em 0 0.063em rgba(var(--color-midgray-rgb),0.07)!important;
}
.cform-checkbox:disabled + .cform-trigger-checkbox:after{
	border-color:transparent;
}



.cform-checkbox:checked:disabled + .cform-trigger-checkbox{
	/* opacity: 1; */
	/* background-color:transparent!important; */
	/* border-color:transparent!important; */
	/* box-shadow: none!important; */
}
.cform-checkbox:checked:disabled + .cform-trigger-checkbox:after{
	/* border-color:var(--color-base); */
	border-color:var(--color-text-body);
}


/** Create trigger/indicator (hidden when not checked) */
.cform-trigger-checkbox:after{
	content:"";
	position:absolute;
	display:block;
	visibility:hidden;
}

/** Show the checkbox when checked */
.cform-checkbox:checked + .cform-trigger-checkbox:after{
	visibility:visible;
}

/** Style the trigger/indicator */
.cform-checkbox-wrap .cform-trigger-checkbox:after{
	position:absolute;
	left:0.375em;
	top:0.125em;
	width:0.313em;
	height:0.625em;
	border:0.125em solid var(--color-base);
	border-top-width:0;
	border-left-width:0;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
	color: #fff;
}

/**** cform - RADIO ****/

.cform-radio-wrap{
	box-sizing: border-box;
	font-family:sans-serif;
	font-size:1em;
	line-height:0;
	display:inline-block;
	vertical-align:middle;
	overflow:hidden;
	position:relative;
	cursor:pointer;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
	/* width:20px; */	
	width:1.25em;
	/* height:20px; */
	height:1.25em;
	line-height:1.25;
	/* margin:1px; */
	margin:0 0.063em 0 0;
	padding:0;
	text-align:center;
}

.cform-radio-wrap *,
.cform-radio-wrap *:before,
.cform-radio-wrap *:after {
	box-sizing: inherit;
}


/** Hide default input radio visually, but not for screen readers */
.cform-radio{
	position:absolute;
	overflow:hidden;
	height:1px;
	width:1px;
	margin:-1px;
	padding:0;
	clip:rect(1px, 1px, 1px, 1px);
	clip-path:inset(50%);
}

/** custom radio */
.cform-trigger-radio{
	position:relative;
	display:inline-block;
	vertical-align:baseline;
	overflow:hidden; 
	height:1.094em;	
	width:1.094em;
	border-radius:50%;
	border:0.032em solid var(--color-lightgray-dark);
	background-color:var(--color-background-text);
	box-shadow:0 0.063em 0 0.063em rgba(var(--color-midgray-rgb),0.07);
}

label:hover .cform-radio-wrap .cform-trigger-radio,
.cform-radio-wrap:hover .cform-trigger-radio{
	background-color:var(--color-background-text);
	border-color:var(--color-midgray);
}

.cform-radio:checked + .cform-trigger-radio{
   background-color:var(--color-background-text);
   border-color:var(--color-lightgray-dark);
}

.cform-radio:checked:focus + .cform-trigger-radio{
	border-color:var(--color-base);
}

/** Create radio indicator (hidden when not checked) */
.cform-trigger-radio:after{
	content:"";
	position:absolute;
	display:block;
	visibility:hidden;
}

/** Show the radio indicator when checked */
.cform-radio:checked + .cform-trigger-radio:after{
   visibility:visible;
}

/** Style the radio indicator */
.cform-radio-wrap .cform-trigger-radio:after{
	position:absolute;
	top:0.313em;
	right:0.313em;
	bottom:0.313em;
	left:0.313em;
	margin:auto;
	width:auto;
	height:auto;
	border-radius:50%;
	background-color:var(--color-base);
}