@charset "utf-8";

/****************************************************************************************************/
/* Allgemeine Elemente
/****************************************************************************************************/
/**********************************************************************/
/* Buchungsbox
/**********************************************************************/
.booking-box {
  margin: 10px 40px 0 40px;
}

h1 + span.hidden-anchor + .booking-box,
h1 + span.hidden-anchor + span.hidden-anchor + .booking-box,
h1 + span.hidden-anchor + span.hidden-anchor + span.hidden-anchor + .booking-box,
h2 + span.hidden-anchor + .booking-box,
h2 + span.hidden-anchor + span.hidden-anchor + .booking-box,
h2 + span.hidden-anchor + span.hidden-anchor + span.hidden-anchor + .booking-box,
div + span.hidden-anchor + .booking-box,
div + span.hidden-anchor + span.hidden-anchor + .booking-box,
div + span.hidden-anchor + span.hidden-anchor + span.hidden-anchor + .booking-box,
p.like-h + span.hidden-anchor + .booking-box,
p.like-h + span.hidden-anchor + span.hidden-anchor + .booking-box,
p.like-h + span.hidden-anchor + span.hidden-anchor + span.hidden-anchor + .booking-box {
  margin-top: 40px;
}

.booking-box .skd-checkin,
.booking-box .skd-checkout {
  position: relative;
  float: left;

  width: 33%;
}

.booking-box .skd-checkin input,
.booking-box .skd-checkout input {
  width: calc(100% - 10px - 10px - 2px);

  padding: 10px;

  border: 1px solid #ffffff;
  border-right-color: #e7e8ec;

  font-size: 0.882em;

  color: #505256;
  text-align: left;
  text-transform: none;
}

.booking-box .skd-checkout input {
  border-right-color: #ffffff;
}

.booking-box .skd-checkin .ui-datepicker-trigger,
.booking-box .skd-checkout .ui-datepicker-trigger {
  position: absolute;

  top: 8px;
  right: 10px;

  margin: 0;
}

.booking-box .submit {
  width: 34%;

  padding: 11px 10px 11px 10px;

  border: none;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;

  text-transform: none;
}

/**********************************************************************/
/* Anker
/**********************************************************************/
.hidden-anchor {
  overflow: hidden;
  display: block;

  width: 0;
  height: 0;

  font-size: 0;

  line-height: 0;
}

/**********************************************************************/
/* Inhalt per Ajax
/**********************************************************************/
.hidden_ajax-content {
  overflow: hidden;
  visibility: hidden;

  height: 0;
}

.ajax-content {
  overflow: hidden;
  position: relative;

  min-width: 320px !important;
  max-width: 760px;

  margin: 0 auto 0 auto;
  padding: 20px;

  background-color: #ffffff;
}

.ajax-content p:last-of-type {
  padding-bottom: 0;
}

/**********************************************************************/
/* Absaetze
/**********************************************************************/
p {
  padding: 0 0 50px 0;
}

.text-light {
  font-size: 0.882em; /* 15px bei Elterngroesse 17px */

  color: #aaacb0;
  line-height: 145%;
}

/**********************************************************************/
/* Textauszeichnungen
/**********************************************************************/
strong,
b,
* strong,
* b,
strong *,
b * {
  font-weight: 600;
}

em,
i,
* em,
* i,
* em *,
* i * {
  font-style: italic;
}

/****************************************/
/* Suche
/****************************************/
span.csc-sword {
  padding: 0 2px 0 2px;

  background-color: #ffcd00;

  color: #ffffff;
}

/**********************************************************************/
/* Medien
/**********************************************************************/
iframe {
  overflow: hidden;
}

img,
iframe {
  max-width: 100%;
}

.embed-responsive-item {
  width: 100%;
}

.video-container {
  position: relative;
  width: 100%;
  max-width: 2100px;
}
.video-container video {
  width: 100%;
  display: block;
}
.video-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.video-overlay::before {
  content: '▶';
  font-size: 50px;
  color: white;
  font-weight: bold;
}
.video-overlay.hidden {
  display: none;
}


/**********************************************************************/
/* Abstandshalter
/**********************************************************************/
hr {
  overflow: hidden;
  clear: both;

  height: 1px;

  margin: 0 0 50px 0;

  background-color: #505256;
}

hr.spacer-20 {
  height: 20px;

  margin: 0;

  background-color: transparent;
}

hr.spacer-40 {
  height: 40px;

  margin: 0;

  background-color: transparent;
}

hr.spacer-50 {
  height: 50px;

  margin: 0;

  background-color: transparent;
}

/**********************************************************************/
/* Ueberschriften
/**********************************************************************/
h1,
h2,
h3
 {
  padding: 0 0 30px 0;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 1.765em; /* 30px bei Elterngroesse 17px */
  font-weight: 700;

  color: #505256;
  letter-spacing: 0.05em;
  line-height: 125%;
  text-transform: uppercase;
}

h1 *,
h2 *,
h3 * {
  font-family: Oswald, Arial, Helvetica, sans-serif;

  letter-spacing: 0.05em;
  text-transform: uppercase;
}


.h4
{
  letter-spacing: normal;
  text-transform: none;
}

h4,
.h4,
h5,
.h5 {
  padding: 0 0 30px 0;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 1.412em; /* 24px bei Elterngroesse 17px */
  font-weight: 400;

  color: #505256;
  line-height: 125%;
}

h5,
.h5 {
  color: #aaacb0;
}

h1,
h2,
h3,
h4,
.h4,
h5,
.h5,
.anchor-nav {
  text-align: center;
}



