
.opsie{
  background:#bf1e2e;
  display:flex;
  position:absolute;
  z-index:9999;
  top:100%;
  right:0;
  justify-content:center;
  white-space:nowrap;
  padding:20px;
  border-radius:0;
  color:#fff;
  font-weight:400
}
.message{
  background:#000;
  display:flex;
  position:relative;
  justify-content:center;
  width:100%;
  padding:20px;
  box-sizing: border-box;
  border-radius:0;
  color:#fff;
  font-weight:400;
  margin:0 0 40px;
}
span.message,span.opsie{
  letter-spacing:0em;
  margin-top:-1px;
  margin-bottom: 0;
}
span.message:after,span.opsie:after{
  bottom:100%;
  right:35px;
  border:solid transparent;
  content:"";
  height:0;
  width:0;
  position:absolute;
  pointer-events:none;
  border-color:#0000;
  border-width:6px;
  margin-left:-6px;
  border-bottom-color:#b5b5b5
}
.message.hidden{
  display:none
}
.message.good,.message.success{
  background:#79c042
}
.message.bad,.message.required,.message.error{
  color:#fff;
  background:#bf1e2e
}
.message.bad:after,.message.error:after,.message.required:after{
  border-bottom-color:#bf1e2e;
  right:auto;
  left:35px
}
.message.good+fieldset{
  display:none
}
div.message{
  line-height:1.4;
  margin:0 0 24px
}
div.message p{
  margin:0
}

div.formholder {
  width:100%;
  display: flex;
  flex-direction: column;
  margin-top: clamp(20px, 4.032vw, 40px);
  margin-bottom: clamp(20px, 4.032vw, 40px);
}

form{
  width:100%;
  margin:0;
  position:relative;
  display:flex;
  flex-direction:column;
  
}
form.loading {
  opacity: .5;
}
form.loading:after{
  content:"";
  z-index:1;
  position:absolute;
  background:rgba(255,255,255,0);
  top:0;
  left:0;
  right:0;
  bottom:0
}

form h3 {
  width: 100%;
}

form fieldset{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:space-between;
}
form fieldset div.fieldset{
  width:inherit;
  display:inherit;
  flex-wrap:inherit;
  flex-direction:inherit;
  justify-content:inherit;
  align-items:inherit
}
form.fieldsethidden fieldset{
  display:none
}
div.field.fieldgroup{
  display:flex;
  flex-direction:column;
  width: 283px;
  margin-bottom:20px
}

div.fieldgroup-row div.fieldgroup {
  flex-direction: row;
  margin-bottom: 0;
  gap: 10px
}
div.fieldgroup-row div.fieldgroup div.field {
  margin-bottom: 10px;
}

div.fieldgroup-row div.fieldgroup div.optionset {
  min-height: clamp(32px, 5.04vw, 50px);
}
div.fieldgroup-row div.fieldgroup div.optionset div.middleColumn {
  height: 100%;
}
div.fieldgroup-row div.fieldgroup div.optionset ul {
  margin: auto 0;
}

div.fieldgroup#mandatoryGroup {
  width: 100%;
}

@media screen and (max-width: 992px){
  div.fieldgroup{
    width:48.275862%;
  }
}

@media screen and (max-width: 650px){
  div.fieldgroup{
      width:100%
  }
  div.fieldgroup:first-child{
      margin-bottom:0
  }
  div.fieldgroup#MessageGroup{
      border-top:0
  }
}
div.field, div.field-date {
  display:flex;
  flex-direction:column;
  width:100%;
  position:relative;
  transform:none;
  text-align:left;
  margin:0 0 20px 0;
  padding:0;
}
div.field {
  line-height:1;
}
div.field.text div.middleColumn,
div.field.dropdown div.middleColumn,
div.field.textarea div.middleColumn{
  background: #fff;
}
div.field--grow,div.field--grow div.middleColumn{
  height:100%
}
div.field.formhidden{
  display:none
}
div.field.recaptchamultiple{
  margin:0;
  display:none
}
div.field.recaptchamultiple div.middleColumn{
  border:0
}

div.field--margintop{
  margin-top: 30px;
}
div.field--threequarters{
  width:75%
}
@media screen and (max-width: 650px){
  div.field--threequarters{
      width:100%
  }
}
div.field div.middleColumn{
  display:flex;
  width:100%;
  position:relative
}
div.field .description {
  margin-top: 10px;
}
div.field div.middleColumn ul.optionset {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
}
div.field div.middleColumn ul.optionset li {
  padding-right: 10px;
}

div.field input.text,div.field select,div.field textarea{
  display:block;
  width:100%;
  border: 0;
  border-radius:0;
  background:transparent;
  font-weight:400;
  font-family: 'daxregular', helvetica, arial, sans-serif;
  outline:none;
  text-overflow:ellipsis;
  color:#000;
  letter-spacing:0em;
  font-size: clamp(12px, 1.612vw, 16px);
  height: clamp(32px, 5.04vw, 50px);
  line-height: clamp(32px, 5.04vw, 50px);
  padding: clamp(8px, 1.31vw, 13px) clamp(12px, 2.017vw, 20px)
}

