/*Form*/
form * { box-sizing: border-box; }
#contact-wrap { width: 100%; z-index: 99999999; overflow: hidden; }
#contact-form { width: 60%; float: left; padding:0 20px 20px 0; height: inherit; position: relative; box-sizing: border-box; border-right: 1px solid #dedede; }
form#login, form#password-reset { width: 100%; max-width: 400px; padding: 30px; background:#EEE; border: 2px solid #ddd; display:block; margin:auto;}
form#login img, form#password-reset img { text-align: center; max-width: 100%; margin-bottom: 30px;}
form#gallery-upload { width: 60%; z-index: 99; padding: 30px; background:#EEE; border: 2px solid #ddd; display:block; margin:auto; padding: 15px; margin-top: 40px; }
form#gallery-upload .d-flex:hover { cursor: pointer};
#gallery-upload input:first-of-type { margin-top: 15px; }
#gallery-upload .form-wrap { display: none;}
#gallery-upload label  { font-family: 'Ek Mukta', sans-serif;}
#gallery-upload i { color: #333; }
#gallery-upload label  { font-family: 'Ek Mukta', sans-serif;}

form#login p, form#password-reset p { text-align:center}
form h3 { margin: 0; font-size: 18px; display: inline-block; padding: 8px; color: #333; text-align: left; font-weight:normal}
form input, form select { margin: 0 0 10px 0; padding: 15px 12px; width: 100%; color: #212121 !important; border: 2px solid #999; background: #FFF; border-radius: 4px;}
form select { padding: 14px 12px; }
select::-ms-expand { display: none; }
.form-field-left { float: left; width: 50%; padding-right: 10px }
.form-field-right { float: left; width: 50%; }
textarea { font-family: 'Ek Mukta', sans-serif; background: #FFF; border: 2px solid #999; height: 156px; margin: 10px 0 0; padding: 12px 15px; width: 100%;  border-radius: 4px}
input[type="radio"] { width: 50px !important; margin: 25px 0 !important }
input[type="checkbox"] { width: 20px !important; margin: 15px 0 0 !important; cursor: pointer; }
label:hover { cursor:pointer }

form#login input, form#logout input, form#password-reset input { background: #FFF;}

label span { font-family: 'Ek Mukta', sans-serif;}
::-webkit-input-placeholder {
   font-family: 'Ek Mukta', sans-serif; font-style:normal !important; font-size: 12px
}

:-moz-placeholder { /* Firefox 18- */
   font-family: 'Ek Mukta', sans-serif; font-style:normal !important; font-size: 12px  
}

::-moz-placeholder {  /* Firefox 19+ */
   font-family: 'Ek Mukta', sans-serif; font-style:normal !important; font-size: 12px  
}

:-ms-input-placeholder {  
   font-family: 'Ek Mukta', sans-serif;	 font-style:normal !important; font-size: 12px 
}

button.submit {font-family: 'Ek Mukta', sans-serif; display: block; border: none; position: relative; font-size:14px; text-align:center; color: #FFF; background: #888; padding: 10px 20px; border-radius: 3px; margin: 20px auto 0; text-decoration:none; text-transform:uppercase;-webkit-transition: all ease 0.4s; transition: all ease 0.4s }
button.submit:hover { background: #ED3338; color: #FFF !important; cursor: pointer }


/*Validation*/
.g-recaptcha {
    display: block;
    margin: auto;
}

#contact-form input.required[type="text"]:focus, #contact-form textarea.required:focus, #contact-form #datepicker-arrival.required:focus, #contact-form #datepicker-departure.required:focus, #contact-form select.required:focus {
	border-bottom: 2px solid #EE1D24 !important; 
}

#contact-form input.required:focus:invalid, #contact-form textarea.required:focus:invalid, #contact-form select.required:focus:invalid { /* when a field is considered invalid by the browser */
    border-bottom: 2px solid #EE1D24 !important; 
}
#contact-form input.required:focus:valid, #contact-form textarea.required:focus:valid, #contact-form select.required:focus:valid { /* when a field is considered valid by the browser */
    border-bottom: 2px solid green !important; 
}

#contact-form input.required:valid, #contact-form textarea.required:valid { /* when a field is considered valid by the browser */
    border-bottom: 2px solid green !important; 
}

#contact-form input.required:valid, #contact-form input.required:focus:valid {
	background:url(../img/check.png) 99% 50%/24px no-repeat #F5F5F5
}

input[type=checkbox]:not(old),
input[type=radio   ]:not(old){
  width   : 28px !important;
  height  : 18px !important;
  margin  : 10px !important;
  padding : 0;
  opacity : 0;
}
input[type=checkbox]:not(old) + span, input[type=checkbox]:not(old) + label span,
input[type=radio   ]:not(old) + span{
  display      : inline-block;
  margin-left  : -28px;
  padding-left : 28px;
  background   : url('../img/checks.png') no-repeat 0 0;
  line-height  : 24px;
}
input[type=checkbox]:not(old):checked + span, input[type=checkbox]:not(old):checked + label span{
  background-position : 0 -24px;
}

input[type=radio]:not(old):checked + span{
  background-position : 0 -48px;
}

.form-group {
	position: relative
}
.form-group span.toggle-password {
    right: 15px;
    left: auto;
    cursor: pointer;
    position: absolute;
    font-size: 18px;
    top: 16px;
	color: #444
}
.fa-eye::before {
    content: "\f06e";
}

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

#serviceEnquiry {
  display : none;
  justify-content: space-between;
}
.error, .success { font-size: 16px; color: red; text-align: center; margin: 10px 0; font-style:italic;}
.success { color: green; }

/*GOOGLE RECAPTCHA*/
.captcha-container { margin: 10px auto; float: none}
.g-recaptcha * { margin: auto !important; display:block; }

@media (min-width : 1400px) {
#gallery-upload {
    position: fixed;
    right: 10px;
    bottom: 10px;
    max-width: 400px;
}
}

@media only screen and (max-width: 850px) {
#contact-form { float: none !important; padding: 0 20px 20px; width: 100% !important; border-right: none !important; border-bottom: 1px solid #CCC !important}
}
@media only screen and (max-width: 600px) {
	#contact-form { padding: 0; }
	#contact-form > div { width: 100% !important; float: none !important; margin: 0 !important; padding-right: 0 !important }
	button.submit { width: 100% !important; float: none !important; margin: 0 0 10px 0 !important; padding-right: 0 !important }
	input[type='text'],	input[type='number'], textarea { font-size: 16px; }
	.form-field-left, .form-field-right { float: none; padding-right: 0; width: 100%; }
	#contact-form h3 { display:block }
	label { display: inline-block; cursor: pointer }
	form#login, form#logout, form#password-reset{ width: 100%; }
	form#gallery-upload { width: 100%;}
	
}
@media only screen and (max-width: 400px) {
	#rc-imageselect, .g-recaptcha {transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;}
}