/**********************************************************************/
/* Links
/**********************************************************************/
a,
a:link,
a:visited,
a:focus,
a:hover,
a:active {
  color: #505256;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

/****************************************/
/* Link ohne Link-Stil
/****************************************/
.no-link {
  cursor: auto !important;
}

/****************************************/
/* Link wie Button
/****************************************/
.button,
.button-yellow {
  display: inline-block;

  margin: 0 5px 0 0;
  padding: 15px 25px 15px 25px;

  background-color: #e6e8ec;

  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 0.882em; /* 15px bei Standardgroesse 17px */

  color: #aaacb0;
  letter-spacing: 0.09em;
  line-height: 125%;
  text-transform: uppercase;
}

.button-yellow {
  background-color: #ffcd00;

  color: #ffffff;
}

.button,
.button:link,
.button:visited,
.button:focus,
.button:active,
.button-yellow,
.button-yellow:link,
.button-yellow:visited,
.button-yellow:focus,
.button-yellow:active {
  text-decoration: none;
}

.button:hover,
.button-yellow:hover {
  color: #505256;
  cursor: pointer;
}

/**********************************************************************/
/* Tabellen
/**********************************************************************/
table,
table tr,
table tr th,
table tr td {
  font-size: 17px; /* Standardgroesse 17px */

  color: #3c3e40;
  line-height: 145%;
}

table {
  width: 100% !important;
  max-width: 960px;

  margin: 0 auto 30px auto;

  border: 1px solid #e6e8ec;
  border-collapse: collapse;
  border-spacing: 0;
}

table thead,
table tbody {
  width: 100%;
}

table tr th,
table tr td {
  padding: 2px 15px 2px 15px;

  border: 1px solid #e6e8ec;
  border-top: none;
  border-bottom: none;

  text-align: center;
  vertical-align: top;
}

table tr th {
  padding-top: 7px;
  padding-bottom: 12px;
}

/**********************************************************************/
/* Listen
/**********************************************************************/
ol,
ul {
  padding: 0 0 50px 0;
}

ol li {
  margin: 0 0 0 25px;

  list-style-image: none;
  list-style-position: outside;
  list-style-type: decimal;
}

ul li {
  margin: 0 0 0 19px;

  list-style-image: none;
  list-style-position: outside;
  list-style-type: disc;
}

/****************************************/
/* mit geschwungenen Klammern
/****************************************/
.curly-braces {
  position: relative;
  display: block;

  max-width: 500px;

  margin: -20px auto 50px auto;
  padding: 0 80px 0 80px;

  text-align: left;
}

.curly-braces ul,
.curly-braces ol {
  padding: 0;
}

.curly-braces div {
  position: absolute;
  display: block;
  z-index: 1;

  background: url("../images/icon_curly-brace.png") no-repeat;
  background-image: url("../images/icon_curly-brace.svg"), none;
}

.curly-braces div.child-1,
.curly-braces div.child-2,
.curly-braces div.child-3,
.curly-braces div.child-4 {
  width: 21px;
  height: 23px;
}

.curly-braces div.child-1,
.curly-braces div.child-2 {
  top: 10px;
}

.curly-braces div.child-1 {
  left: 13px;

  background-position: 0 0;
}

.curly-braces div.child-2 {
  right: 13px;

  background-position: -23px 0;
}

.curly-braces div.child-3,
.curly-braces div.child-4 {
  bottom: 10px;
}

.curly-braces div.child-3 {
  right: 13px;

  background-position: -23px -25px;
}

.curly-braces div.child-4 {
  left: 13px;

  background-position: 0 -25px;
}

.curly-braces div.child-5,
.curly-braces div.child-6 {
  top: 50%;

  width: 16px;
  height: 23px;

  margin: -12px 0 0 0;
}

.curly-braces div.child-5 {
  left: 0;

  background-position: 0 -49px;
}

.curly-braces div.child-6 {
  right: 0;

  background-position: -16px -49px;
}

.curly-braces div.child-7,
.curly-braces div.child-8,
.curly-braces div.child-9,
.curly-braces div.child-10 {
  width: 3px;

  background-color: #e6e8ec;
}

.curly-braces div.child-7,
.curly-braces div.child-8 {
  top: 32px;
  bottom: 50%;

  margin: 0 0 11px 0;
}

.curly-braces div.child-7 {
  left: 13px;
}

.curly-braces div.child-8 {
  right: 13px;
}

.curly-braces div.child-9,
.curly-braces div.child-10 {
  top: 50%;
  bottom: 32px;

  margin: 11px 0 0 0;
}

.curly-braces div.child-9 {
  left: 13px;
}

.curly-braces div.child-10 {
  right: 13px;
}

/**********************************************************************/
/* Formulare
/**********************************************************************/
/****************************************/
/* Allgemein
/****************************************/
label {
  display: block;

  cursor: pointer;
}

label em,
legend em {
  position: relative;

  top: 5px;

  padding: 0 0 0 5px;

  font-size: 1.765em; /* 30px bei Standardgroesse 17px */
  font-style: normal;
  font-weight: 600;

  color: #ffcd00;
  line-height: 0;
}

input,
textarea {
  background-color: #ffffff;

  padding: 15px;

  border: 1px solid #505256;

  font-size: 17px; /* bei Standardgroesse 17px */

  color: #505256;
  line-height: 125%;
}

input[type="text"],
textarea {
  -webkit-appearance: none;
}

input[type="radio"],
input[type="checkbox"] {
  background-color: transparent;

  border: none;
}

input[type="submit"],
input[type="reset"] {
  padding: 17px 25px 17px 25px;

  background-color: #ffcd00;

  border: none;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 0.882em; /* 15px bei Standardgroesse 17px */
  font-weight: 400;

  color: #ffffff;
  cursor: pointer;
  letter-spacing: 0.09em;
  line-height: 125%;
  text-transform: uppercase;

  -webkit-appearance: none;
}

input[type="reset"] {
  background-color: #e6e8ec;

  color: #aaacb0;
}

select {
  background-color: #ffffff;

  padding: 9px 15px 8px 15px;

  border: 1px solid #e4e4e0;

  font-size: 16px; /* Standardgroesse 16px */

  color: #646668;
  line-height: 125%;
}

/****************************************/
/* Listen
/****************************************/
form {
  text-align: left;
}

.search form {
  text-align: center;
}

form#formhandler_newsletter-form,
form#bookingRequestForm {
  max-width: 65.52%;

  margin: 0 auto 0 auto;
}

form ul {
  padding: 0;
}

form ul li {
  overflow: hidden;
  clear: both;

  margin: 0;
  padding: 0 0 4px 0;

  list-style-type: none;
}

form ul li label,
form ul li input,
form ul li textarea,
form ul li select,
form ul li fieldset legend,
form ul li fieldset .fieldset-radio,
form ul li fieldset .fieldset-radio div,
form ul li fieldset .fieldset-checkbox,
form ul li fieldset .fieldset-checkbox div{
  float: left;
}