div.field input.text:-moz-placeholder-shown,div.field select:-moz-placeholder-shown,div.field textarea:-moz-placeholder-shown{
  color:#555;
  opacity:1;
  text-transform:none;
  font-weight:400;
  letter-spacing:0em
}
div.field input.text::-moz-placeholder,div.field input.text:placeholder-shown,div.field select::-moz-placeholder,div.field select:placeholder-shown,div.field textarea::-moz-placeholder,div.field textarea:placeholder-shown{
  color:#555;
  opacity:1;
  text-transform:none;
  font-weight:400;
  letter-spacing:0em
}
div.field input.text::-moz-placeholder,div.field select::-moz-placeholder,div.field textarea::-moz-placeholder{
  color:#555;
  opacity:1;
  text-transform:none;
  font-weight:400;
  letter-spacing:0em
}
div.field input.text::placeholder,div.field select::placeholder,div.field textarea::placeholder{
  color:#555;
  opacity:1;
  text-transform:none;
  font-weight:400;
  letter-spacing:0em
}

div.field input.text.auto,div.field select.auto,div.field textarea.auto{
  width:auto
}
div.field input.text:required,div.field select:required,div.field textarea:required{
  box-shadow:none
}
div.field input.text:-webkit-autofill,div.field input.text:-webkit-autofill:active,div.field input.text:-webkit-autofill:focus,div.field input.text:-webkit-autofill:hover,div.field select:-webkit-autofill,div.field select:-webkit-autofill:active,div.field select:-webkit-autofill:focus,div.field select:-webkit-autofill:hover,div.field textarea:-webkit-autofill,div.field textarea:-webkit-autofill:active,div.field textarea:-webkit-autofill:focus,div.field textarea:-webkit-autofill:hover{
  -webkit-background-clip:text;
  -webkit-text-fill-color:#000
}
div.field textarea{
  height:auto;
  line-height:1.3
}
div.field.text label,
div.field.dropdown label,
div.field.textarea label{
  opacity:0;
  z-index:-1;
  margin:0 0 10px;
  padding:0;
  position:absolute;
  font-weight:400;
  color:#000;
  font-size: clamp(12px, 1.612vw, 16px);
  line-height:18px
}

div.field.dropdown select{
  background:transparent;
  width:100%;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  text-overflow:ellipsis;
  padding-top: 0;
  padding-bottom: 0;
  padding-right: clamp(36px, 5.04vw, 50px)
}

div.field.dropdown select.noselection{
  color:#555
}
div.field.dropdown div.middleColumn{
  overflow:hidden;
  position:relative;
  z-index:0
}
div.field.dropdown div.middleColumn:before{
  position:absolute;
  z-index:-1;
  color:#000;
  content: " ";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  right:12px;
  top:50%;
  bottom:0;
  text-align:center;
  transform:translateY(-50%);
  width:clamp(18px, 2.42vw, 24px);
  height:clamp(18px, 2.42vw, 24px);
  line-height:clamp(18px, 2.42vw, 24px);
}

div.field.checkbox{
  margin-bottom:10px;
  background: transparent;
}
div.field.checkbox div.middleColumn{
  border:0
}
div.field.checkbox div.message{
  margin-top:10px
}
div.field.checkbox label{
  display:flex;
  z-index:1;
  position:relative;
  opacity:1;
  align-items:center;
  line-height:1.2;
  margin:auto 0;
  color: #fff;
  padding-left: 42px;
  line-height: 28px;
}
div.field.checkbox label span{
  margin:auto 0
}
div.field.checkbox label:after,div.field.checkbox label:before{
  position:absolute;
  left:0;
  top:0;
  cursor:pointer;
  width: 24px;
  height: 24px;
  line-height: 24px;
}

div.field.checkbox label:after{
  content:" ";
  border:2px solid #fff;
  border-radius:0
}
div.field.checkbox input{
  visibility:hidden;
  z-index:-2;
  position:absolute;
  padding:0
}
div.field.checkbox input:checked+label:before{
  color:#fff;
  left:2px;
  top: 2px;
  text-align:center;
  content:" ";
  width: 24px;
  height: 24px;
  line-height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 1024 1024'%3E%3Cpath fill='%2366be00' d='M868.3,219.2l-479.6,479.1-232.5-232.5-.7-.7c-19.5-19.2-50.7-18.8-69.9.7-.2,0-.2.2-.3.3-19.5,19.7-19.3,51.2.3,70.7l267.9,267.7c19.7,19.3,51.2,19.3,71.1,0L939,289.8c18.7-19.3,18.7-50.1-.2-69.3-19.2-19.8-50.7-20.5-70.6-1.3Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  background-color: #fff;
}
div.field.checkbox p{
  margin:0
}

div.btn-toolbar{
  display:flex;
  width: 100%;
  justify-content:flex-end;
}

button.action {
  display: block;
  width: 75px;
  height: 50px;
  border: 0;
  background: #0080c5 url(/bnz-resources/themes/bnz/dist/images/btn_send.png) center 5px no-repeat;
}

