/**
 * Stylesheet for meilenoptimieren.com Hotel Booking
 *
 * @category WordPressPlugin
 * @package  Meilenoptimieren.com
 * @author   Joswig Solutions UG <manuel@joswigsolutions.com>
 * @license  GPL2, https://www.gnu.org/licenses/gpl-2.0.html
 * @link     https://www.joswigsolutions.com/
 */

.hotel-booking-widget {
	padding-bottom:30px;
}

.hotel-booking-widget .cc-box-info-symbol {
	padding: 0 0 15px 0!important;
}

.hotel-filter-wrapper {
  border: 1px solid #d3d3d3;
  background-color: #25325c;
  padding: 15px;
  width: 100%;
}

.hotel-booking-widget .glyphicon-info-signn {
  display: flex;
  justify-content: flex-end;
  font-size: 2rem;
  margin-bottom: 5px;
  color: #25325c;
}

.hotel-filter-wrapper label {
	color: white;
}

.filter-element {
  width: 100%;
  margin-bottom: 20px;
}

.filter-element label {
  display: block;
}

.filter-element input, .filter-element select, .filter-element button {
  width: 100%;
}

#loading-animation, #loading-animation2 {
  display: flex;
  justify-content: center;
}

#loading-animation-2 {
  margin-top: 30px;
}

.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
  margin-bottom: 30px;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid #cef;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #e0e0e0 transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.hotel-search-results-wrapper {
  margin-top: 30px;
}

.hotel-search-results {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20px;
}

.hotel-result {
  width: 100%;
  /* border: 1px solid #25325c; */
  /* margin-right: 5px; */
  margin-bottom: 25px;
}

/* .hotel-header img { */
  /* width: 100%; */
/* } */

.hotel-body, .hotel-footer {
  width: 100%;
  padding: 15px 15px 0;
}

.hotel-footer {
  position: relative;
}

.hotel-details span {
  display: block;
}

.hotel-program-icon {
	font-size: 18px;
	font-weight: bold;
	display: inline!important;
	color: #e88e20;
}

.hotel-title {
	font-weight: bold;
	font-size: 16px;
	line-height: 21px;
	margin-bottom: 5px;
}

.hotel-program i {
  color: #00b200;
  font-size: 1.6em;
  margin-right: 5px;
}

.favorite-hotel {
  position: absolute;
  top: 0;
  background-color: #ffbe46;
  color: #ffffff;
  padding: 5px;
  text-align: center;
  left: 10px;
  right: 10px;
  top: 10px;
}

.favorite-hotel i {
  margin-right: 5px;
}

.promo-hotel {
  position: absolute;
  bottom: 10px;
  background-color: #25325c;
  color: #ffffff;
  padding: 5px;
  text-align: center;
  left: 0px;
	right: 0px;
	margin: 0 10px;
}

.promo-hotel i {
  margin-left: 5px;
}

.hotel-search-results-pagination {
  /* display: flex; */
  /* justify-content: center; */
  text-align: center;
}

.hotel-search-results-pagination .glyphicon {
	font-size: 31px;
	color: #25325c;
}

.hotel-search-results-pagination :first-child {
  /* margin-right: 10px; */
}

.hotel-search-results-pagination span {
  /* margin-right: 10px; */
  /* margin-top: 10px; */
}

/* .hotel-main { */
  /* display: flex; */
/* } */

.hotel-button-wrapper {
  /* display: flex; */
  justify-content: space-between;
  border-color: #d3d3d3 !important;
}

.hotel-button-wrapper a {
  margin-bottom: 15px;
}

.hotel-button-wrapper a:last-child {
  float: right;
}

.hotel-header {
  height: 280px;
  padding: 10px;
  position: relative;
}

.hotel-header img {
	width: 100%;
}

.hotel-booking-form {
  display: none;
  max-width: 800px;
  margin: 0 auto;
}

.booking-benefits-box {
  border: 1px solid #e88e20;
  padding: 15px;
  margin-bottom: 15px;
}

.booking-form {
  border: 1px solid #d3d3d3;
  padding: 15px;
}

.booking-benefits-box h2, .booking-benefits-box p, .booking-benefits-box h2, .booking-benefits-box ul {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.booking-benefits-box ul {
	list-style-type: none;
	padding-top: 15px;
	padding-bottom: 15px;
}

.booking-benefits-box ul li:before {
	content: '✔';
	margin-left: -25px;
	margin-right: 10px;
	font-size: 19px;
	color:
	#e88e20;
	line-height: 18px;
	font-weight: bold;
}

.booking-form fieldset {
  border: 0;
  padding: 0 !important;
  margin-bottom: 15px !important;
}

#booking-form-input-personal-message {
	width: 100%;
}