form ul li label,
form ul li fieldset legend {
  padding: 14px 2.63% 0 0;
}

form ul li fieldset label {
  padding-top: 5px;
}

form ul li > label,
form ul li fieldset legend {
  width: 28.94%;
}

form ul li fieldset label {
  width: auto;
}

form ul li fieldset label span {
  display: inline-block;
  position: relative;

  top: -2px;

  margin: 0 0 0 10px;
  padding: 1px 6px 1px 6px;

  background-color: #bebab0;

  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;

  font-size: 0.875em; /* 14px bei Standardgroesse 16px */

  color: #ffffff;
  line-height: 125%;
}

form ul li fieldset .fieldset-radio,
form ul li fieldset .fieldset-checkbox {
  width: 68.43%;

  padding: 9px 0 0 0;
}

form ul li fieldset .fieldset-radio div {
  padding: 10px 10px 0 0;
}

form ul li fieldset .fieldset-checkbox div {
  clear: both;

  padding: 10px 10px 0 0;
}

form ul li input,
form ul li textarea {
  width: 68.43%;
}

form ul li textarea {
  height: 200px;
}

form input[type="text"],
form textarea {
  -o-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

form ul li input[type="radio"],
form ul li input[type="checkbox"]{
  width: auto;

  padding: 0;
}

form ul li input[type="submit"] {
  width: auto;

  margin: 0 0 0 31.57%;
}

form ul li input.error {
  border-color: #ffcd00;
}

form ul li strong {
  clear: both;
  display: block;

  margin: 0 0 0 31.57%;
  padding: 5px 0 10px 0;

  color: #ffcd00;
}

form .info {
  display: none;
}

form .desc {
  padding-top: 20px;

  font-style: italic;
}

form .desc em {
  position: relative;

  top: 5px;

  padding: 0 0 0 5px;

  font-size: 1.765em; /* 30px bei Standardgroesse 17px */
  font-style: normal;
  font-weight: 600;

  color: #ffcd00;
  line-height: 0;
}

/**********/
/* Spezialfaelle
/**********/
form#bookingRequestForm #zip {
  width: 20%;
}

form#bookingRequestForm #city {
  float: right;

  width: 45%;
}

/****************************************************************************************************/
/* Spezielle Elemente
/****************************************************************************************************/
/**********************************************************************/
/* Raumteiler
/**********************************************************************/
.partition {
  overflow: hidden;
}

.partition .part {
  overflow: hidden;
  float: left;
}

/****************************************/
/* 1/2 zu 1/2
/****************************************/
.partition.layout_12-12 {
  max-width: 960px;

  margin: auto;
  padding: 0 0 50px 0;
}

.partition.layout_12-12:last-of-type {
  padding-bottom: 100px;
}

.partition.layout_12-12 .part {
  width: 47.91%;
}

.partition.layout_12-12 .col-2 {
  float: right;
}

.partition.layout_12-12 .part img {
  display: block;

  width: 100%;

  padding: 0 0 30px 0;
}

.partition.layout_12-12 .part p {
  padding: 0 10px 0 10px;
}

/**********/
/* Galerie
/**********/
.partition.layout_12-12 .image-gallery {
  max-width: none;

  padding: 50px 0 0 0;
}

.partition.layout_12-12 .image-gallery .csc-textpic-image {
  width: 43.33%;

  margin: 0 6.67% 0 0;
}

.partition.layout_12-12 .image-gallery .csc-textpic-image:nth-child(2n) {
  margin-right: 0;
}

/**********/
/* Webcam
/**********/
.partition.layout_12-12 .part .webcam {
  position: relative;
}

.partition.layout_12-12 .part .webcam.no-webcam_cookie > img {
  margin: 0 0 30px 0;
  padding-bottom: 0 !important;
}

.partition.layout_12-12 .part .webcam > div {
  overflow: hidden;
  position: absolute;

  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  border: 5px solid #ffcd00;
}

.partition.layout_12-12 .part .webcam > div > span {
  position: absolute;

  top: 50%;
  right: 10px;
  left: 10px;
}

.partition.layout_12-12 .part .webcam > div > span .button {
  margin: 10px 0 0 0;
}

/****************************************/
/* 1/2 zu 1/2 - ohne Raender
/****************************************/
.partition.layout_12-12_no-margin {
  height: 370px;

  background-color: #e6e8ec;

  cursor: pointer;
}

.partition.layout_12-12_no-margin:last-of-type {
  margin-bottom: 50px;
}

.partition.layout_12-12_no-margin .part {
  width: 50%;
}

.partition.layout_12-12_no-margin .col-1 {
  height: 100%;
}

.partition.layout_12-12_no-margin.nth-child_even .col-1 {
  float: right;
}

