/* GENERAL */

.input_field {
 float: left;
 width: 100%;
}

.input_holder {
 float: left;
 width: 100%;
 height: 44px;
 border-radius: 4px;
 border: 1px solid #bfc2c5;
 background-color: #fff;
}

.input_holder_textarea {
 height: auto;
}

.label {
 display: inline-block;
 width: 100%;
 padding: 0 0 7px 10px;
 font-weight: 700;
 font-size: 13px;
 line-height: 1.2;
 color: #000;
}

@media screen and (max-width:750px) {
 .label {
  padding: 0 0 5px 10px;
  font-size: 13px;
 }
}

.input {
 width: 100%;
 height: 100%;
 padding: 0 14px;
 font-family: "Ubuntu", serif;
 font-weight: 400;
 font-size: 14px;
 color: #292a2b !important;
 border: none;
 border-radius: 0;
 outline: none;
 background: transparent;
 /* removes Apple customization */
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 /* cursor: pointer; */
 opacity: 1;
}

.input.select {
 padding-right: 33px;
 text-overflow: ellipsis;
 background: transparent url('/img/select-arr.svg') no-repeat 100% !important;
 background-size: 28px 7px!important;
}

select::-ms-expand {
 display: none;
}

option {
 font-family: "Ubuntu", serif;
}

.input.textarea {
 height: 150px;
 padding: 10px 15px 10px 15px;
 overflow: auto;
 resize: vertical;
}

.datepicker {
 padding-right: 35px;
 background: transparent url('/img/forms-calendar.svg') no-repeat 100% !important;
 background-size: 28px 18px!important;
 cursor: pointer;
}

.datepicker::-ms-expand {
 display: none;
}

img.ui-datepicker-trigger {
 display: none;
}

.basic_btn {
 float: left;
 padding: 10px 15px;
 font-family: "Ubuntu", serif;
 font-weight: 700;
 font-size: 16px;
 line-height: 1.2;
 color: #fff;
 text-align: center;
 text-transform: uppercase;
 text-decoration: none;
 border-radius: 4px;
 border: 1px solid #002172;
 background-color: #002172;
 cursor: pointer;
 outline: none;
 -webkit-transition: 0.2s ease-in-out;
 -moz-transition: 0.2s ease-in-out;
 -o-transition: 0.2s ease-in-out;
 transition: 0.2s ease-in-out;
 /* removes Apple customization */
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 opacity: 1;
}

.basic_btn:hover {
 color: #fff;
 border: 1px solid #062d8d;
 background-color: #062d8d;
}

.basic_btn.secondary_btn {
 font-weight: 400;
 color: #545454;
 border: 1px solid #ddd;
 background-color: #efefef;
 z-index: 5;
}

.basic_btn.secondary_btn:hover {
 border: 1px solid #ddd;
 background-color: #ddd;
}

@media screen and (max-width: 850px) {
 .basic_btn {
  font-size: 15px;
 }
}

@media screen and (max-width: 650px) {
 .basic_btn {
  font-size: 14px;
 }
}


/*  */

::placeholder {
 color: #555;
 opacity: 1;
}

:focus::placeholder {
 opacity: 0;
}

::-webkit-input-placeholder {
 color: #555;
 opacity: 1;
}

:focus::-webkit-input-placeholder {
 opacity: 0;
}

:-ms-input-placeholder {
 color: #555;
 opacity: 1;
}

:focus:-ms-input-placeholder {
 opacity: 0;
}

::-moz-placeholder {
 color: #555;
 opacity: 1;
}

:focus::-moz-placeholder {
 opacity: 0;
}


/*  */


/* SEARCH */

#search_container {
 position: relative;
 float: left;
 width: 100%;
 margin-top: -210px;
 z-index: 20;
}

#search {
 float: left;
 width: 100%;
 padding: 0 10px 10px 10px;
 border-radius: 4px;
 background-color: rgba(0, 0, 0, 0.5);
}

#search_container .search_top {
 display: flex;
 align-items: center;
 float: left;
 width: 100%;
 padding: 16px 20px 20px 20px;
 line-height: 1.2;
 color: #fff;
}