button.action.book {
  background: #0080c5 url(/bnz-resources/themes/bnz/dist/images/btn_book.png) center 5px no-repeat;
}
button.action.book[disabled] {
  background-color: #555;
}

button.action:hover {
  background-position: center -45px;
  background-color: #fff;
}
button.action.book[disabled]:hover {
  background-position: center 5px;
}

div.availability {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(10px, 2.01612903vw, 20px);
  width: 100%;
  margin-bottom: 20px;
  justify-content: space-between;
}

div.availability div.date {
  display: flex;
  width: 100%;
  flex-direction: column;
  text-align: center;
  font-size: clamp(12px, 1.411vw, 14px);
  box-sizing: border-box;
}

div.availability .form-check-label {
  position: relative;
  margin-top: -64px;
  box-sizing: border-box;
  display: flex;
  width: 100%;
  flex-direction: column;
  text-align: center;
  padding: 64px 10px 16px;
  cursor: pointer;
}

div.availability .form-check-input[type=radio] {
  position: relative;
  width: 32px;
  height: 32px;      
  margin: 16px auto;
  background-color: #fff;
  border-radius: 50%;
  appearance: none;
  -webkit-print-color-adjust: exact;
  border: 0;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33.502' height='33.513'%3E%3Cg data-name='Group 156' clip-path='url(%23clip-path)'%3E%3Cpath d='M16.751 0A16.756 16.756 0 1033.5 16.751 16.774 16.774 0 0016.751 0M25.2 12.357l-10.186 10.2a1.01 1.01 0 01-1.408 0l-5.3-5.3a.991.991 0 010-1.408.978.978 0 011.4 0l4.606 4.606 9.5-9.487a.99.99 0 011.4 1.4' fill='%23ccc'/%3E%3C/g%3E%3C/svg%3E");
}

div.availability .form-check-input:checked[type=radio] {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33.502' height='33.513'%3E%3Cg data-name='Group 156' clip-path='url(%23clip-path)'%3E%3Cpath d='M16.751 0A16.756 16.756 0 1033.5 16.751 16.774 16.774 0 0016.751 0M25.2 12.357l-10.186 10.2a1.01 1.01 0 01-1.408 0l-5.3-5.3a.991.991 0 010-1.408.978.978 0 011.4 0l4.606 4.606 9.5-9.487a.99.99 0 011.4 1.4' fill='%230080c5'/%3E%3C/g%3E%3C/svg%3E");
}

div.availability .form-check-input:disabled[type=radio] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' viewBox='0 0 1024 1024'%3E%3Cdefs%3E%3Cpath id='a' d='M0 0h1024v1024H0z'/%3E%3C/defs%3E%3CclipPath id='b'%3E%3Cuse xlink:href='%23a' overflow='visible'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23b)'%3E%3Cpath fill='red' d='M511.9 0C229.1.1-.1 229.4 0 512.1c.1 282.8 229.4 512 512.1 511.9 282.8-.1 512-229.4 511.9-512.1C1023.6 229.2 794.4.2 511.9 0zm222.6 733.7-.4.4c-5.6 5.8-13.3 9-21.4 8.8-8.2.2-15.9-3-21.7-8.8L511.9 554.8 332.2 734.1c-11.9 11.6-31 11.6-43.1 0-11.8-11.5-12-30.4-.4-42.3l.4-.4 179.3-179.5-179.2-179.3c-11.8-11.7-11.9-30.9-.2-42.9l.2-.2c11.5-11.8 30.4-12 42.3-.4l.4.4L511.4 469l179.2-179.5c11.5-11.8 30.4-12 42.3-.4l.4.4c11.8 11.7 11.9 30.9.2 42.9l-.2.2-179.1 179.3L734 691.4c11.9 11.5 12.1 30.4.5 42.3z'/%3E%3C/g%3E%3C/svg%3E");
}

div.availability div.date span {
  display: block;
}
div.availability div.date span.date {
  font-weight: bold;
  font-size: clamp(13px, 1.612vw, 16px);
  margin-bottom: 5px;
}
div.availability div.date span.spaces {
  margin-bottom: 5px;
}
div.availability div.date.available {
  background: #79c042;
}

div.availability div.date.unavailable {
  background: #bf1e2e;
}

@media screen and (max-width: 575px){
  div.availability {
    grid-template-columns: 1fr;
  }
}

div.totals {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 20px;
}

div.totals p {
  width: 100%;
  font-size: 1.8em;
  display: flex;
  justify-content: space-between;
  text-align: right;
  margin-bottom: 5px;
}
div.totals p.line {
  border-top: 1px solid;
  padding-top: 5px;
} 

div.totals p strong {
  width: 100px;
}

div.totals p span {
  width: calc(100% - 110px);
}

#payment-element,
#payment-message {
  width: 100%;
  margin: 0;
}

#payment-element {
  display: block;
  box-sizing: border-box;
}

#payment-element * {
  box-sizing: border-box;
}

#payment-element iframe {
  margin: 0 !important;
  width: 100% !important;
}