.partition.layout_12-12_no-margin .col-1 .image {
  height: 100%;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.partition.layout_12-12_no-margin .col-2 {
  padding: 70px 0 0 0;

  text-align: left;
}

.partition.layout_12-12_no-margin .col-2 > * {
  padding-right: 40px;
  padding-left: 40px;
}

.partition.layout_12-12_no-margin .col-2 p:last-child {
  padding-bottom: 0;
}

/****************************************/
/* 1/3 zu 1/3 zu 1/3
/****************************************/
.partition.layout_13-13-13 {
  max-width: 1160px;

  cursor: pointer;
}

.partition.layout_13-13-13 .part {
  width: 31.03%;

  margin: 0 3.455% 40px 0;
}

.partition.layout_13-13-13 .part.nth-child_3n {
  margin-right: 0;
}

.partition.layout_13-13-13 .part img {
  display: block;

  width: 100%;

  padding: 0 0 30px 0;
}

.partition.layout_13-13-13 .part p {
  padding: 0 10px 0 10px;
}

/**********************************************************************/
/* Preiselement
/**********************************************************************/
.spa_price-list {
  overflow: hidden;

  margin: auto;
  padding: 0 0 20px 0;

  text-align: left;
}

.spa_price-list article {
  overflow: hidden;
  display: block;

  width: 50%;

  margin: 0 auto 10px auto;
  padding-top: 10px;
  padding-bottom: 20px;

  border-bottom: 1px solid #e6e8ec;

  cursor: text;
}

.spa_price-list article div {
  overflow: hidden;
  float: left;
}

.spa_price-list article div:last-child {
  float: right;
}

.spa_price-list article div h4 {
  padding: 0;
}

.spa_price-list article div span {
  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 1.412em; /* 24px bei Elterngroesse 17px */

  color: #ffcd00;
  line-height: 125%;
  letter-spacing: 0.05em;
}

.spa_price-list article div a {
  font-size: 0.882em; /* 15px bei Elterngroesse 17px */

  line-height: 145%;
}

.spa_price-list article div p {
  padding-bottom: 0;
}

/****************************************************************************************************/
/* Erweiterungen
/****************************************************************************************************/
/**********************************************************************/
/* Angebote
/**********************************************************************/
/****************************************/
/* Liste
/****************************************/
.offers {
  overflow: hidden;

  margin: 0 auto 31px auto;
}

.offers.list {
  max-width: 1160px;
}

.offers article {
  overflow: hidden;
  position: relative;
  display: block;
  float: left;

  width: 25%;
  height: 445px;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  cursor: pointer;
}

.offers.list article {
  width: 31.03%;

  margin: 0 3.455% 30px 0;
}

.offers.list article:nth-child(3n) {
  margin-right: 0;
}

.offers article:after {
  overflow: hidden;
  position: absolute;
  display: block;
  z-index: 1;

  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  background-color: rgba(80, 82, 86, 0.3);

  content: "";
}

.offers article:hover:after {
  background-color: rgba(255, 205, 0, 0.8);
}

.offers article div {
  position: absolute;
  z-index: 2;

  right: 40px;
  bottom: 40px;
  left: 40px;

  color: #ffffff;
}

.offers article div h4 {
  color: #ffffff;
}

.offers article div p {
  display: none;

  padding: 0;
}

.offers article p span.nowrap {
  white-space: nowrap;
}

.offers article:hover p {
  display: block;
}

.offers article div > span {
  display: inline-block;

  margin: 10px 0 0 0;
  padding: 10px 0 0 0;

  border-top: 4px solid #ffcd00;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 1.765em; /* 30px bei Elterngroesse 17px */
  font-weight: 700;

  letter-spacing: 0.05em;
  line-height: 125%;
}

.offers article div a {
  position: absolute;
  display: block;

  right: 0;
  bottom: 0;

  font-size: 0.882em; /* 15px bei Elterngroesse 17px */

  line-height: 145%;
}

.offers article div a,
.offers article div a:link,
.offers article div a:visited,
.offers article div a:focus,
.offers article div a:hover,
.offers article div a:active {
  color: #ffffff;
}

/****************************************/
/* Detail
/****************************************/
.offer-detail .headline {
  position: relative;

  max-width: 65.52%;

  margin: auto;
  padding-right: 100px;
  padding-left: 100px;
}

/**********/
/* vor/zurueck
/**********/
.offer-detail .headline a,
.offer-detail .headline span {
  position: absolute;
  display: block;
  z-index: 1;

  top: 50%;

  width: 46px;
  height: 24px;

  margin: -27px 0 0 0;

  background: url("../images/icons.png") no-repeat;
  background-image: url("../images/icons.svg"), none;
}

.offer-detail .headline a,
.offer-detail .headline a:link,
.offer-detail .headline a:visited,
.offer-detail .headline a:focus,
.offer-detail .headline a:hover,
.offer-detail .headline a:active {
  text-decoration: none;
}

.offer-detail .headline a.prev,
.offer-detail .headline span.prev {
  left: 15px;

  background-position: -48px -58px;
}

.offer-detail .headline span.prev {
  background-position: 0 -58px;
}

.offer-detail .headline a.prev:hover {
  background-position: -144px -58px;
}

.offer-detail .headline a.next,
.offer-detail .headline span.next {
  right: 15px;

  background-position: -48px -84px;
}

.offer-detail .headline span.next {
  background-position: 0 -84px;
}

.offer-detail .headline a.next:hover {
  background-position: -144px -84px;
}

.offer-detail .time,
.offer-detail .time > * {
  font-size: 1.176em; /* 20px bei Elterngroesse 17px */
  font-weight: 700;

  line-height: 145%;
}

/* Preis */
.offer-detail span.price {
  display: inline-block;

  margin: 10px 0 0 0;
  padding: 10px 0 0 0;

  border-top: 4px solid #ffcd00;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 1.765em; /* 30px bei Elterngroesse 17px */
  font-weight: 700;

  letter-spacing: 0.05em;
  line-height: 125%;
}

/**********/
/* Buttons
/**********/
.offer-detail .booking,
.offer-detail .request {
  overflow: hidden;
  display: block;

  width: 50%;

  margin: 0 0 50px 0;
}

.offer-detail .booking {
  float: left;

  text-align: right;
}

.offer-detail .request {
  float: right;

  text-align: left;
}

.offer-detail .booking a,
.offer-detail .request a {
  display: inline-block;

  margin: 0 5px 0 0;
  padding: 15px 25px 15px 25px;

  background-color: #ffcd00;

  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 0.882em; /* 15px bei Standardgroesse 17px */

  color: #ffffff;
  letter-spacing: 0.09em;
  line-height: 125%;
  text-transform: uppercase;
}

.offer-detail .request a {
  margin: 0 0 0 5px;

  background-color: #e6e8ec;

  color: #aaacb0;
}

.offer-detail .booking a,
.offer-detail .booking a:link,
.offer-detail .booking a:visited,
.offer-detail .booking a:focus,
.offer-detail .booking a:hover,
.offer-detail .booking a:active,
.offer-detail .request a,
.offer-detail .request a:link,
.offer-detail .request a:visited,
.offer-detail .request a:focus,
.offer-detail .request a:hover,
.offer-detail .request a:active {
  text-decoration: none;
}

.offer-detail .booking a:hover,
.offer-detail .request a:hover {
  color: #505256;
}

/**********************************************************************/
/* News
/**********************************************************************/
.anchor-nav.news-category {
  padding-top: 31px;
}

/****************************************/
/* Liste
/****************************************/
.news {
  overflow: hidden;
}

.news article {
  overflow: hidden;
  display: block;

  height: 370px;

  background-color: #e6e8ec;

  cursor: pointer;
}

.news article div {
  overflow: hidden;
  float: left;

  width: 50%;

  padding: 30px 0 0 0;

  text-align: left;
}

.news article div.image {
  height: 100%;

  padding: 0;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.news article:nth-child(even) div.image {
  float: right;
}

.news article div > * {
  padding-right: 40px;
  padding-left: 40px;
}

.news article div header time {
  display: inline-block;

  margin: 0 0 20px 0;

  border-bottom: 2px solid #ffcd00;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 0.824em; /* 14px bei Elterngroesse 17px */

  letter-spacing: 0.05em;
  line-height: 125%;
}

/****************************************/
/* Detail
/****************************************/
.news-detail time {
  display: inline-block;

  margin: 0 0 20px 0;

  border-bottom: 2px solid #ffcd00;

  font-family: Oswald, Arial, Helvetica, sans-serif;

  letter-spacing: 0.05em;
}

.news-detail .headline {
  position: relative;

  max-width: 65.52%;

  margin: auto;
  padding-right: 100px;
  padding-left: 100px;
}

/**********/
/* vor/zurueck
/**********/
.news-detail .headline a,
.news-detail .headline span {
  position: absolute;
  display: block;
  z-index: 1;

  top: 50%;

  width: 46px;
  height: 24px;

  margin: -27px 0 0 0;

  background: url("../images/icons.png") no-repeat;
  background-image: url("../images/icons.svg"), none;
}

.news-detail .headline a,
.news-detail .headline a:link,
.news-detail .headline a:visited,
.news-detail .headline a:focus,
.news-detail .headline a:hover,
.news-detail .headline a:active {
  text-decoration: none;
}

.news-detail .headline a.prev,
.news-detail .headline span.prev {
  left: 15px;

  background-position: -48px -58px;
}

.news-detail .headline span.prev {
  background-position: 0 -58px;
}

.news-detail .headline a.prev:hover {
  background-position: -144px -58px;
}

.news-detail .headline a.next,
.news-detail .headline span.next {
  right: 15px;

  background-position: -48px -84px;
}

.news-detail .headline span.next {
  background-position: 0 -84px;
}

.news-detail .headline a.next:hover {
  background-position: -144px -84px;
}

/**********/
/* Galerie
/**********/
.news-detail .image-gallery {
  overflow: hidden;

  max-width: 65.52%;

  margin: auto;
}

.news-detail .image-gallery .lightbox {
  display: block;
  float: left;

  width: 23.68%;

  margin: 0 1.76% 30px 0;
}

.news-detail .image-gallery .lightbox:nth-child(4n) {
  margin-right: 0;
}

.news-detail .image-gallery .lightbox img {
  display: block;

  width: 100%;
}

/**********************************************************************/
/* Pagination
/**********************************************************************/
.pagination {
  overflow: hidden;

  margin-top: 31px;
  margin-bottom: 31px;
}

.pagination > a,
.pagination > span,
.pagination > ul,
.pagination > ul li {
  display: block;
  float: left;
}

/****************************************/
/* erste/vorherige/nexte/letzte
/****************************************/
.pagination > a,
.pagination > span {
  height: 16px;

  margin: 5px 0 0 0;

  background: url("../images/icons.png") no-repeat;
  background-image: url("../images/icons.svg"), none;
}

.pagination > a,
.pagination > a:link,
.pagination > a:visited,
.pagination > a:focus,
.pagination > a:hover,
.pagination > a:active {
  text-decoration: none;
}

.pagination > a.first,
.pagination > a.last,
.pagination > span.first,
.pagination > span.last {
  width: 16px;
}

.pagination > a.prev,
.pagination > a.next,
.pagination > span.prev,
.pagination > span.next {
  width: 9px;

  margin-right: 10px;
  margin-left: 10px;
}

.pagination > a.first {
  background-position: -54px -338px;
}

.pagination > span.first {
  background-position: 0 -338px;
}

.pagination > a.first:hover {
  background-position: -18px -338px;
}

.pagination > a.prev {
  background-position: -33px -302px;
}

.pagination > span.prev {
  background-position: 0 -302px;
}

.pagination > a.prev:hover {
  background-position: -11px -302px;
}

.pagination > a.next {
  background-position: -33px -284px;
}

.pagination > span.next {
  background-position: 0 -284px;
}

.pagination > a.next:hover {
  background-position: -11px -284px;
}

.pagination > a.last {
  background-position: -54px -320px;
}

.pagination > span.last {
  background-position: 0 -320px;
}

.pagination > a.last:hover {
  background-position: -18px -320px;
}

/****************************************/
/* Seiten
/****************************************/
.pagination > ul {
  padding: 0;
}

.pagination > ul * {
  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 0.941em; /* 16px bei Elterngroesse 17px */

  letter-spacing: 0.05em;
  line-height: 125%;
}

.pagination > ul li {
  width: 30px;

  margin: 0 2px 0 2px;
  padding: 5px 0 5px 0;

  -moz-border-radius: 16px;
  -ms-border-radius: 16px;
  -o-border-radius: 16px;
  -webkit-border-radius: 16px;
  border-radius: 16px;
}

.pagination > ul li:hover {
  background-color: #e6e8ec;
}

.pagination > ul li.active {
  background-color: #ffcd00;
}

.pagination > ul li a {
  display: block;

  text-align: center;
}

.pagination > ul li a,
.pagination > ul li a:link,
.pagination > ul li a:visited,
.pagination > ul li a:focus,
.pagination > ul li a:hover,
.pagination > ul li a:active {
  color: #505256;
  text-decoration: none;
}

.pagination > ul li:hover a,
.pagination > ul li a:hover {
  color: #505256;
}

.pagination > ul li.active a,
.pagination > ul li.active a:link,
.pagination > ul li.active a:visited,
.pagination > ul li.active a:focus,
.pagination > ul li.active a:hover,
.pagination > ul li.active a:active {
  color: #ffffff;
}

/**********************************************************************/
/* Zimmer
/**********************************************************************/
/****************************************/
/* Liste
/****************************************/
.rooms {
  overflow: hidden;

  margin: auto;
  padding: 0 0 20px 0;

  text-align: left;
}

.rooms.layout_12-12 {
  max-width: 760px;
}

.rooms.layout_13-13-13 {
  max-width: 1160px;
}


.rooms.layout_13-13-13 p {
  text-align: center;
}

.rooms article {
  overflow: hidden;
  display: block;
  float: left;

  cursor: pointer;
}

.rooms.layout_12-12 article {
  width: 47.36%;

  margin: 0 5.28% 40px 0;
}

.rooms.layout_12-12 article.nth-child_2n {
  margin-right: 0;
}

.rooms.layout_13-13-13 article {
  width: 31.03%;

  margin: 0 3.455% 40px 0;
}

.rooms.layout_13-13-13 article.nth-child_3n {
  margin-right: 0;
}

.rooms article img {
  display: block;

  width: 100%;

  padding: 0 0 15px 0;
}

.rooms article div {
  overflow: hidden;
  float: left;
}

.rooms article div:last-child {
  float: right;
}

.rooms article div h4 {
  padding: 0;
}

.rooms article div span {
  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 1.412em; /* 24px bei Elterngroesse 17px */

  color: #ffcd00;
  line-height: 125%;
  letter-spacing: 0.05em;
}

.rooms article div a {
  font-size: 0.882em; /* 15px bei Elterngroesse 17px */

  line-height: 145%;
}

/****************************************/
/* Detail
/****************************************/
.rooms-detail {
  position: relative;
}

/**********/
/* Kopfzeile
/**********/
.rooms-detail .headline {
  position: relative;

  max-width: 440px;

  margin: auto;
  padding-right: 100px;
  padding-left: 100px;
}

.rooms-detail .headline a {
  position: absolute;
  display: block;
  z-index: 1;

  top: 50%;

  width: 46px;
  height: 24px;

  margin: -27px 0 0 0;

  background: url("../images/icons.png") no-repeat;
  background-image: url("../images/icons.svg"), none;
}

.rooms-detail .headline a,
.rooms-detail .headline a:link,
.rooms-detail .headline a:visited,
.rooms-detail .headline a:focus,
.rooms-detail .headline a:hover,
.rooms-detail .headline a:active {
  text-decoration: none;
}

.rooms-detail .headline a.prev {
  left: 15px;

  background-position: -48px -58px;
}

.rooms-detail .headline a.prev:hover {
  background-position: -144px -58px;
}

.rooms-detail .headline a.next {
  right: 15px;

  background-position: -48px -84px;
}

.rooms-detail .headline a.next:hover {
  background-position: -144px -84px;
}

.rooms-detail .overview {
  position: absolute;

  top: 30px;
  left: 10px;

  border-bottom: 2px solid #ffcd00;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 0.824em; /* 14px bei Elterngroesse 17px */

  letter-spacing: 0.09em;
  line-height: 135%;
  text-transform: uppercase;
}

.rooms-detail a.overview,
.rooms-detail a.overview:link,
.rooms-detail a.overview:visited,
.rooms-detail a.overview:focus,
.rooms-detail a.overview:hover,
.rooms-detail a.overview:active {
  color: #3c3e42;
  text-decoration: none;
}

.rooms-detail a.overview:focus,
.rooms-detail a.overview:hover {
  color: #ffcd00;
}

/**********/
/* Listen
/**********/
.rooms-detail .curly-braces {
  max-width: 280px;
}

/**********/
/* Buttons
/**********/
.rooms-detail .booking,
.rooms-detail .request {
  overflow: hidden;
  display: block;

  width: 50%;

  margin: 0 0 50px 0;
}

.rooms-detail .booking {
  float: left;

  text-align: right;
}

.rooms-detail .request {
  float: right;

  text-align: left;
}

.rooms-detail .booking a,
.rooms-detail .request a,
.rooms-detail a.hapi-w-button {
  display: inline-block;

  margin: 0 5px 0 0;
  padding: 15px 25px 15px 25px;

  background-color: #ffcd00;

  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 0.882em; /* 15px bei Standardgroesse 17px */

  color: #ffffff;
  letter-spacing: 0.09em;
  line-height: 125%;
  text-transform: uppercase;
}

.rooms-detail a.hapi-w-button {
  font-size: 1em;
}

.rooms-detail a.hapi-w-button-inquiry {
  background-color: #e6e8ec;
  color: #aaacb0;
}

.rooms-detail .request a {
  margin: 0 0 0 5px;

  background-color: #e6e8ec;

  color: #aaacb0;
}

.rooms-detail .booking a,
.rooms-detail .booking a:link,
.rooms-detail .booking a:visited,
.rooms-detail .booking a:focus,
.rooms-detail .booking a:hover,
.rooms-detail .booking a:active,
.rooms-detail .request a,
.rooms-detail .request a:link,
.rooms-detail .request a:visited,
.rooms-detail .request a:focus,
.rooms-detail .request a:hover,
.rooms-detail .request a:active,
.rooms-detail a.hapi-w-button,
.rooms-detail a.hapi-w-button:link,
.rooms-detail a.hapi-w-button:visited,
.rooms-detail a.hapi-w-button:focus,
.rooms-detail a.hapi-w-button:hover,
.rooms-detail a.hapi-w-button:active {
  text-decoration: none;
}

.rooms-detail .booking a:hover,
.rooms-detail .request a:hover,
.rooms-detail a.hapi-w-button:hover {
  color: #505256;
  cursor: pointer;
}

/**********/
/* Preise
/**********/
.rooms-detail .slick-specialPriceTable {
  max-width: 960px;

  margin: 0 auto 30px auto;

  border: 1px solid #e6e8ec;
}

/* vor/zurueck */
.rooms-detail .slick-specialPriceTable .slick-arrow {
  z-index: 100;

  width: 9px;
  height: 16px;

  margin-top: -12px;

  background: url("../images/icons.png") no-repeat;
  background-image: url("../images/icons.svg"), none;
}

.rooms-detail .slick-specialPriceTable .slick-arrow:before {
  display: none;
}

.rooms-detail .slick-specialPriceTable .slick-prev {
  left: -45px;

  background-position: -33px -302px;
}

.rooms-detail .slick-specialPriceTable .slick-prev:hover {
  background-position: -11px -302px;
}

.rooms-detail .slick-specialPriceTable .slick-next {
  right: -45px;

  background-position: -33px -284px;
}

.rooms-detail .slick-specialPriceTable .slick-next:hover {
  background-position: -11px -284px;
}

/* Inhalt */
.rooms-detail .slick-specialPriceTable .slick-slide {
  position: relative;

  padding: 10px 15px 15px 15px;
}

.rooms-detail .slick-specialPriceTable .slick-slide:nth-child(even) {
  background-color: #e6e8ec;
}

.rooms-detail .slick-specialPriceTable .slick-slide .title {
  display: block;

  padding: 0 0 65px 0;

  color: #2d2d2d;
}

.rooms-detail .slick-specialPriceTable .slick-slide .title strong {
  display: inline-block;

  padding: 5px 0 0 0;
}

.rooms-detail .slick-specialPriceTable .slick-slide .price {
  display: block;
  position: absolute;

  right: 0;
  bottom: 15px;
  left: 0;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 1.765em; /* 30px bei Elterngroesse 17px */
  font-weight: 700;

  letter-spacing: 0.05em;
  line-height: 125%;
}

.rooms-detail .slick-specialPriceTable .slick-slide .price span {
  display: inline-block;

  padding: 10px 0 0 0;

  border-top: 4px solid #ffcd00;
}

/**********************************************************************/
/* Suche
/**********************************************************************/
.search article {
  overflow: hidden;
  display: block;

  max-width: 65.52%;

  margin: 0 auto 30px auto;
  padding: 0 0 30px 0;

  border-bottom: 1px solid #e6e8ec;

  cursor: pointer;
  text-align: left;
}

/****************************************/
/* Pagination
/****************************************/
div.tx-indexedsearch-browsebox {
  overflow: hidden;

  max-width: 65.52%;

  margin: 31px auto 0 auto;
}

.tx-indexedsearch-browsebox > a,
.tx-indexedsearch-browsebox > ul,
.tx-indexedsearch-browsebox > ul li {
  display: block;
  float: left;
}

/**********/
/* vorherige/nexte
/**********/
.tx-indexedsearch-browsebox a.prev,
.tx-indexedsearch-browsebox a.next {
  height: 16px;

  margin: 2px 0 0 0;

  background: url("../images/icons.png") no-repeat;
  background-image: url("../images/icons.svg"), none;
}

.tx-indexedsearch-browsebox a,
.tx-indexedsearch-browsebox a:link,
.tx-indexedsearch-browsebox a:visited,
.tx-indexedsearch-browsebox a:focus,
.tx-indexedsearch-browsebox a:hover,
.tx-indexedsearch-browsebox a:active {
  text-decoration: none;
}

.tx-indexedsearch-browsebox a.prev,
.tx-indexedsearch-browsebox a.next {
  width: 9px;

  margin-right: 10px;
  margin-left: 10px;

  content: "";
  text-indent: -99999px;
}

.tx-indexedsearch-browsebox a.prev {
  background-position: -33px -302px;
}

.tx-indexedsearch-browsebox a.prev:hover {
  background-position: -11px -302px;
}

.tx-indexedsearch-browsebox a.next {
  background-position: -33px -284px;
}

.tx-indexedsearch-browsebox a.next:hover {
  background-position: -11px -284px;
}

/**********/
/* Seiten
/**********/
.tx-indexedsearch-browsebox > ul {
  padding: 0;
}

.tx-indexedsearch-browsebox > ul * {
  font-family: Oswald, Arial, Helvetica, sans-serif;
}

.tx-indexedsearch-browsebox > ul > * {
  font-size: 0.941em; /* 16px bei Elterngroesse 17px */

  letter-spacing: 0.05em;
  line-height: 125%;
}

.tx-indexedsearch-browsebox > ul li {
  width: 30px;

  margin: 0 2px 0 2px;
  padding: 5px 0 5px 0;

  -moz-border-radius: 16px;
  -ms-border-radius: 16px;
  -o-border-radius: 16px;
  -webkit-border-radius: 16px;
  border-radius: 16px;
}

.tx-indexedsearch-browsebox > ul li strong,
.tx-indexedsearch-browsebox > ul li strong * {
  font-weight: 400;
}

.tx-indexedsearch-browsebox > ul li:hover {
  background-color: #e6e8ec;
}

.tx-indexedsearch-browsebox > ul li.no-hover:hover {
  background-color: transparent;
}

.tx-indexedsearch-browsebox > ul li.tx-indexedsearch-browselist-currentPage {
  background-color: #ffcd00;
}

.tx-indexedsearch-browsebox > ul li a {
  display: block;

  text-align: center;
}

.tx-indexedsearch-browsebox > ul li a,
.tx-indexedsearch-browsebox > ul li a:link,
.tx-indexedsearch-browsebox > ul li a:visited,
.tx-indexedsearch-browsebox > ul li a:focus,
.tx-indexedsearch-browsebox > ul li a:hover,
.tx-indexedsearch-browsebox > ul li a:active {
  color: #505256;
  text-decoration: none;
}

.tx-indexedsearch-browsebox > ul li:hover a,
.tx-indexedsearch-browsebox > ul li a:hover {
  color: #505256;
}

.tx-indexedsearch-browsebox > ul li.tx-indexedsearch-browselist-currentPage a,
.tx-indexedsearch-browsebox > ul li.tx-indexedsearch-browselist-currentPage a:link,
.tx-indexedsearch-browsebox > ul li.tx-indexedsearch-browselist-currentPage a:visited,
.tx-indexedsearch-browsebox > ul li.tx-indexedsearch-browselist-currentPage a:focus,
.tx-indexedsearch-browsebox > ul li.tx-indexedsearch-browselist-currentPage a:hover,
.tx-indexedsearch-browsebox > ul li.tx-indexedsearch-browselist-currentPage a:active {
  color: #ffffff;
}

/**********************************************************************/
/* Galerie
/**********************************************************************/
.image-gallery {
  overflow: hidden;

  max-width: 65.52%;

  margin: auto;
}

.image-gallery .csc-textpic-image {
  display: block;
  float: left;

  width: 23.68%;

  margin: 0 1.76% 30px 0;
}

.image-gallery .csc-textpic-image:nth-child(4n) {
  margin-right: 0;
}

.image-gallery .csc-textpic-image img {
  display: block;

  width: 100%;
}

/**********************************************************************/
/* Dateiliste
/**********************************************************************/
.csc-uploads {
  overflow: hidden;
}

.csc-uploads li {
  overflow: hidden;
  position: relative;
  display: block;
  float: left;

  width: 31.03%;
  height: 445px;

  margin: 0 3.455% 30px 0;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  cursor: pointer;
  text-align: left;
}

.csc-uploads li:nth-child(3n) {
  margin-right: 0;
}

.csc-uploads li:after {
  overflow: hidden;
  position: absolute;
  display: block;
  z-index: 1;

  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  background-color: rgba(80, 82, 86, 0.5);

  content: "";
}

.csc-uploads li:hover:after {
  background-color: rgba(255, 205, 0, 0.8);
}

.csc-uploads li div {
  position: absolute;
  z-index: 2;

  right: 40px;
  bottom: 40px;
  left: 40px;

  color: #ffffff;
}

.csc-uploads li div h4 {
  color: #ffffff;
}

.csc-uploads li div span {
  display: inline-block;

  margin: 10px 0 0 0;
  padding: 10px 0 0 0;

  border-top: 4px solid #ffcd00;

  font-family: Oswald, Arial, Helvetica, sans-serif;
  font-size: 1.765em; /* 30px bei Elterngroesse 17px */
  font-weight: 700;

  letter-spacing: 0.05em;
  line-height: 125%;
}

.csc-uploads li div a {
  position: absolute;
  display: block;

  right: 35px;
  bottom: 0;

  font-size: 0.882em; /* 15px bei Elterngroesse 17px */

  line-height: 145%;
}

.csc-uploads li div a,
.csc-uploads li div a:link,
.csc-uploads li div a:visited,
.csc-uploads li div a:focus,
.csc-uploads li div a:hover,
.csc-uploads li div a:active {
  color: #ffffff;
}

.csc-uploads li img {
  position: absolute;
  display: block;

  right: 40px;
  bottom: 42px;
}

/**********************************************************************/
/* Preistabelle
/**********************************************************************/
/****************************************/
/* Container
/****************************************/
.priceTable_mobile-container {
  overflow: hidden;
  display: none;
}

/****************************************/
/* Tabelle
/****************************************/
table.priceTable tr th.first {
  text-align: left;
}

table.priceTable tr th strong {
  display: inline-block;

  padding: 5px 0 0 0;
}

table.priceTable tr td.area {
  padding-top: 7px;

  border: 1px solid #e6e8ec;
  border-bottom: none;

  font-weight: 600;

  text-align: left;
}

table.priceTable tr.last td {
  padding-bottom: 7px;
}

table.priceTable tr th.grey,
table.priceTable tr td.grey {
  background-color: #f4f4f5;
}

table.priceTable tr td.room {
  width: 160px;

  border-right: none;

  text-align: left;
}

table.priceTable tr td.qm {
  width: 120px;

  border-left: none;

  color: #aaacb0;
  text-align: left;
}

/****************************************/
/* Tabelle - mobile
/****************************************/
table.priceTable_mobile tr th,
table.priceTable_mobile tr td {
  padding-left: 7px;
  padding-right: 7px;
}

table.priceTable_mobile tr th:first-child,
table.priceTable_mobile tr td:first-child {
  width: 43%;
}

table.priceTable_mobile tr th {
  padding-top: 7px;
  padding-bottom: 12px;
}

table.priceTable_mobile tr th div,
table.priceTable_mobile tr td div {
  overflow: hidden;

  padding: 0 0 5px 0;

  border-bottom: 1px solid #3c3e40;
}

table.priceTable_mobile tr th div:last-child,
table.priceTable_mobile tr td div:last-child {
  border: none;
}

table.priceTable_mobile tr td.room span.qm {
  color: #aaacb0;
}

table.priceTable_mobile tr th div span.date {
  font-size: 0.882em; /* 15px bei Elterngroesse 17px */

  line-height: 145%;
}

/**********************************************************************/
/* jQuery UI
/**********************************************************************/
/****************************************/
/* Datepicker
/****************************************/
.ui-datepicker-trigger {
  display: block;
  float: left;

  width: 24px;
  height: auto;

  margin: 15px 0 0 15px;

  cursor: pointer;
}

/**********************************************************************/
/* Anpassungen
/**********************************************************************/

.slick-with-nav_nav {
  margin-bottom: 50px;
}

.header-image .frame-type-shortcut {
  height: 100%;
}

.hapi-w-embedded {
  margin-bottom: 75px;
}

.frame-type-text:not(:first-of-type) {
  margin-top: 50px;
}

.skd-widget .skd-dsr-room-rates-container .skd-dsr-room-alerts span,
.skd-widget .skd-dsr-room-rates-container .skd-dsr-room-alerts i.fa,
.skd-widget .skd-widget-label-primary {
  color: white !important;
}

.skd-widget .skd-dsr-room-rates-container .skd-dsr-room-alerts {
  border-radius: 2px;
  margin: 0;
}

.skd-widget .skd-widget-col-rate-info .skd-dsr-rate-toggle {
  height: 35px;
}

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

.row > div {
  box-sizing: border-box;
}

.row label {
  margin-bottom: 5px;
}

.help-block {
  color: #646668;
  font-size: 0.8rem;
}

.row input,
.row select,
.row textarea {
  width: 100%;
  box-sizing: border-box;
}

.row select {
  padding: 16px;
  border-color: #505256;
}

form {
  margin-bottom: 50px;
}

form fieldset {
  margin-top: 26px;
}

form fieldset > legend {
  position: relative;
  text-transform: uppercase;
  box-sizing: border-box;
  font-size: 23px;
  font-weight: bold;
  padding: 15px 10px;
  width: 100%;
}

form fieldset > div {
  padding: 15px 10px;
}

form .input {
  position: relative;
}

form .ui-datepicker-trigger {
  position: absolute;
  top: 14px;
  right: 15px;
  margin: 0;
}

form fieldset > legend::after {
  position: absolute;
  content: '';
  display: block;
  height: 5px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #505256;
}