#search_container .search_top .title {
 flex: auto;
 font-weight: 700;
 font-size: 17px;
 letter-spacing: -0.02em;
}

#search_container .search_top .all_offers_btn,
#search_container .search_top .all_offers_btn:hover {
 display: flex;
 align-items: center;
 padding: 7px 0;
 font-size: 14px;
 color: #fff;
 text-decoration: none;
 border-bottom: 1px solid #fff;
}

#search_container .search_top .all_offers_btn img {
 min-width: 15px;
 width: 15px;
 height: 15px;
 margin: 0 0 0 10px;
}

#search form {
 position: relative;
 display: flex;
 flex-wrap: wrap;
 align-content: flex-end;
 float: left;
 width: 100%;
 padding: 20px 20px 20px 20px;
 border-radius: 4px;
 background-color: #fff;
 z-index: 3;
}

#search .input_field {
 display: flex;
 flex-wrap: wrap;
 align-items: flex-end;
 margin: 0 1% 0 0;
}

#search .input_field.if1,
#search .input_field.if2,
#search .input_field.if3,
#search .input_field.if4 {
 width: 20.5%;
}

#search .input_field.if5 {
 display: flex;
 align-items: flex-end;
 float: right;
 width: 14%;
 margin: 0;
}

#search .input_field.if5 .input_holder {
 border: none;
 background-color: transparent;
}

#search .input_holder {
 display: flex;
 align-items: center;
}

#search .input_field .input_holder .icon {
 display: flex;
 justify-content: flex-end;
 align-items: center;
 min-width: 25px;
}

#search .input_field .input_holder .icon img {
 width: 16px;
 height: 16px;
}

#search .input_field .input_holder .input {
 padding-left: 9px;
}

#search .search_btn {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 100%;
 padding: 10px 10px;
 font-size: 16px;
}

#search .search_btn img {
 width: 17px;
 height: 17px;
 margin: 0 7px 0 0;
}

@media screen and (max-width: 1100px) {
 #search_container {
  margin-top: -200px;
 }
}

@media screen and (max-width: 950px) {
 #search_container {
  margin-top: -90px;
 }
 #search_container .search_top .title {
  font-size: 16px;
 }
 #search_container .search_top .all_offers_btn,
 #search_container .search_top .all_offers_btn:hover {
  padding: 3px 0;
  font-size: 13px;
 }
 #search_container .search_top .all_offers_btn img {
  min-width: 12px;
  width: 12px;
  height: 12px;
  margin: 0 0 0 8px;
 }
 #search .input_field.if1,
 #search .input_field.if2,
 #search .input_field.if3,
 #search .input_field.if4 {
  width: 49%;
  margin: 0 2% 12px 0;
 }
 #search .input_field.if2,
 #search .input_field.if4 {
  margin-right: 0;
 }
 #search .input_field.if5 {
  width: 100%;
  margin: 0;
 }
}

@media screen and (max-width:676px) {
 #search_container {
  margin-top: -70px;
 }
}

@media screen and (max-width: 650px) {
 #search_container .search_top .all_offers_btn,
 #search_container .search_top .all_offers_btn:hover {
  font-size: 12px;
 }
}

@media screen and (max-width: 600px) {
 #search {
  padding: 0 8px 8px 8px;
 }
 #search_container .search_top {
  padding: 12px 15px 15px 15px;
 }
 #search form {
  padding: 17px 15px 15px 15px;
 }
}

@media screen and (max-width: 400px) {
 #search_container .search_top .all_offers_btn,
 #search_container .search_top .all_offers_btn:hover {
  display: none;
 }
 #search .input_field.if1,
 #search .input_field.if2,
 #search .input_field.if3,
 #search .input_field.if4 {
  width: 100%;
  margin: 0 0 10px 0;
 }
 #search .input_field.if5 {
  margin: 8px 0 0 0;
 }
}


/* RES FORM start */

#res_form {
 float: left;
 width: 100%;
 line-height: 1.3;
}

#res_form .container {
 max-width: 750px;
}