.booking-form h2 {
  margin-top: 0 !important;
}

.booking-form label, .booking-form fieldset small {
  display: block;
}

.booking-form input[type="text"], .booking-form input[type="date"], .booking-form input[type="email"], .booking-form select {
  width: 100%;
}

.booking-form input[type="submit"] {
  margin-top: 15px !important;
}

.booking-personal-name fieldset {
  width: 100%;
}

.booking-form button {
  margin-top: 15px;
}

.booking-personal-name {
  display: flex;
  justify-content: space-between;
}

.booking-form-important {
  color: #ff0000;
}

.booking-return-button {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 15px;
}

.booking-thank-you-message {
  border: 1px solid #00b200;
  background-color: #e5ffe5;
  padding: 5px;
  margin-bottom: 15px;
  display: none;
}

.booking-benefits-box a, .booking-form a {
  color: #337ab7 !important;
  text-decoration: none;
  transition: .3s all ease;
}

.booking-request-button-wrapper {
  display: flex;
  justify-content: center;
}

.booking-form input[type="submit"] {
  white-space:normal !important;
  word-wrap: break-word;
}

.departure-date-validation {
  color: #ff0000;
  display: none !important;
}

@media (max-width: 760px) {
  .hotel-button-wrapper {
    display: block;
  }

  .hotel-button-wrapper a {
    width: 100% !important;
  }

  .hotel-button-wrapper:first-child {
    margin-bottom: 25px;
  }

  .hotel-main {
    display: block;
  }
}

@media (min-width: 640px) {
	.hotel-result {
		width: 48%;
	}

	.hotel-button-wrapper a:last-child {
		float: none;
	}
}

@media (min-width: 992px) {
	.hotel-result {
		width: 48%;
	}
}


@media (min-width: 1200px) {
  .filter-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .filter-element {
    width: 45%;
  }

  .hotel-result {
    width: 32%;
  }
  
  .single-post .hotel-result {
    width: 48%;
  }

  .hotel-header {
    padding: 10px;
  }

  .hotel-main {
    display: block;
    /* min-height: 460px; */
  }
  
  .hotel-body {
	min-height: 170px;
  }

  .hotel-button-wrapper {
    display: block;
	text-align: center;
  }

  .hotel-button-wrapper a {
    width: 100% !important;
  }

  .hotel-button-wrapper :first-child {
    margin-bottom: 25px;
  }

  .booking-form-input input[type="text"], .booking-form input[type="date"], .booking-form input[type="email"], .booking-form select {
    width: 100%;
  }

  .booking-personal-name fieldset, .booking-personal-name input {
    width: 48%;
  }

  .reset-filters-btn {
    margin-top: 20px;
  }
}

.btn-meilen {
  /* color: #ffffff !important; */
  /* background-color: #25325c !important; */
  /* border: 2px solid #fff !important; */
  /* border-radius: 0 !important; */
  /* padding: 10px 30px !important; */
  /* font-size: 14px !important; */
  /* outline: 0 !important; */
  /* font-weight: 700 !important; */
  /* text-align: center !important; */
  /* vertical-align: middle !important; */
  /* display: flex !important; */
  /* justify-content: center !important; */
  /* transition: all .8s ease !important; */
}

.btn-white {
  color: #25325c !important;
  background-color: #ffffff !important;
  border: 2px solid #25325c !important;
  border-radius: 0 !important;
  padding: 10px 30px !important;
  font-size: 14px !important;
  outline: 0 !important;
  font-weight: 700 !important;
  text-align: center !important;
  vertical-align: middle !important;
  display: flex !important;
  justify-content: center !important;
  transition: all .8s ease !important;
}

a.btn-meilen-white:hover {
  color: #fff !important;
  background-color: #25325c !important;
  border: 2px solid #fff !important;
}



.btn-orange {
  /* color: #ffffff !important; */
  /* vertical-align: top; */
  /* text-shadow: none; */
  /* padding: 6px 12px; */
  /* cursor: pointer; */
  /* text-align: center; */
  /* line-height: normal; */
  /* display: inline-block; */
  /* background: 0 0; */
  /* filter: none; */
  /* background-color: #e88e20 !important; */
  /* border-color: #ffffff !important; */
  /* border-style: solid; */
  /* border-width: 2px; */
  /* -webkit-appearance: none; */
}

/* disable native calendar controls for booking form */
.booking-form-input input::-webkit-inner-spin-button,
.booking-form-input input::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}