#res_form .offer_id {
 float: left;
 width: 100%;
 margin: 0 0 6px 0;
 font-size: 12px;
 text-align: center;
}

#res_form .main_title {
 float: left;
 width: 100%;
 padding: 14px 15px;
 margin: 0 0 25px 0;
 font-weight: 700;
 font-size: 18px;
 line-height: 1.2;
 letter-spacing: -0.04em;
 text-align: center;
 border-radius: 5px;
 background-color: #fff;
 box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.07);
}

#res_form .main_title .offer_hotel {
 float: left;
 width: 100%;
 margin: 6px 0 0 0;
 font-weight: 400;
 font-size: 0.85em;
}

@media screen and (max-width:950px) {
 #res_form .main_title {
  padding: 12px 15px;
  margin: 0 0 20px 0;
  font-size: 17px;
 }
}

@media screen and (max-width:750px) {
 #res_form .main_title {
  padding: 10px 15px;
  margin: 0 0 15px 0;
  font-size: 16px;
 }
}

@media screen and (max-width:600px) {
 #res_form .main_title {
  padding: 11px 15px;
  margin: 0 0 12px 0;
  font-size: 15px;
 }
}

#res_form .description_title {
 display: flex;
 align-items: center;
 padding: 12px 0 7px 0;
 margin: 0 0 10px 0;
 font-size: 20px;
 border-top: none;
 border-bottom: 1px solid #e5e5e5;
}

#res_form .description_title.first {
 margin-top: 0;
}

#res_form .description_title.last {
 margin-bottom: 0;
 border-bottom: none;
}

#res_form .description_title img {
 width: 18px;
 height: 18px;
 margin: 0 10px 0 0;
 opacity: 0.6;
}

#res_form .input_field {
 width: 49%;
 margin: 0 2% 12px 0;
}

#res_form .input_field.long {
 width: 100%;
 margin: 0 0 12px 0;
}

#res_form .input_field.second {
 margin: 0 0 12px 0;
}

#res_form .input_field.info_field {
 width: 32%;
 margin: 0 2% 16px 0;
}

#res_form .input_field.info_field:nth-child(3n) {
 margin: 0 0 16px 0;
}

#res_form .input_field.info_field b {
 display: flex;
 align-content: center;
 align-items: center;
 margin: 0 0 0 6px;
 font-weight: 700;
}

#res_form .children_div {
 float: left;
 width: 100%;
}

#res_form .required {
 float: left;
 width: 100%;
 margin: 0 0 20px 0;
 font-size: 14px;
}

#res_form .required p {
 margin: 0 0 6px 0;
}

#res_form .required p:nth-child(2) {
 margin: 0 0 20px 0;
}

#res_form .send_btn {
 display: block;
 padding: 17px 20px;
 width: 100%;
}

@media screen and (max-width:950px) {
 #res_form .description_title {
  font-size: 19px;
 }
}

@media screen and (max-width:750px) {
 #res_form .description_title {
  font-size: 18px;
 }
}

@media screen and (max-width:650px) {
 #res_form .input_field.info_field,
 #res_form .input_field.info_field:nth-child(3n) {
  width: 49%;
  margin: 0 2% 16px 0;
 }
 #res_form .input_field.info_field:nth-child(2n) {
  margin: 0 0 16px 0;
 }
}

@media screen and (max-width:600px) {
 #res_form .input_field {
  width: 48.5%;
  margin: 0 3% 3% 0;
 }
 #res_form .input_field.long {
  margin: 0 0 3% 0;
 }
 #res_form .input_field.second {
  margin: 0 0 3% 0;
 }
 #res_form .input_holder.input_holder_textarea {
  height: auto;
 }
}

@media screen and (max-width:550px) {
 #res_form .required p {
  font-size: 13px;
 }
}

@media screen and (max-width:510px) {
 #res_form .required p {
  font-size: 12px;
 }
}

@media screen and (max-width:400px) {
 #res_form .input_field,
 #res_form .input_field.long,
 #res_form .input_field.second {
  width: 100%;
  margin: 0 0 4% 0;
 }
}


/* RES FORM end */
