@import url(https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700;800&family=Playfair+Display:wght@400;500;600&display=swap);
/*!
 * FilePond 4.30.3
 * Licensed under MIT, https://opensource.org/licenses/MIT/
 * Please visit https://pqina.nl/filepond/ for details.
 */

/* eslint-disable */

.filepond--assistant{
  position:absolute;
  overflow:hidden;
  height:1px;
  width:1px;
  padding:0;
  border:0;
  clip:rect(1px,1px,1px,1px);
  -webkit-clip-path:inset(50%);
  clip-path:inset(50%);
  white-space:nowrap
}

.filepond--browser.filepond--browser{
  position:absolute;
  margin:0;
  padding:0;
  left:1em;
  top:1.75em;
  width:calc(100% - 2em);
  opacity:0;
  font-size:0
}

.filepond--data{
  position:absolute;
  width:0;
  height:0;
  padding:0;
  margin:0;
  border:none;
  visibility:hidden;
  pointer-events:none;
  contain:strict
}

.filepond--drip{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  overflow:hidden;
  opacity:.1;
  pointer-events:none;
  border-radius:.5em;
  background:rgba(0,0,0,.01)
}

.filepond--drip-blob{
  -webkit-transform-origin:center center;
  transform-origin:center center;
  width:8em;
  height:8em;
  margin-left:-4em;
  margin-top:-4em;
  background:#292625;
  border-radius:50%
}

.filepond--drip-blob,.filepond--drop-label{
  position:absolute;
  top:0;
  left:0;
  will-change:transform,opacity
}

.filepond--drop-label{
  right:0;
  margin:0;
  color:#4f4f4f;
  display:flex;
  justify-content:center;
  align-items:center;
  height:0;
  -webkit-user-select:none;
  -ms-user-select:none;
  user-select:none
}

.filepond--drop-label.filepond--drop-label label{
  display:block;
  margin:0;
  padding:.5em
}

.filepond--drop-label label{
  cursor:default;
  font-size:.875em;
  font-weight:400;
  text-align:center;
  line-height:1.5
}

.filepond--label-action{
  text-decoration:underline;
  -webkit-text-decoration-skip:ink;
  text-decoration-skip-ink:auto;
  -webkit-text-decoration-color:#a7a4a4;
  text-decoration-color:#a7a4a4;
  cursor:pointer
}

.filepond--root[data-disabled] .filepond--drop-label label{
  opacity:.5
}

.filepond--file-action-button.filepond--file-action-button{
  font-size:1em;
  width:1.625em;
  height:1.625em;
  font-family:inherit;
  line-height:inherit;
  margin:0;
  padding:0;
  border:none;
  outline:none;
  will-change:transform,opacity
}

.filepond--file-action-button.filepond--file-action-button span{
  position:absolute;
  overflow:hidden;
  height:1px;
  width:1px;
  padding:0;
  border:0;
  clip:rect(1px,1px,1px,1px);
  -webkit-clip-path:inset(50%);
  clip-path:inset(50%);
  white-space:nowrap
}

.filepond--file-action-button.filepond--file-action-button svg{
  width:100%;
  height:100%
}

.filepond--file-action-button.filepond--file-action-button:after{
  position:absolute;
  left:-.75em;
  right:-.75em;
  top:-.75em;
  bottom:-.75em;
  content:""
}

.filepond--file-action-button{
  cursor:auto;
  color:#fff;
  border-radius:50%;
  background-color:rgba(0,0,0,.5);
  background-image:none;
  box-shadow:0 0 0 0 hsla(0,0%,100%,0);
  transition:box-shadow .25s ease-in
}

.filepond--file-action-button:focus,.filepond--file-action-button:hover{
  box-shadow:0 0 0 .125em hsla(0,0%,100%,.9)
}

.filepond--file-action-button[disabled]{
  color:hsla(0,0%,100%,.5);
  background-color:rgba(0,0,0,.25)
}

.filepond--file-action-button[hidden]{
  display:none
}

.filepond--action-edit-item.filepond--action-edit-item{
  width:2em;
  height:2em;
  padding:.1875em
}

.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{
  margin-left:-.1875em
}

.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{
  margin-bottom:-.1875em
}

.filepond--action-edit-item-alt{
  border:none;
  line-height:inherit;
  background:transparent;
  font-family:inherit;
  color:inherit;
  outline:none;
  padding:0;
  margin:0 0 0 .25em;
  pointer-events:all;
  position:absolute
}

.filepond--action-edit-item-alt svg{
  width:1.3125em;
  height:1.3125em
}

.filepond--action-edit-item-alt span{
  font-size:0;
  opacity:0
}

.filepond--file-info{
  position:static;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex:1;
  margin:0 .5em 0 0;
  min-width:0;
  will-change:transform,opacity;
  pointer-events:none;
  -webkit-user-select:none;
  -ms-user-select:none;
  user-select:none
}

.filepond--file-info *{
  margin:0
}

.filepond--file-info .filepond--file-info-main{
  font-size:.75em;
  line-height:1.2;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
  width:100%
}

.filepond--file-info .filepond--file-info-sub{
  font-size:.625em;
  opacity:.5;
  transition:opacity .25s ease-in-out;
  white-space:nowrap
}

.filepond--file-info .filepond--file-info-sub:empty{
  display:none
}

.filepond--file-status{
  position:static;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  flex-grow:0;
  flex-shrink:0;
  margin:0;
  min-width:2.25em;
  text-align:right;
  will-change:transform,opacity;
  pointer-events:none;
  -webkit-user-select:none;
  -ms-user-select:none;
  user-select:none
}

.filepond--file-status *{
  margin:0;
  white-space:nowrap
}

.filepond--file-status .filepond--file-status-main{
  font-size:.75em;
  line-height:1.2
}

.filepond--file-status .filepond--file-status-sub{
  font-size:.625em;
  opacity:.5;
  transition:opacity .25s ease-in-out
}

.filepond--file-wrapper.filepond--file-wrapper{
  border:none;
  margin:0;
  padding:0;
  min-width:0;
  height:100%
}

.filepond--file-wrapper.filepond--file-wrapper>legend{
  position:absolute;
  overflow:hidden;
  height:1px;
  width:1px;
  padding:0;
  border:0;
  clip:rect(1px,1px,1px,1px);
  -webkit-clip-path:inset(50%);
  clip-path:inset(50%);
  white-space:nowrap
}

.filepond--file{
  position:static;
  display:flex;
  height:100%;
  align-items:flex-start;
  padding:.5625em;
  color:#fff;
  border-radius:.5em
}

.filepond--file .filepond--file-status{
  margin-left:auto;
  margin-right:2.25em
}

.filepond--file .filepond--processing-complete-indicator{
  pointer-events:none;
  -webkit-user-select:none;
  -ms-user-select:none;
  user-select:none;
  z-index:3
}

.filepond--file .filepond--file-action-button,.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator{
  position:absolute
}

.filepond--file [data-align*=left]{
  left:.5625em
}

.filepond--file [data-align*=right]{
  right:.5625em
}

.filepond--file [data-align*=center]{
  left:calc(50% - .8125em)
}

.filepond--file [data-align*=bottom]{
  bottom:1.125em
}

.filepond--file [data-align=center]{
  top:calc(50% - .8125em)
}

.filepond--file .filepond--progress-indicator{
  margin-top:.1875em
}

.filepond--file .filepond--progress-indicator[data-align*=right]{
  margin-right:.1875em
}

.filepond--file .filepond--progress-indicator[data-align*=left]{
  margin-left:.1875em
}

[data-filepond-item-state*=error] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state=cancelled] .filepond--file-info{
  margin-right:2.25em
}

[data-filepond-item-state~=processing] .filepond--file-status-sub{
  opacity:0
}

[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{
  opacity:.5
}

[data-filepond-item-state=processing-error] .filepond--file-status-sub{
  opacity:0
}

[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{
  opacity:.5
}

[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{
  -webkit-animation:fall .5s linear .125s both;
  animation:fall .5s linear .125s both
}

[data-filepond-item-state=processing-complete] .filepond--file-status-sub{
  opacity:.5
}

[data-filepond-item-state=processing-complete] .filepond--file-info-sub,[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{
  opacity:0
}

[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{
  opacity:.5
}

[data-filepond-item-state*=error] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=invalid] .filepond--panel{
  -webkit-animation:shake .65s linear both;
  animation:shake .65s linear both
}

[data-filepond-item-state*=busy] .filepond--progress-indicator svg{
  -webkit-animation:spin 1s linear infinite;
  animation:spin 1s linear infinite
}

@-webkit-keyframes spin{
  0%{
    -webkit-transform:rotate(0deg);
    transform:rotate(0deg)
  }

  to{
    -webkit-transform:rotate(1turn);
    transform:rotate(1turn)
  }
}

@keyframes spin{
  0%{
    -webkit-transform:rotate(0deg);
    transform:rotate(0deg)
  }

  to{
    -webkit-transform:rotate(1turn);
    transform:rotate(1turn)
  }
}

@-webkit-keyframes shake{
  10%,90%{
    -webkit-transform:translateX(-.0625em);
    transform:translateX(-.0625em)
  }

  20%,80%{
    -webkit-transform:translateX(.125em);
    transform:translateX(.125em)
  }

  30%,50%,70%{
    -webkit-transform:translateX(-.25em);
    transform:translateX(-.25em)
  }

  40%,60%{
    -webkit-transform:translateX(.25em);
    transform:translateX(.25em)
  }
}

@keyframes shake{
  10%,90%{
    -webkit-transform:translateX(-.0625em);
    transform:translateX(-.0625em)
  }

  20%,80%{
    -webkit-transform:translateX(.125em);
    transform:translateX(.125em)
  }

  30%,50%,70%{
    -webkit-transform:translateX(-.25em);
    transform:translateX(-.25em)
  }

  40%,60%{
    -webkit-transform:translateX(.25em);
    transform:translateX(.25em)
  }
}

@-webkit-keyframes fall{
  0%{
    opacity:0;
    -webkit-transform:scale(.5);
    transform:scale(.5);
    -webkit-animation-timing-function:ease-out;
    animation-timing-function:ease-out
  }

  70%{
    opacity:1;
    -webkit-transform:scale(1.1);
    transform:scale(1.1);
    -webkit-animation-timing-function:ease-in-out;
    animation-timing-function:ease-in-out
  }

  to{
    -webkit-transform:scale(1);
    transform:scale(1);
    -webkit-animation-timing-function:ease-out;
    animation-timing-function:ease-out
  }
}

@keyframes fall{
  0%{
    opacity:0;
    -webkit-transform:scale(.5);
    transform:scale(.5);
    -webkit-animation-timing-function:ease-out;
    animation-timing-function:ease-out
  }

  70%{
    opacity:1;
    -webkit-transform:scale(1.1);
    transform:scale(1.1);
    -webkit-animation-timing-function:ease-in-out;
    animation-timing-function:ease-in-out
  }

  to{
    -webkit-transform:scale(1);
    transform:scale(1);
    -webkit-animation-timing-function:ease-out;
    animation-timing-function:ease-out
  }
}

.filepond--hopper[data-hopper-state=drag-over]>*{
  pointer-events:none
}

.filepond--hopper[data-hopper-state=drag-over]:after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  z-index:100
}

.filepond--progress-indicator{
  z-index:103
}

.filepond--file-action-button{
  z-index:102
}

.filepond--file-status{
  z-index:101
}

.filepond--file-info{
  z-index:100
}

.filepond--item{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:1;
  padding:0;
  margin:.25em;
  will-change:transform,opacity
}

.filepond--item>.filepond--panel{
  z-index:-1
}

.filepond--item>.filepond--panel .filepond--panel-bottom{
  box-shadow:0 .0625em .125em -.0625em rgba(0,0,0,.25)
}

.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{
  transition:opacity .15s ease-out
}

.filepond--item[data-drag-state]{
  cursor:-webkit-grab;
  cursor:grab
}

.filepond--item[data-drag-state]>.filepond--panel{
  transition:box-shadow .125s ease-in-out;
  box-shadow:0 0 0 transparent
}

.filepond--item[data-drag-state=drag]{
  cursor:-webkit-grabbing;
  cursor:grabbing
}

.filepond--item[data-drag-state=drag]>.filepond--panel{
  box-shadow:0 .125em .3125em rgba(0,0,0,.325)
}

.filepond--item[data-drag-state]:not([data-drag-state=idle]){
  z-index:2
}

.filepond--item-panel{
  background-color:#64605e
}

[data-filepond-item-state=processing-complete] .filepond--item-panel{
  background-color:#369763
}

[data-filepond-item-state*=error] .filepond--item-panel,[data-filepond-item-state*=invalid] .filepond--item-panel{
  background-color:#c44e47
}

.filepond--item-panel{
  border-radius:.5em;
  transition:background-color .25s
}

.filepond--list-scroller{
  position:absolute;
  top:0;
  left:0;
  right:0;
  margin:0;
  will-change:transform
}

.filepond--list-scroller[data-state=overflow] .filepond--list{
  bottom:0;
  right:0
}

.filepond--list-scroller[data-state=overflow]{
  overflow-y:scroll;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  -webkit-mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);
  mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent)
}

.filepond--list-scroller::-webkit-scrollbar{
  background:transparent
}

.filepond--list-scroller::-webkit-scrollbar:vertical{
  width:1em
}

.filepond--list-scroller::-webkit-scrollbar:horizontal{
  height:0
}

.filepond--list-scroller::-webkit-scrollbar-thumb{
  background-color:rgba(0,0,0,.3);
  border-radius:99999px;
  border:.3125em solid transparent;
  background-clip:content-box
}

.filepond--list.filepond--list{
  position:absolute;
  top:0;
  margin:0;
  padding:0;
  list-style-type:none;
  will-change:transform
}

.filepond--list{
  left:.75em;
  right:.75em
}

.filepond--root[data-style-panel-layout~=integrated]{
  width:100%;
  height:100%;
  max-width:none;
  margin:0
}

.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{
  border-radius:0
}

.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{
  display:none
}

.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{
  bottom:0;
  height:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:7
}

.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{
  display:none
}

.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{
  overflow:hidden;
  height:100%;
  margin-top:0;
  margin-bottom:0
}

.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{
  left:0;
  right:0;
  height:100%
}

.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{
  margin:0
}

.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{
  height:100%
}

.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{
  z-index:7
}

.filepond--root[data-style-panel-layout~=circle]{
  border-radius:99999rem;
  overflow:hidden
}

.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{
  border-radius:inherit
}

.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*{
  display:none
}

.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,.filepond--root[data-style-panel-layout~=circle] .filepond--file-status{
  display:none
}

.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{
  opacity:1!important;
  visibility:visible!important
}

@media not all and (-webkit-min-device-pixel-ratio:0), not all and (min-resolution:0.001dpcm){
  @supports (-webkit-appearance:none) and (stroke-color:transparent){
    .filepond--root[data-style-panel-layout~=circle]{
      will-change:transform
    }
  }
}

.filepond--panel-root{
  border-radius:.5em;
  background-color:#f1f0ef
}

.filepond--panel{
  position:absolute;
  left:0;
  top:0;
  right:0;
  margin:0;
  height:100%!important;
  pointer-events:none
}

.filepond-panel:not([data-scalable=false]){
  height:auto!important
}

.filepond--panel[data-scalable=false]>div{
  display:none
}

.filepond--panel[data-scalable=true]{
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  background-color:transparent!important;
  border:none!important
}

.filepond--panel-bottom,.filepond--panel-center,.filepond--panel-top{
  position:absolute;
  left:0;
  top:0;
  right:0;
  margin:0;
  padding:0
}

.filepond--panel-bottom,.filepond--panel-top{
  height:.5em
}

.filepond--panel-top{
  border-bottom-left-radius:0!important;
  border-bottom-right-radius:0!important;
  border-bottom:none!important
}

.filepond--panel-top:after{
  content:"";
  position:absolute;
  height:2px;
  left:0;
  right:0;
  bottom:-1px;
  background-color:inherit
}

.filepond--panel-bottom,.filepond--panel-center{
  will-change:transform;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform-origin:left top;
  transform-origin:left top;
  -webkit-transform:translate3d(0,.5em,0);
  transform:translate3d(0,.5em,0)
}

.filepond--panel-bottom{
  border-top-left-radius:0!important;
  border-top-right-radius:0!important;
  border-top:none!important
}

.filepond--panel-bottom:before{
  content:"";
  position:absolute;
  height:2px;
  left:0;
  right:0;
  top:-1px;
  background-color:inherit
}

.filepond--panel-center{
  height:100px!important;
  border-top:none!important;
  border-bottom:none!important;
  border-radius:0!important
}

.filepond--panel-center:not([style]){
  visibility:hidden
}

.filepond--progress-indicator{
  position:static;
  width:1.25em;
  height:1.25em;
  color:#fff;
  margin:0;
  pointer-events:none;
  will-change:transform,opacity
}

.filepond--progress-indicator svg{
  width:100%;
  height:100%;
  vertical-align:top;
  transform-box:fill-box
}

.filepond--progress-indicator path{
  fill:none;
  stroke:currentColor
}

.filepond--list-scroller{
  z-index:6
}

.filepond--drop-label{
  z-index:5
}

.filepond--drip{
  z-index:3
}

.filepond--root>.filepond--panel{
  z-index:2
}

.filepond--browser{
  z-index:1
}

.filepond--root{
  box-sizing:border-box;
  position:relative;
  margin-bottom:1em;
  font-size:1rem;
  line-height:normal;
  font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
  font-weight:450;
  text-align:left;
  text-rendering:optimizeLegibility;
  direction:ltr;
  contain:layout style size
}

.filepond--root *{
  box-sizing:inherit;
  line-height:inherit
}

.filepond--root :not(text){
  font-size:inherit
}

.filepond--root[data-disabled]{
  pointer-events:none
}

.filepond--root[data-disabled] .filepond--list-scroller{
  pointer-events:all
}

.filepond--root[data-disabled] .filepond--list{
  pointer-events:none
}

.filepond--root .filepond--drop-label{
  min-height:4.75em
}

.filepond--root .filepond--list-scroller{
  margin-top:1em;
  margin-bottom:1em
}

.filepond--root .filepond--credits{
  position:absolute;
  right:0;
  opacity:.175;
  line-height:.85;
  font-size:11px;
  color:inherit;
  text-decoration:none;
  z-index:3;
  bottom:-14px
}

.filepond--root .filepond--credits[style]{
  top:0;
  bottom:auto;
  margin-top:14px
}
@charset "UTF-8";

/* Slider */

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.mx-icon-left:before,
.mx-icon-right:before,
.mx-icon-double-left:before,
.mx-icon-double-right:before,
.mx-icon-double-left:after,
.mx-icon-double-right:after {
  content: "";
  position: relative;
  top: -1px;
  display: inline-block;
  width: 10px;
  height: 10px;
  vertical-align: middle;
  border-style: solid;
  border-color: currentColor;
  border-width: 2px 0 0 2px;
  border-radius: 1px;
  box-sizing: border-box;
  transform-origin: center;
  transform: rotate(-45deg) scale(0.7);
}

.mx-icon-double-left:after {
  left: -4px;
}

.mx-icon-double-right:before {
  left: 4px;
}

.mx-icon-right:before,
.mx-icon-double-right:before,
.mx-icon-double-right:after {
  transform: rotate(135deg) scale(0.7);
}

.mx-btn {
  box-sizing: border-box;
  line-height: 1;
  font-size: 14px;
  font-weight: 500;
  padding: 7px 15px;
  margin: 0;
  cursor: pointer;
  background-color: transparent;
  outline: none;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  color: #73879c;
  white-space: nowrap;
}

.mx-btn:hover {
  border-color: #1284e7;
  color: #1284e7;
}

.mx-btn-text {
  border: 0;
  padding: 0 4px;
  text-align: left;
  line-height: inherit;
}

.mx-scrollbar {
  height: 100%;
}

.mx-scrollbar:hover .mx-scrollbar-track {
  opacity: 1;
}

.mx-scrollbar-wrap {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

.mx-scrollbar-track {
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  width: 6px;
  z-index: 1;
  border-radius: 4px;
  opacity: 0;
  transition: opacity 0.24s ease-out;
}

.mx-scrollbar-track .mx-scrollbar-thumb {
  position: absolute;
  width: 100%;
  height: 0;
  cursor: pointer;
  border-radius: inherit;
  background-color: rgba(144, 147, 153, 0.3);
  transition: background-color 0.3s;
}

.mx-zoom-in-down-enter-active,
.mx-zoom-in-down-leave-active {
  opacity: 1;
  transform: scaleY(1);
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  transform-origin: center top;
}

.mx-zoom-in-down-enter,
.mx-zoom-in-down-enter-from,
.mx-zoom-in-down-leave-to {
  opacity: 0;
  transform: scaleY(0);
}

.mx-datepicker {
  position: relative;
  display: inline-block;
  width: 210px;
}

.mx-datepicker svg {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}

.mx-datepicker-range {
  width: 320px;
}

.mx-datepicker-inline {
  width: auto;
}

.mx-input-wrapper {
  position: relative;
}

.mx-input-wrapper .mx-icon-clear {
  display: none;
}

.mx-input-wrapper:hover .mx-icon-clear {
  display: block;
}

.mx-input-wrapper:hover .mx-icon-clear + .mx-icon-calendar {
  display: none;
}

.mx-input {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  height: 34px;
  padding: 6px 30px;
  padding-left: 10px;
  font-size: 14px;
  line-height: 1.4;
  color: #555;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.mx-input:hover, .mx-input:focus {
  border-color: #409aff;
}

.mx-input:disabled, .mx-input.disabled {
  color: #ccc;
  background-color: #f3f3f3;
  border-color: #ccc;
  cursor: not-allowed;
}

.mx-input:focus {
  outline: none;
}

.mx-input::-ms-clear {
  display: none;
}

.mx-icon-calendar,
.mx-icon-clear {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  font-size: 16px;
  line-height: 1;
  color: rgba(0, 0, 0, 0.5);
  vertical-align: middle;
}

.mx-icon-clear {
  cursor: pointer;
}

.mx-icon-clear:hover {
  color: rgba(0, 0, 0, 0.8);
}

.mx-datepicker-main {
  font: 14px/1.5 "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei", sans-serif;
  color: #73879c;
  background-color: #fff;
  border: 1px solid #e8e8e8;
}

.mx-datepicker-popup {
  position: absolute;
  margin-top: 1px;
  margin-bottom: 1px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  z-index: 2001;
}

.mx-datepicker-sidebar {
  float: left;
  box-sizing: border-box;
  width: 100px;
  padding: 6px;
  overflow: auto;
}

.mx-datepicker-sidebar + .mx-datepicker-content {
  margin-left: 100px;
  border-left: 1px solid #e8e8e8;
}

.mx-datepicker-body {
  position: relative;
  -webkit-user-select: none;
          user-select: none;
}

.mx-btn-shortcut {
  display: block;
  padding: 0 6px;
  line-height: 24px;
}

.mx-range-wrapper {
  display: flex;
}

@media (max-width: 750px) {
  .mx-range-wrapper {
    flex-direction: column;
  }
}

.mx-datepicker-header {
  padding: 6px 8px;
  border-bottom: 1px solid #e8e8e8;
}

.mx-datepicker-footer {
  padding: 6px 8px;
  text-align: right;
  border-top: 1px solid #e8e8e8;
}

.mx-calendar {
  box-sizing: border-box;
  width: 248px;
  padding: 6px 12px;
}

.mx-calendar + .mx-calendar {
  border-left: 1px solid #e8e8e8;
}

.mx-calendar-header, .mx-time-header {
  box-sizing: border-box;
  height: 34px;
  line-height: 34px;
  text-align: center;
  overflow: hidden;
}

.mx-btn-icon-left,
.mx-btn-icon-double-left {
  float: left;
}

.mx-btn-icon-right,
.mx-btn-icon-double-right {
  float: right;
}

.mx-calendar-header-label {
  font-size: 14px;
}

.mx-calendar-decade-separator {
  margin: 0 2px;
}

.mx-calendar-decade-separator:after {
  content: "~";
}

.mx-calendar-content {
  position: relative;
  height: 224px;
  box-sizing: border-box;
}

.mx-calendar-content .cell {
  cursor: pointer;
}

.mx-calendar-content .cell:hover {
  color: #73879c;
  background-color: #f3f9fe;
}

.mx-calendar-content .cell.active {
  color: #fff;
  background-color: #1284e7;
}

.mx-calendar-content .cell.in-range, .mx-calendar-content .cell.hover-in-range {
  color: #73879c;
  background-color: #dbedfb;
}

.mx-calendar-content .cell.disabled {
  cursor: not-allowed;
  color: #ccc;
  background-color: #f3f3f3;
}

.mx-calendar-week-mode .mx-date-row {
  cursor: pointer;
}

.mx-calendar-week-mode .mx-date-row:hover {
  background-color: #f3f9fe;
}

.mx-calendar-week-mode .mx-date-row.mx-active-week {
  background-color: #dbedfb;
}

.mx-calendar-week-mode .mx-date-row .cell:hover {
  color: inherit;
  background-color: transparent;
}

.mx-calendar-week-mode .mx-date-row .cell.active {
  color: inherit;
  background-color: transparent;
}

.mx-week-number {
  opacity: 0.5;
}

.mx-table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  text-align: center;
}

.mx-table th {
  padding: 0;
  font-weight: 500;
  vertical-align: middle;
}

.mx-table td {
  padding: 0;
  vertical-align: middle;
}

.mx-table-date td,
.mx-table-date th {
  height: 32px;
  font-size: 12px;
}

.mx-table-date .today {
  color: #2a90e9;
}

.mx-table-date .cell.not-current-month {
  color: #ccc;
  background: none;
}

.mx-time {
  flex: 1;
  width: 224px;
  background: #fff;
}

.mx-time + .mx-time {
  border-left: 1px solid #e8e8e8;
}

.mx-calendar-time {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mx-time-header {
  border-bottom: 1px solid #e8e8e8;
}

.mx-time-content {
  height: 224px;
  box-sizing: border-box;
  overflow: hidden;
}

.mx-time-columns {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.mx-time-column {
  flex: 1;
  position: relative;
  border-left: 1px solid #e8e8e8;
  text-align: center;
}

.mx-time-column:first-child {
  border-left: 0;
}

.mx-time-column .mx-time-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mx-time-column .mx-time-list::after {
  content: "";
  display: block;
  height: 192px;
}

.mx-time-column .mx-time-item {
  cursor: pointer;
  font-size: 12px;
  height: 32px;
  line-height: 32px;
}

.mx-time-column .mx-time-item:hover {
  color: #73879c;
  background-color: #f3f9fe;
}

.mx-time-column .mx-time-item.active {
  color: #1284e7;
  background-color: transparent;
  font-weight: 700;
}

.mx-time-column .mx-time-item.disabled {
  cursor: not-allowed;
  color: #ccc;
  background-color: #f3f3f3;
}

.mx-time-option {
  cursor: pointer;
  padding: 8px 10px;
  font-size: 14px;
  line-height: 20px;
}

.mx-time-option:hover {
  color: #73879c;
  background-color: #f3f9fe;
}

.mx-time-option.active {
  color: #1284e7;
  background-color: transparent;
  font-weight: 700;
}

.mx-time-option.disabled {
  cursor: not-allowed;
  color: #ccc;
  background-color: #f3f3f3;
}

/** Colors */

/** Box Model  */

@keyframes shine-lines {
  0% {
    background-position: -100px;
  }

  100% {
    background-position: calc(-200% + 100px);
  }
}

[name=scss_desktop_width] {
  width: 1440px;
}

[name=scss_tablet_width] {
  width: 1140px;
}

[name=scss_mobile_width] {
  width: 781px;
}

[name=scss_gutter] {
  width: 30px;
}

/** Import theme styles */

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: #bcab79;
  -webkit-user-select: none;
          user-select: none;
}

p a {
  color: #bcab79;
  font-weight: 700;
  text-decoration: underline;
}

.icon {
  display: inline-block;
  margin-right: 7.5px;
  background-color: #faf2eb;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 70% 55%;
  width: 40px;
  height: 40px;
}

.icon:last-of-type {
  margin-right: 0;
}

.icon.icon-facebook {
  background-image: url("../images/icon-facebook.svg");
}

.icon.icon-facebook.icon-w {
  background-color: transparent;
  background-size: 75% 90%;
  background-image: url("../images/icon-facebook-w.svg");
}

.icon.icon-instagram {
  background-image: url("../images/icon-instagram.svg");
}

.icon.icon-instagram.icon-w {
  background-color: transparent;
  background-size: 75% 90%;
  background-image: url("../images/icon-instagram-w.svg");
}

.icon.icon-youtube {
  background-image: url("../images/icon-youtube.svg");
}

.icon.icon-youtube.icon-w {
  background-color: transparent;
  background-size: 75% 90%;
  background-image: url("../images/icon-youtube-w.svg");
}

.icon.icon-linkedin {
  background-image: url("../images/icon-linkedin.svg");
}

.icon.icon-linkedin.icon-w {
  background-color: transparent;
  background-size: 75% 90%;
  background-image: url("../images/icon-linkedin-w.svg");
}

.icon.icon-twitter {
  background-image: url("../images/icon-twitter.svg");
}

.icon.icon-twitter.icon-w {
  background-color: transparent;
  background-size: 75% 90%;
  background-image: url("../images/icon-twitter-w.svg");
}

.icon.icon-pinterest {
  background-image: url("../images/icon-pinterest.svg");
}

.icon.icon-pinterest.icon-w {
  background-color: transparent;
  background-size: 75% 90%;
  background-image: url("../images/icon-pinterest-w.svg");
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  background: #fffcf9;
  color: #202020;
  margin: 0;
}

main {
  overflow: hidden;
}

main.single-villa, main.tax-combinations {
  overflow: inherit;
}

[data-entry-anim] {
  position: relative;
  animation-name: fadeInUp;
  visibility: hidden;
  opacity: 0;
  animation-play-state: paused;
}

[data-entry-anim]:not(.entry-visible) {
  opacity: 0;
  visibility: hidden;
  transition: all 2s ease;
}

[data-entry-anim][data-entry-anim=right] {
  animation-name: fadeInRight;
}

[data-entry-anim][data-entry-anim=left] {
  animation-name: fadeInLeft;
}

[data-entry-anim].entry-visible {
  opacity: 1;
  visibility: visible;
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-play-state: running;
}

.iframe_video_player_wrapper {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.iframe_video_player_wrapper .iframe_video_player {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1140px) {
  .iframe_video_player_wrapper .iframe_video_player {
    min-height: 350px;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100px, 0, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100px, 0, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

body, select, input, textarea, button, .mx-datepicker-main {
  font-size: 14px;
  font-weight: 400;
  font-family: "Open Sans", sans-serif;
  line-height: 28px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Playfair Display", serif;
  font-weight: 400;
}

h1 {
  font-size: 5.1428571429em;
  line-height: 71px;
}

h2 {
  font-size: 3.4285714286em;
  line-height: 55px;
}

h3 {
  font-size: 2.2857142857em;
  line-height: 39px;
}

h4 {
  font-size: 1.7142857143em;
  line-height: 30px;
}

h5, h6 {
  line-height: 20px;
  font-size: 1.2857142857em;
}

@media screen and (max-width: 1140px) {
  h1 {
    font-size: 3.4285714286em;
  }

  h2 {
    font-size: 2.5714285714em;
  }

  h3 {
    font-size: 1.7142857143em;
  }

  h4 {
    font-size: 1.2857142857em;
  }

  h5, h6 {
    font-size: 1em;
  }
}

small {
  font-family: "Open Sans", sans-serif;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #bdbdbd;
}

.slick-dots {
  list-style: none;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.slick-dots li {
  margin-right: 7.5px;
}

.slick-dots li:last-of-type {
  margin-right: 0;
}

.slick-dots li button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 7px;
  height: 7px;
  max-width: 7px;
  max-height: 7px;
  min-width: 7px;
  min-height: 7px;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
  padding: 0;
  border-radius: 50%;
  box-shadow: none;
  border: none;
  background-color: rgba(188, 171, 121, 0.3);
  transition: all 0.2s ease;
}

.slick-dots li button:after, .slick-dots li button:before {
  display: none;
}

.slick-dots li.slick-active button {
  background-color: #bcab79;
}

.btn,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]),
input[type=submit] {
  position: relative;
  font-size: 1em;
  text-transform: uppercase;
  background-color: transparent;
  border: none;
  border-radius: 0;
  color: #bcab79;
  line-height: 25px;
  font-weight: 600;
  letter-spacing: 2px;
  cursor: pointer;
  transition: all 0.2s ease;
  padding-right: calc(13px + 7.5px);
}

.btn:disabled, .btn.disabled,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]):disabled,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).disabled,
input[type=submit]:disabled,
input[type=submit].disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.btn:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]):after,
input[type=submit]:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0 auto 7.5px;
  width: 13px;
  height: 13px;
  background-image: url("../images/arrow-right.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

.btn:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]):before,
input[type=submit]:before {
  content: "";
  border-bottom: 1px solid #bcab79;
  position: absolute;
  bottom: -15px;
  height: 1px;
  width: 100%;
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: all 0.2s ease;
}

@media screen and (max-width: 1140px) {
  .btn:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]):before,
input[type=submit]:before {
    left: 0;
    transform: scaleX(1);
  }
}

.btn.btn-back,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-back,
input[type=submit].btn-back {
  padding-right: 0;
  padding-left: calc(13px + 7.5px);
}

.btn.btn-back:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-back:after,
input[type=submit].btn-back:after {
  left: 0;
  margin: auto 7.5px auto 0;
  transform: rotate(180deg);
}

.btn.btn-back:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-back:before,
input[type=submit].btn-back:before {
  left: 0;
}

.btn:hover:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]):hover:before,
input[type=submit]:hover:before {
  transform: scaleX(1);
}

.btn + .btn, .btn + button,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]) + .btn,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]) + button,
input[type=submit] + .btn,
input[type=submit] + button {
  margin-left: 30px;
}

.btn.btn-submit, .btn[type=submit],
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-submit,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide])[type=submit],
input[type=submit].btn-submit,
input[type=submit][type=submit] {
  width: 100%;
  color: white;
  background-color: #bcab79;
  font-weight: 600;
  line-height: 25px;
  letter-spacing: 2px;
  padding: 20px 15px;
}

.btn.btn-submit:after, .btn.btn-submit:before, .btn[type=submit]:after, .btn[type=submit]:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-submit:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-submit:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide])[type=submit]:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide])[type=submit]:before,
input[type=submit].btn-submit:after,
input[type=submit].btn-submit:before,
input[type=submit][type=submit]:after,
input[type=submit][type=submit]:before {
  display: none;
}

.btn.btn-submit:hover, .btn[type=submit]:hover,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-submit:hover,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide])[type=submit]:hover,
input[type=submit].btn-submit:hover,
input[type=submit][type=submit]:hover {
  background-color: #9b874e;
}

.btn.btn-delete,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-delete,
input[type=submit].btn-delete {
  display: inline-block;
  background-color: #EB5757;
  color: white;
  text-align: center;
  padding: 10px 30px;
  text-transform: uppercase;
  font-size: 0.8571428571em;
  font-weight: 600;
}

.btn.btn-delete:after, .btn.btn-delete:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-delete:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-delete:before,
input[type=submit].btn-delete:after,
input[type=submit].btn-delete:before {
  display: none;
}

.btn.btn-delete:hover,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-delete:hover,
input[type=submit].btn-delete:hover {
  background-color: #db1a1a;
}

.btn.btn-save,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-save,
input[type=submit].btn-save {
  width: auto;
  color: white;
  background-color: #bcab79;
  font-weight: 600;
  line-height: 25px;
  letter-spacing: 2px;
  padding: 20px 30px;
}

.btn.btn-save-slim,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-save-slim,
input[type=submit].btn-save-slim {
  padding: 10px 15px;
}

.btn.btn-save:after, .btn.btn-save:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-save:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-save:before,
input[type=submit].btn-save:after,
input[type=submit].btn-save:before {
  display: none;
}

.btn.btn-save:hover,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-save:hover,
input[type=submit].btn-save:hover {
  background-color: #9b874e;
}

.btn.btn-save span,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-save span,
input[type=submit].btn-save span {
  background-image: url("../images/save.svg");
  background-size: 13px;
  background-position: left center;
  background-repeat: no-repeat;
  padding-left: 30px;
}

.btn.btn-save.success,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-save.success,
input[type=submit].btn-save.success {
  background-color: #219653;
  color: white;
}

.btn.btn-save.success span,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-save.success span,
input[type=submit].btn-save.success span {
  color: white;
}

.btn.btn-secondary,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-secondary,
input[type=submit].btn-secondary {
  width: 100%;
  padding: 20px 7.5px;
  background-color: #e3e3e3;
  text-decoration: none;
  color: #202020;
  font-weight: 600;
}

.btn.btn-secondary:after, .btn.btn-secondary:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-secondary:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-secondary:before,
input[type=submit].btn-secondary:after,
input[type=submit].btn-secondary:before {
  display: none;
}

.btn.btn-secondary:hover,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-secondary:hover,
input[type=submit].btn-secondary:hover {
  background-color: #bdbdbd;
}

.btn.slick-arrow,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).slick-arrow,
input[type=submit].slick-arrow {
  border: 1px solid #bcab79;
  font-size: 0;
  padding: 0;
  margin: 0;
  width: 36px;
  height: 36px;
  background-image: url("../images/arrow-right-bl.svg");
  background-size: 13px;
  background-position: center center;
  background-repeat: no-repeat;
}

.btn.slick-arrow.slick-disabled,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).slick-arrow.slick-disabled,
input[type=submit].slick-arrow.slick-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.btn.slick-arrow.slick-prev,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).slick-arrow.slick-prev,
input[type=submit].slick-arrow.slick-prev {
  transform: rotate(180deg);
}

.btn.slick-arrow:after, .btn.slick-arrow:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).slick-arrow:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).slick-arrow:before,
input[type=submit].slick-arrow:after,
input[type=submit].slick-arrow:before {
  display: none;
}

.btn.slick-arrow + .slick-arrow,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).slick-arrow + .slick-arrow,
input[type=submit].slick-arrow + .slick-arrow {
  margin-left: 10px;
}

.btn.btn-close,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-close,
input[type=submit].btn-close {
  border: none;
  font-size: 0;
  padding: 0;
  margin: 0;
  width: 14px;
  height: 14px;
  display: inline-block;
  background-image: url("../images/close.svg");
  background-size: 14px;
  background-position: center center;
  background-repeat: no-repeat;
}

.btn.btn-close:after, .btn.btn-close:before,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-close:after,
button:not(.mx-btn):not([class^=filepond]):not([aria-controls^=slick-slide]).btn-close:before,
input[type=submit].btn-close:after,
input[type=submit].btn-close:before {
  display: none;
}

/** Search form */

label {
  display: inline-block;
  width: 100%;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 28px;
  font-size: 1em;
  -webkit-user-select: none;
          user-select: none;
  margin-bottom: 30px;
}

label.half {
  width: calc(50% - 30px);
  margin-right: 30px;
}

label.half:nth-child(odd) {
  margin-right: 0;
}

@media screen and (max-width: 781px) {
  label.half {
    width: 100%;
    margin-right: 0;
  }
}

label.label-checkbox {
  display: inline-block;
  letter-spacing: 0;
  font-weight: 400;
  text-transform: inherit;
  margin-bottom: 15px;
}

label.label-checkbox input {
  margin-top: 0;
  margin-bottom: -3px;
}

label.label-checkbox small {
  margin-left: 15px;
}

label .g-recaptcha {
  width: 100%;
}

label > .label-span {
  display: inline-block;
  width: 100%;
  margin-bottom: 10px;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=date],
input[type=time],
textarea,
select {
  width: 100%;
  padding: 15px 0;
  border: none;
  line-height: 18px;
  background-color: transparent;
  border-bottom: 1px solid #E4E1D8;
  border-top: 0;
  border-radius: 0;
  color: #202020;
  box-shadow: none;
}

input[type=text]:-webkit-autofill,
input[type=email]:-webkit-autofill,
input[type=tel]:-webkit-autofill,
input[type=password]:-webkit-autofill,
input[type=date]:-webkit-autofill,
input[type=time]:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  background-color: transparent !important;
}

input[type=text]::placeholder, input[type=text].placeholder,
input[type=email]::placeholder,
input[type=email].placeholder,
input[type=tel]::placeholder,
input[type=tel].placeholder,
input[type=password]::placeholder,
input[type=password].placeholder,
input[type=date]::placeholder,
input[type=date].placeholder,
input[type=time]::placeholder,
input[type=time].placeholder,
textarea::placeholder,
textarea.placeholder,
select::placeholder,
select.placeholder {
  color: #797979;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=time]:focus,
textarea:focus,
select:focus {
  outline: none;
}

input[type=text]::-webkit-inner-spin-button,
input[type=email]::-webkit-inner-spin-button,
input[type=tel]::-webkit-inner-spin-button,
input[type=password]::-webkit-inner-spin-button,
input[type=date]::-webkit-inner-spin-button,
input[type=time]::-webkit-inner-spin-button,
textarea::-webkit-inner-spin-button,
select::-webkit-inner-spin-button {
  display: none;
  -webkit-appearance: none;
}

.mx-datepicker {
  width: 100%;
  border-top: 0;
  border-radius: 0;
  border-bottom: 1px solid #E4E1D8;
  padding: 7.5px 0;
}

.mx-datepicker input {
  border-bottom: 0;
}

.mx-datepicker .mx-icon-calendar {
  display: none;
}

.mx-datepicker .mx-icon-clear {
  margin-top: 1px;
  margin-right: 10px;
}

.mx-datepicker .mx-icon-clear svg {
  fill: #202020;
  transition: all 0.2s ease;
}

.mx-datepicker .mx-icon-clear:hover svg {
  fill: #bcab79;
}

.mx-datepicker-popup {
  color: #202020;
}

.mx-datepicker-popup .mx-table-date .today {
  color: #bcab79;
}

.mx-datepicker-popup .mx-calendar-content .cell:hover, .mx-datepicker-popup .mx-calendar-content .mx-time-item:hover, .mx-datepicker-popup .mx-time-column .cell:hover, .mx-datepicker-popup .mx-time-column .mx-time-item:hover {
  color: #202020;
  background-color: #faf2eb;
}

.mx-datepicker-popup .mx-calendar-content .cell.active, .mx-datepicker-popup .mx-calendar-content .mx-time-item.active, .mx-datepicker-popup .mx-time-column .cell.active, .mx-datepicker-popup .mx-time-column .mx-time-item.active {
  background-color: #bcab79;
  color: white;
}

.mx-datepicker-popup .mx-btn:hover {
  color: #bcab79;
  border-color: #bcab79;
}

input[data-type=date], .mx-datepicker-date {
  padding-left: 30px;
  background-image: url("../images/date.svg"), url("../images/arrow-down.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: left center, right center;
  background-size: 14px, 12px 7px;
}

input[data-type=time], .mx-datepicker-time {
  padding-left: 30px;
  background-image: url("../images/time.svg"), url("../images/arrow-down.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: left center, right center;
  background-size: 16px, 12px 7px;
}

input[type=checkbox] {
  display: inline-block;
  appearance: none;
  width: 17px;
  height: 17px;
  border-radius: 3px;
  border: 1px solid #797979;
  background-image: url("../images/checkmark-w.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 0;
  transition: all 0.2s ease;
  margin-right: 10px;
}

input[type=checkbox]:checked {
  border-color: #bcab79;
  background-color: #bcab79;
  background-size: 11px;
}

select {
  appearance: none;
  background-image: url("../images/arrow-down.svg");
  background-repeat: no-repeat;
  background-position: calc(100% - 15px) center;
}

.notice {
  position: relative;
  width: 100%;
  background-color: #faf2eb;
  margin: 15px 0 20px 0;
  padding: 10px 10px 10px calc(10px + 22px);
}

.notice:before {
  content: "";
  background-image: url("../images/exclamation.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 7.5px;
  margin: auto;
}

.notice-error {
  background-color: #ffcfcf;
}

.notice-success {
  background-color: #219653;
  color: white;
}

.notice-success:before {
  background-image: url("../images/exclamation-w.png");
}

.notice + .notice {
  margin-top: 0;
}

.vivi--block {
  display: inline-block;
  margin: 60px auto;
  text-align: center;
  max-width: 1440px;
  width: 100%;
}

.vivi--block [class^=vivi--block-] {
  text-align: left;
}

@media screen and (max-width: 1575px) {
  .vivi--block {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 1140px) {
  .vivi--block {
    margin: 30px auto;
  }
}

.vivi--block-wrapper-404 {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-flow: column wrap;
  padding: 30px;
}

.vivi--block-wrapper-404 h1 {
  width: 100%;
  text-align: center;
}

.vivi--block-wrapper-404 .notice {
  max-width: 500px;
}

.vivi--pagination {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin-top: 30px;
}

.c-sliding-pagination__list {
  list-style: none;
  display: inline-flex;
  align-content: center;
  align-items: center;
  width: auto;
  margin: 0;
  padding: 0;
}

.c-sliding-pagination__list .c-sliding-pagination__list-element .c-sliding-pagination__page {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  font-size: 1.1428571429em;
  color: #202020;
  padding: 15px 0.5;
}

.c-sliding-pagination__list .c-sliding-pagination__list-element .c-sliding-pagination__page[aria-label=prev], .c-sliding-pagination__list .c-sliding-pagination__list-element .c-sliding-pagination__page[aria-label=next] {
  font-size: 0;
  width: 12px;
  height: 9px;
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("../images/arrow-down.svg");
}

.c-sliding-pagination__list .c-sliding-pagination__list-element .c-sliding-pagination__page[aria-label=prev] {
  transform: rotate(90deg);
}

.c-sliding-pagination__list .c-sliding-pagination__list-element .c-sliding-pagination__page[aria-label=next] {
  transform: rotate(-90deg);
}

.c-sliding-pagination__list .c-sliding-pagination__list-element .c-sliding-pagination__page--current {
  color: #bcab79;
  font-weight: 700;
}

.c-sliding-pagination__list .c-sliding-pagination__list-element--disabled {
  opacity: 0.5;
}

.vivi--block-homeslider {
  display: flex;
  justify-content: space-between;
  max-width: 100%;
  margin: auto;
}

@media screen and (max-width: 1575px) {
  .vivi--block-homeslider {
    max-width: 1140px;
  }
}

.vivi--block-homeslider-one {
  flex: 1 50%;
  background-color: #faf2eb;
  background-image: url("../images/palm.svg");
  background-size: 68%;
  background-repeat: no-repeat;
  background-position: calc(50% - 30px) calc(100% + 90px);
  padding: 180px 240px 165px 90px;
}

@media screen and (max-width: 1575px) {
  .vivi--block-homeslider-one {
    padding: 180px 120px 165px 45px;
  }
}

@media screen and (max-width: 1140px) {
  .vivi--block-homeslider-one {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .vivi--block-homeslider-one h1 {
    width: 100%;
    text-align: center;
  }
}

.vivi--block-homeslider-two {
  position: relative;
  flex: 1 50%;
}

.vivi--block-homeslider-two .slick-list {
  overflow: inherit;
}

.vivi--block-homeslider-two .slider--arrows {
  position: absolute;
  z-index: 10;
  right: 216px;
  top: unset;
  bottom: 30px;
}

@media screen and (max-width: 1575px) {
  .vivi--block-homeslider-two .slider--arrows {
    right: 0;
    top: unset;
    bottom: 0;
  }
}

.vivi--block-homeslider-slider {
  position: absolute;
  left: -90px;
  display: flex;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  height: 100%;
  width: calc(100% + 180px - 30px);
  overflow: hidden;
}

@media screen and (max-width: 1575px) {
  .vivi--block-homeslider-slider {
    width: calc(100% + 180px - 75px);
  }
}

.vivi--block-homeslider-slider-image {
  display: inline-block;
  text-align: center;
  height: 100%;
  padding: 36px 15px 36px 15px;
  width: 100%;
}

.vivi--block-homeslider-slider-image img {
  display: inline-flex;
  width: 100%;
  max-width: 261px;
  min-height: 480px;
  height: 100%;
  object-fit: cover;
  box-shadow: -7px 20px 20px rgba(0, 0, 0, 0.09);
}

@media screen and (max-width: 1575px) {
  .vivi--block-homeslider-slider-image img {
    max-width: 310px;
  }
}

@media screen and (max-width: 1200px) {
  .vivi--block-homeslider-slider-image img {
    width: 100%;
    max-height: 420px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-homeslider-slider-image img {
    min-height: 225px;
    max-height: 225px;
  }
}

@media screen and (max-width: 1200px) {
  .vivi--block-homeslider {
    max-width: 100%;
    flex-wrap: wrap;
  }

  .vivi--block-homeslider-one, .vivi--block-homeslider-two {
    flex: 1 100%;
    width: 100%;
  }

  .vivi--block-homeslider-one {
    padding: 60px 30px 240px 30px;
    text-align: center;
    background-position: center 30px;
  }

  .vivi--block-homeslider-two {
    margin-top: -180px;
  }

  .vivi--block-homeslider-slider {
    position: relative;
    width: 100%;
    left: 0;
    overflow: visible;
    flex-wrap: wrap;
  }

  .vivi--block-homeslider-slider-image {
    padding: 0 30px;
  }

  .vivi--block-homeslider .slider--arrows {
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    max-width: 400px;
  }

  .vivi--block-homeslider .slider--arrows .slick-next {
    float: right;
  }

  .vivi--block-homeslider .slick-dots {
    margin: 30px 0 15px;
  }
}

@media screen and (max-width: 1140px) {
  .vivi--block-wrapper-reviews {
    padding-left: 0;
    padding-right: 0;
  }
}

.vivi--block-reviews {
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  max-width: 1140px;
  width: 100%;
  margin: auto;
  padding-bottom: calc(100px + 60px);
}

@media screen and (max-width: 1140px) {
  .vivi--block-reviews {
    max-width: 100%;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-reviews {
    padding-bottom: 30px;
    flex-flow: row wrap;
  }
}

.vivi--block-reviews-background {
  position: relative;
  flex: 1 100%;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1140px) {
  .vivi--block-reviews-background {
    max-height: 400px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-reviews-background {
    max-height: 300px;
  }
}

.vivi--block-reviews-background-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.vivi--block-reviews-background-video iframe {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

.vivi--block-reviews-content {
  position: absolute;
  top: calc(100% - 300px);
  right: 90px;
  max-width: 585px;
  margin: auto;
}

@media screen and (max-width: 1140px) {
  .vivi--block-reviews-content {
    right: 0;
    left: 0;
    bottom: -10px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-reviews-content {
    position: relative;
    bottom: unset;
    top: unset;
    right: unset;
    left: unset;
    max-width: 781px;
    display: flex;
    align-items: center;
    width: 100%;
  }
}

.vivi--block-reviews-content-item {
  position: relative;
  width: 100%;
}

@media screen and (max-width: 781px) {
  .vivi--block-reviews-content-item {
    padding: 0 20px;
  }
}

.vivi--block-reviews-content-item [class^=vivi--block-] {
  text-align: center;
}

.vivi--block-reviews-content-item-button {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  left: unset;
  right: unset;
  display: flex;
  align-items: center;
  align-content: center;
}

.vivi--block-reviews-content-item-button .slick-arrow {
  background-color: transparent;
}

.vivi--block-reviews-content-item-button:first-of-type {
  left: 30px;
}

@media screen and (max-width: 781px) {
  .vivi--block-reviews-content-item-button:first-of-type {
    left: 45px;
  }
}

.vivi--block-reviews-content-item-button:last-of-type {
  right: 30px;
}

@media screen and (max-width: 781px) {
  .vivi--block-reviews-content-item-button:last-of-type {
    right: 45px;
  }
}

.vivi--block-reviews-content-item-villa {
  width: 100%;
}

.vivi--block-reviews-content-item-content {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  height: auto;
  background-color: #faf2eb;
  padding: 60px;
}

@media screen and (max-width: 1140px) {
  .vivi--block-reviews-content-item-content {
    padding: 30px 75px;
  }
}

.vivi--block-reviews-content-item-content-details {
  display: inline-flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 320px;
  height: auto;
  text-align: center;
}

.vivi--block-reviews-content-item-user {
  width: 100%;
  margin: 0;
}

.vivi--block-reviews-content-item-desc {
  width: 100%;
  max-width: 330px;
}

@media screen and (max-width: 1140px) {
  .vivi--block-reviews-content-item-desc {
    max-width: 100%;
  }
}

@media screen and (max-width: 1140px) {
  .vivi--block-reviews-content-item-link {
    margin-bottom: 15px;
  }
}

.vivi--block-reviews-content .slick-slide:first-of-type [data-prev] {
  display: none;
}

.vivi--block-reviews-content .slick-slide:last-of-type [data-next] {
  display: none;
}

.vivi--block:first-child {
  margin-top: 30px;
}

.vivi--block-wrapper-villas {
  max-width: 1000px;
}

@media screen and (max-width: 1140px) {
  .vivi--block-wrapper-villas {
    max-width: 781px;
  }
}

.vivi--block-villas-villa {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 105px;
}

@media screen and (max-width: 781px) {
  .vivi--block-villas-villa {
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
}

.vivi--block-villas-villa-odd .vivi--block-villas-villa-content {
  order: 2;
  padding-left: 60px;
}

.vivi--block-villas-villa:last-of-type {
  margin-bottom: 0;
}

.vivi--block-villas-villa-image {
  display: inline-block;
  order: 1;
  flex: 1 52%;
}

@media screen and (max-width: 781px) {
  .vivi--block-villas-villa-image {
    width: 100%;
    order: -1 !important;
  }
}

.vivi--block-villas-villa-image img {
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 781px) {
  .vivi--block-villas-villa-image img {
    max-height: 300px;
  }
}

.vivi--block-villas-villa-content {
  order: 0;
  flex: 0 48%;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-right: 60px;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}

@media screen and (max-width: 781px) {
  .vivi--block-villas-villa-content {
    flex: 1 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

.vivi--block-villas-villa-content-title {
  display: inline-block;
  width: 100%;
  margin: 0 0 30px;
}

.vivi--block-villas-villa-content-price {
  font-size: 1em;
  color: #bcab79;
  line-height: 19px;
  margin: 0 0 15px;
  width: 100%;
}

.vivi--block-villas-villa-content-desc {
  margin: 0 0 15px;
  max-width: 781px;
}

.vivi--block-villas-villa-content-icons {
  display: inline-flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  align-content: center;
}

.vivi--block-villas-villa-content-icons-icon {
  margin-right: 15px;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  color: #828282;
}

.vivi--block-villas-villa-content-icons-icon:last-of-type {
  margin-right: 0;
}

.vivi--block-villas-villa-content-icons-icon svg, .vivi--block-villas-villa-content-icons-icon img {
  width: 16px;
  height: 16px;
  margin-right: 5px;
  fill: #828282;
}

.vivi--block-villas-villa-content .btn {
  margin-top: 60px;
}

.vivi--block-wrapper-activity-slider, .vivi--block-wrapper-onlytxt {
  max-width: 940px;
  width: 100%;
}

.vivi--block-activityslider {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: auto;
  padding: 60px auto;
  text-align: center;
}

.vivi--block-activityslider:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: -180px;
  z-index: 0;
  background-image: url("../images/palm.svg");
  background-repeat: no-repeat;
  background-position: 100% 80%;
  transform: scaleX(-1);
}

@media screen and (max-width: 1140px) {
  .vivi--block-activityslider:after {
    background-image: none;
    display: none;
  }
}

.vivi--block-activityslider .slick-dots {
  display: none;
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
  padding: 0 60px;
}

@media screen and (max-width: 1000px) {
  .vivi--block-activityslider .slick-dots {
    display: flex;
  }
}

@media screen and (max-width: 1140px) {
  .vivi--block-activityslider .slick-dots {
    bottom: -60px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-activityslider .slick-dots {
    bottom: -10px;
  }
}

.vivi--block-activityslider .slider--arrows {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: 0;
  left: 0;
  width: 100%;
  margin: auto;
}

@media screen and (max-width: 1140px) {
  .vivi--block-activityslider .slider--arrows {
    top: unset;
    bottom: 15px;
  }
}

.vivi--block-activityslider .slider--arrows button.slick-arrow {
  position: absolute;
}

.vivi--block-activityslider .slider--arrows button.slick-arrow.slick-prev {
  left: -75px;
}

.vivi--block-activityslider .slider--arrows button.slick-arrow.slick-next {
  right: -75px;
}

@media screen and (max-width: 1000px) {
  .vivi--block-activityslider .slider--arrows button.slick-arrow.slick-prev {
    left: 15px;
  }

  .vivi--block-activityslider .slider--arrows button.slick-arrow.slick-next {
    right: 15px;
  }
}

.vivi--block-activityslider-content {
  display: inline-flex;
  justify-content: center;
  flex-wrap: nowrap;
  position: relative;
  z-index: 2;
  margin: auto;
  width: 100%;
  padding: 0;
}

.vivi--block-activityslider-content-item {
  display: inline-flex;
  width: 100%;
}

.vivi--block-activityslider-content-item-content {
  position: relative;
  display: inline-flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
}

@media screen and (max-width: 781px) {
  .vivi--block-activityslider-content-item-content {
    flex-wrap: wrap;
  }
}

.vivi--block-activityslider-content-item-content-image {
  flex: 1 45%;
  width: 45%;
  max-width: 45%;
  margin-right: auto;
  height: 100%;
  min-height: 440px;
  display: grid;
}

@media screen and (max-width: 781px) {
  .vivi--block-activityslider-content-item-content-image {
    flex: 1 100%;
    width: 100%;
    min-height: 0;
    max-width: 100%;
    max-height: 250px;
  }
}

.vivi--block-activityslider-content-item-content-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vivi--block-activityslider-content-item-content-details {
  position: absolute;
  right: 0;
  width: calc(50% + 120px);
  top: unset;
  bottom: unset;
  margin: auto;
  background-color: #faf2eb;
  padding: 75px;
  box-sizing: border-box;
}

@media screen and (max-width: 781px) {
  .vivi--block-activityslider-content-item-content-details {
    width: 100%;
    position: relative;
    padding: 30px;
  }
}

.vivi--block-activityslider-content-item-content-details-title {
  margin-top: 0;
}

.vivi--block-activityslider-content-item-content-details-link {
  display: inline-block;
  margin-top: 30px;
}

@media screen and (max-width: 781px) {
  .vivi--block-activityslider-content-item-content-details-link {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 1140px) {
  .vivi--block-activityslider-content {
    padding-bottom: 30px;
  }
}

.vivi--block-activityslider-title {
  width: 100%;
  flex: 1 100%;
  margin-top: 0;
}

@media screen and (max-width: 781px) {
  .vivi--block-activityslider-title {
    text-align: center !important;
  }
}

.vivi--block-activityslider .view-more {
  position: relative;
  z-index: 2;
  margin-top: 30px;
}

@media screen and (max-width: 1000px) {
  .vivi--block-activityslider .view-more {
    margin-top: 0;
  }
}

@media screen and (max-width: 1140px) {
  .vivi--block-activityslider .view-more {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-activityslider .view-more {
    display: none;
  }
}

.vivi--block-wrapper-contact {
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin-top: 0 !important;
}

.vivi--block-contact {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: auto;
  text-align: center;
}

.vivi--block-contact-background {
  width: 100%;
  min-height: 800px;
  max-height: 800px;
  position: relative;
}

@media screen and (max-width: 1140px) {
  .vivi--block-contact-background {
    min-height: 600px;
    max-height: 600px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-contact-background {
    min-height: 250px;
    max-height: 250px;
  }
}

.vivi--block-contact-background video, .vivi--block-contact-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vivi--block-contact-content {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-content: flex-end;
  align-items: flex-end;
  flex-wrap: nowrap;
  margin: auto;
  max-width: 1440px;
  width: 100%;
  padding: 0;
}

@media screen and (max-width: 781px) {
  .vivi--block-contact-content {
    flex-wrap: wrap;
  }
}

.vivi--block-contact-content-detail {
  position: relative;
  margin-top: -600px;
  flex: 0 60%;
  z-index: 0;
  padding: 60px 150px 0 30px;
  background-color: #fffcf9;
}

@media screen and (max-width: 1140px) {
  .vivi--block-contact-content-detail {
    padding: 30px 60px 0 30px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-contact-content-detail {
    margin-top: 0;
    padding: 30px;
    flex: 1 100%;
  }
}

.vivi--block-contact-content-detail:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  width: 100vw;
  background-color: #fffcf9;
}

.vivi--block-contact-content-detail-title {
  width: 100%;
  flex: 1 100%;
  margin: 0 0 45px 0;
}

.vivi--block-contact-content-detail-form form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.vivi--block-contact-content-detail-form form label.half {
  margin-right: 30px;
}

.vivi--block-contact-content-detail-form form label.half + .half {
  margin-right: 0;
}

.vivi--block-contact-content-detail-form form textarea {
  min-height: 200px;
}

.vivi--block-contact-content-detail-form form input[type=submit] {
  width: auto;
  padding-left: 45px;
  padding-right: 45px;
  margin-top: 30px;
}

.vivi--block-contact-content-address {
  flex: 0 auto;
  font-size: 1.7142857143em;
  font-family: Playfair Display, serif;
  font-weight: 400;
  text-decoration: none;
  padding: 60px 60px 0 0;
}

.vivi--block-contact-content-address a {
  text-decoration: none;
  color: #202020;
  font-weight: 300;
}

@media screen and (max-width: 1140px) {
  .vivi--block-contact-content-address {
    padding: 30px 30px 0 0;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-contact-content-address {
    padding: 30px;
    flex: 1 100%;
  }
}

.vivi--block-activityblocks-content {
  display: inline-flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  position: relative;
  z-index: 2;
  margin: auto;
  width: calc(100% + 30px);
  text-align: left;
}

@media screen and (max-width: 781px) {
  .vivi--block-activityblocks-content {
    width: 100%;
  }
}

.vivi--block-activityblocks-content-item {
  display: inline-flex;
  flex-wrap: wrap;
  width: 100%;
  flex: 0 calc(100% / 3 - 30px);
  margin-right: 30px;
  margin-bottom: 60px;
  position: relative;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: center;
}

@media screen and (max-width: 1140px) {
  .vivi--block-activityblocks-content-item {
    flex: 0 calc(100% / 2 - 30px);
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-activityblocks-content-item {
    flex: 0 100%;
    margin-right: 0;
  }
}

.vivi--block-activityblocks-content-item-image {
  flex: 1 100%;
  width: 100%;
  margin-right: auto;
  height: 230px;
  display: flex;
}

.vivi--block-activityblocks-content-item-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.vivi--block-activityblocks-content-item-details {
  width: 100%;
  margin: auto;
  box-sizing: border-box;
  color: #202020;
}

.vivi--block-activityblocks-content-item-details-title {
  margin-top: 30px;
  margin-bottom: 15px;
}

.vivi--block-activityblocks-content-item-details-desc {
  line-height: 25px;
}

.vivi--block-activityblocks-content-item-details-desc p {
  margin: 0;
}

.vivi--block-activityblocks-content-item-details-link {
  display: inline-block;
  margin-top: 30px;
}

@media screen and (max-width: 781px) {
  .vivi--block-activityblocks-content-item-details-link {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 1140px) {
  .vivi--block-activityblocks-content {
    padding-bottom: 30px;
  }
}

.vivi--block-wrapper-info:not(.vivi--block-wrapper-columns) {
  max-width: 100%;
  width: 100%;
  margin-bottom: 90px;
}

@media screen and (max-width: 1140px) {
  .vivi--block-wrapper-info:not(.vivi--block-wrapper-columns) {
    margin-bottom: 60px;
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-wrapper-info:not(.vivi--block-wrapper-columns) {
    margin-bottom: 150px;
  }
}

.vivi--block-info {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: auto;
  padding: 60px auto;
  text-align: center;
}

.vivi--block-info-background {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.vivi--block-info-background:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(87.1deg, #222222 33.27%, rgba(32, 32, 32, 0.52) 85.16%);
  opacity: 0.92;
}

.vivi--block-info-background iframe, .vivi--block-info-background video, .vivi--block-info-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vivi--block-info-wrapper {
  display: inline-flex;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
  margin: auto;
  max-width: 1440px;
  width: 100%;
  padding: 120px 0;
}

@media screen and (max-width: 1140px) {
  .vivi--block-info-wrapper {
    padding: 60px 0;
    justify-content: flex-start;
  }
}

.vivi--block-info-title {
  width: 100%;
  flex: 1 100%;
  text-align: center !important;
}

.vivi--block-info-content {
  flex: 0 50%;
  display: inline-flex;
  align-items: center;
  align-content: center;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 418px;
}

@media screen and (max-width: 1140px) {
  .vivi--block-info-content {
    flex: 1 100%;
    padding: 0 30px;
  }
}

.vivi--block-info-content-title, .vivi--block-info-content-desc {
  color: white;
  margin-top: 0;
  margin-bottom: 30px;
  width: 100%;
}

.vivi--block-info-content-title p, .vivi--block-info-content-desc p {
  margin: 0;
}

.vivi--block-info-image {
  display: inline-flex;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  flex: 0 50%;
  bottom: -180px;
  padding-left: 90px;
}

@media screen and (max-width: 1140px) {
  .vivi--block-info-image {
    padding-left: 0;
    flex: 1 100%;
    margin: 0 30px;
    bottom: -90px;
    max-height: 420px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--block-info-image {
    bottom: -220px;
    margin-top: -170px;
    max-height: 340px;
  }
}

.vivi--block-info-image img {
  min-height: 500px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-shadow: 0 15px 55px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 1140px) {
  .vivi--block-info-image img {
    min-height: 0;
  }
}

.vivi--block-info-columns .vivi--block-info-wrapper {
  padding: 0;
}

.vivi--block-info-thecolumns {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 1140px) {
  .vivi--block-info-thecolumns {
    flex-wrap: wrap;
    justify-content: center;
  }
}

.vivi--block-info-thecolumns-column {
  flex: 1 33%;
  margin-right: 30px;
  margin-bottom: 30px;
  max-width: 310px;
}

@media screen and (max-width: 781px) {
  .vivi--block-info-thecolumns-column {
    flex: 1 100%;
    margin-right: 0;
  }
}

.vivi--block-info-thecolumns-column:last-of-type {
  margin-right: 0;
}

.vivi--block-info-thecolumns-column-title, .vivi--block-info-thecolumns-column-desc {
  width: 100%;
  text-align: center !important;
}

.vivi--block-info-thecolumns-column-image {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 142px;
}

.vivi--block-info-thecolumns-column-image img {
  display: inline-block;
  width: auto;
  height: 100%;
  object-fit: cover;
}

.header--wrapper {
  position: relative;
  z-index: 30;
  width: 100%;
  background: #fffcf9;
  top: 0;
  right: 0;
  left: 0;
  transition: all 0.2s ease;
}

.header--wrapper-sticky {
  position: relative;
  z-index: 250;
  transition: all 0.5s ease;
}

.header--wrapper-sticky.is-sticky > *:first-of-type {
  top: 0 !important;
  box-shadow: -30px 5px 20px rgba(0, 0, 0, 0.09);
}

.header--container {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1140px;
  margin: auto;
  padding: 30px 0;
}

@media screen and (max-width: 1440px) {
  .header--container {
    padding: 20px 15px;
  }
}

.header--container-logo {
  display: flex;
  align-items: center;
  align-content: center;
  width: 258px;
  height: auto;
}

@media screen and (max-width: 960px) {
  .header--container-logo {
    flex: 1 100%;
  }
}

.header--container-logo img, .header--container-logo svg {
  opacity: 1;
  transition: opacity 0.2s ease;
}

@media screen and (max-width: 960px) {
  .header--container-logo img.desktop-logo, .header--container-logo svg.desktop-logo {
    display: none;
  }
}

.header--container-logo img.mobile-logo, .header--container-logo svg.mobile-logo {
  max-width: 90%;
  display: none;
  opacity: 0;
}

@media screen and (max-width: 960px) {
  .header--container-logo img.mobile-logo, .header--container-logo svg.mobile-logo {
    display: block;
    opacity: 1;
  }
}

.header--container-mobile {
  display: none;
  align-content: center;
  align-items: center;
  margin-left: 15px;
}

.header--container-mobile-btn {
  width: 28px;
  height: 43px;
  display: flex;
  align-content: center;
  align-items: center;
  cursor: pointer;
}

@media screen and (max-width: 960px) {
  .header--container-mobile {
    display: flex;
  }
}

.header--container-mobile-wrapper {
  display: flex;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  cursor: default;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  position: fixed;
  background-color: #202020;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 30;
  width: 100%;
  transition: all 0.2s ease;
}

.header--container-mobile-wrapper.active {
  opacity: 1;
  visibility: visible;
  pointer-events: visible;
  cursor: default;
}

.header--container-mobile-wrapper .header--container-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  overflow-y: auto;
  height: 100%;
  padding-bottom: 150px;
}

.header--container-mobile-wrapper .header--container-menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  width: 100%;
  list-style: none;
  margin: 90px 0 0 0;
  padding: 0;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item {
  width: 100%;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item.menu-item-has-children:hover > a:after {
  top: unset;
  transform: inherit;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item.menu-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
  position: relative;
  top: unset;
  max-height: 2000px;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item a {
  position: relative;
  font-size: 1.7142857143em;
  padding: 10px 20px;
  width: 100%;
  color: white;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item a:after {
  right: 30px;
  margin: auto !important;
  width: 38px;
  height: 38px;
  top: 0 !important;
  bottom: 0;
  position: absolute !important;
  transform: none !important;
  background-image: url("../images/arrow-down-w.svg");
  background-repeat: no-repeat;
  background-size: 16px;
  background-color: rgba(227, 227, 227, 0.1);
  border: none !important;
  background-position: center center;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item a:hover:after {
  top: unset !important;
  transform: none !important;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item .sub-menu {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  position: relative;
  background-color: transparent;
  top: unset;
  right: unset;
  width: 100%;
  padding: 0 30px;
  box-shadow: none;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item .sub-menu a {
  padding-left: 60px;
  font-size: 1em;
  color: white;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item.open a:after {
  transform: rotate(180deg) !important;
}

.header--container-mobile-wrapper .header--container-menu ul .menu-item.open .sub-menu {
  opacity: 1;
  visibility: visible;
  max-height: 2000px;
}

.header--container-mobile-wrapper .header--container-menu-lang {
  width: 100%;
  margin: 20px;
}

.header--container-mobile-wrapper .header--container-menu-lang .trp-language-switcher {
  width: 100%;
  border: 1px solid white;
  padding: 15px;
}

.header--container-mobile-wrapper .header--container-menu-lang .trp-language-switcher > div {
  width: 100% !important;
}

.header--container-mobile-wrapper .header--container-menu-lang .trp-language-switcher > div.trp-ls-shortcode-language {
  background-color: #202020;
  border: 1px solid white;
}

.header--container-mobile-wrapper .header--container-menu-lang .trp-language-switcher > div:after {
  filter: invert(1);
}

.header--container-mobile-wrapper .header--container-menu-lang .trp-language-switcher > div a {
  color: white;
  width: 100%;
}

.header--container-mobile-wrapper .header--container-menu-lang .trp-language-switcher > div a:hover {
  background: transparent;
}

.header--container-mobile-wrapper-top {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 15px;
}

.header--container-mobile-wrapper-top-close {
  display: flex;
  align-items: center;
  align-content: center;
}

.header--container-mobile-wrapper-top-logo {
  width: 100%;
}

.header--container-mobile-wrapper-top-logo img, .header--container-mobile-wrapper-top-logo svg {
  height: 100%;
}

@media screen and (max-width: 960px) {
  .header--container-mobile-wrapper-top-logo {
    width: 80%;
  }

  .header--container-mobile-wrapper-top-logo img, .header--container-mobile-wrapper-top-logo svg {
    width: 100%;
  }
}

.header--container-mobile-wrapper-top .hamburger-close {
  width: 28px;
  height: 43px;
}

.header--container-menu {
  display: flex;
  justify-content: center;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .header--container-menu {
    display: none;
  }
}

.header--container-menu .nav {
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
}

.header--container-menu .nav .menu-item {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 1em;
}

.header--container-menu .nav .menu-item.menu-item-has-children > a:after {
  content: "";
  position: relative;
  border: solid black;
  margin-left: 10px;
  margin-bottom: 3px;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 2px;
  transform: rotate(45deg);
  transition: all 0.2s ease;
}

.header--container-menu .nav .menu-item.menu-item-has-children:hover > a:after {
  top: 3px;
  transform: rotate(225deg);
}

.header--container-menu .nav .menu-item.menu-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.header--container-menu .nav .menu-item a {
  color: #202020;
  display: inline-block;
  padding: 15px 7.5px;
  text-decoration: none;
}

.header--container-menu .nav .menu-item.current-menu-item > a {
  color: #bcab79;
}

.header--container-menu .nav .menu-item .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  width: auto;
  min-width: 200px;
  left: -60px;
}

.header--container-menu .nav .menu-item .sub-menu a {
  padding: 15px 30px;
}

.header--container-usermenu {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
}

@media screen and (max-width: 960px) {
  .header--container-usermenu-lang {
    display: none;
  }
}

.header--container-usermenu .trp-language-switcher {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
}

.header--container-usermenu .trp-language-switcher > div {
  width: auto;
  display: flex;
  align-items: center;
  align-content: flex-end;
  justify-content: center;
  border: none;
  background-image: none;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
}

.header--container-usermenu .trp-language-switcher > div.trp-ls-shortcode-current-language {
  min-width: 50px;
  visibility: visible !important;
}

.header--container-usermenu .trp-language-switcher > div.trp-ls-shortcode-current-language:hover:after {
  top: 3px;
  transform: rotate(225deg);
}

.header--container-usermenu .trp-language-switcher > div.trp-ls-shortcode-current-language:after {
  content: "";
  position: relative;
  border: solid black;
  margin-left: 10px;
  margin-bottom: 3px;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 2px;
  transform: rotate(45deg);
  transition: all 0.2s ease;
}

.header--container-usermenu .trp-language-switcher > div.trp-ls-shortcode-language {
  top: 100%;
  padding: 10px;
  background-color: white;
  box-shadow: -3px 3px 15px rgba(0, 0, 0, 0.09);
  transition: all 0.2s ease 0.5s;
}

.header--container-usermenu .trp-language-switcher > div.trp-ls-shortcode-language a {
  margin-bottom: 10px;
  cursor: pointer !important;
}

.header--container-usermenu .trp-language-switcher > div.trp-ls-shortcode-language a:last-of-type {
  margin-bottom: 0;
}

.header--container-usermenu .trp-language-switcher > div > a {
  color: #202020;
  text-decoration: none;
}

.header--container-usermenu-user {
  position: relative;
  display: flex;
  align-items: center;
  align-content: center;
  margin-left: 0;
  cursor: pointer;
  height: 100%;
  padding-right: 15px;
  padding-left: 7.5px;
}

.header--container-usermenu-user:after {
  content: "";
  position: relative;
  border: solid black;
  margin-left: 10px;
  margin-bottom: 3px;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 2px;
  transform: rotate(45deg);
  transition: all 0.2s ease;
}

.header--container-usermenu-user:hover:after {
  top: 3px;
  transform: rotate(225deg);
}

.header--container-usermenu-user:hover .header--container-usermenu-user-menu {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.header--container-usermenu-login {
  margin-left: 0;
  color: #202020;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
}

.header--container .sub-menu, .header--container-usermenu-user-menu {
  transition: all 0.2s ease 0.4s;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  right: 0;
  top: calc(100% + 7.5px);
  background-color: white;
  padding: 15px;
  display: flex;
  flex-wrap: wrap;
  box-shadow: -3px 3px 15px rgba(0, 0, 0, 0.09);
}

.header--container .sub-menu a, .header--container-usermenu-user-menu a {
  width: 100%;
  min-width: 130px;
  padding: 7.5px;
  color: #202020;
  font-size: 1em;
}

.admin-bar .header--wrapper-sticky.is-sticky > *:first-of-type,
.admin-bar .header--container-mobile-wrapper {
  margin-top: 32px;
}

@media screen and (max-width: 768px) {
  .admin-bar .header--wrapper-sticky.is-sticky > *:first-of-type,
.admin-bar .header--container-mobile-wrapper {
    margin-top: 46px;
  }
}

@media screen and (max-width: 600px) {
  .admin-bar .header--wrapper-sticky.is-sticky > *:first-of-type,
.admin-bar .header--container-mobile-wrapper {
    margin-top: 0;
  }
}

.page-header {
  display: flex;
  flex-wrap: wrap;
  max-width: 1134px;
  width: 100%;
  height: 100%;
  margin: 60px auto;
}

@media screen and (max-width: 1575px) {
  .page-header {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 781px) {
  .page-header {
    margin: 30px auto 15px auto;
  }
}

.page-header-title {
  flex: 1 60%;
  margin: 0 0 30px 0;
}

@media screen and (max-width: 781px) {
  .page-header-title {
    margin-bottom: 15px;
    text-align: center;
  }
}

@media screen and (max-width: 781px) {
  .page-header-title {
    order: 3;
  }
}

.page-header-faq {
  justify-content: center;
  margin-bottom: 0;
}

.page-header-faq .page-header-crumbs {
  margin-bottom: 15px;
}

.page-header-faq .page-header-title {
  width: 100%;
  flex: 1 100%;
  text-align: center;
}

.page-header-clearfix {
  display: inline-flex;
  flex: 1 100%;
  width: 100%;
}

.page-header-crumbs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-content: flex-end;
  align-items: flex-end;
  flex: 0 auto;
  color: #bdbdbd;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.8571428571em;
  margin: 0 0 30px 0;
}

@media screen and (max-width: 781px) {
  .page-header-crumbs {
    order: 2;
    width: 100%;
    justify-content: center;
    margin-bottom: 15px;
  }
}

.page-header-crumbs a {
  color: #bdbdbd;
}

.page-header-crumbs .crumb-divider {
  padding: 0 7.5px;
}

.page-header-img {
  display: inline-block;
  max-height: 300px;
  height: 100%;
  width: 100%;
  object-fit: cover;
  background-color: #faf2eb;
}

@media screen and (max-width: 781px) {
  .page-header-img {
    display: none;
  }
}

.vivi--footer {
  max-width: 1140px;
  width: 100%;
  margin: 60px auto 30px;
  padding: 0 0 0 0;
}

@media screen and (max-width: 1440px) {
  .vivi--footer {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.vivi--footer-row {
  display: flex;
  width: 100%;
  margin-bottom: 60px;
}

@media screen and (max-width: 1140px) {
  .vivi--footer-row {
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--footer-row {
    margin-bottom: 15px;
  }
}

.vivi--footer-row:first-of-type {
  border-top: 1px solid #E4E1D8;
  padding-top: 60px;
}

.vivi--footer-row:nth-last-child {
  margin-bottom: 0;
}

.vivi--footer-row-bottom .vivi--footer-block {
  color: #828282;
  font-size: 0.8571428571em;
}

@media screen and (max-width: 781px) {
  .vivi--footer-row-bottom .vivi--footer-block {
    justify-content: center;
    text-align: center;
  }
}

.vivi--footer-row-bottom .vivi--footer-block a {
  color: #828282;
}

.vivi--footer-block {
  display: flex;
  flex-wrap: wrap;
  flex: 1 25%;
  font-size: 1em;
  font-weight: 400;
  padding-right: 30px;
}

@media screen and (max-width: 1140px) {
  .vivi--footer-block {
    flex: 1 50%;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--footer-block {
    flex: 1 100%;
    padding-right: 0;
    margin-bottom: 30px;
  }
}

.vivi--footer-block:last-of-type {
  padding-right: 0;
}

.vivi--footer-block-double {
  flex: 1 50%;
}

.vivi--footer-block-logo {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  margin-bottom: 30px;
}

@media screen and (max-width: 1140px) {
  .vivi--footer-block-logo {
    flex: 1 50%;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 781px) {
  .vivi--footer-block-logo {
    margin-top: 60px;
    flex: 1 100%;
    justify-content: center;
  }
}

.vivi--footer-block-logo img, .vivi--footer-block-logo svg {
  width: 100%;
  height: auto;
  max-width: 258px;
  object-fit: cover;
}

.vivi--footer-block-credits {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-content: center;
  line-height: 25px;
}

.vivi--footer-block-credits img, .vivi--footer-block-credits svg {
  display: inline-block;
  height: auto;
  max-width: 55px;
  margin-left: 7.5px;
}

.vivi--footer-block-credits a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.vivi--footer-block-socials {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}

@media screen and (max-width: 1140px) {
  .vivi--footer-block-socials {
    flex: 1 50%;
  }
}

@media screen and (max-width: 781px) {
  .vivi--footer-block-socials {
    margin-top: 15px;
    flex: 1 100%;
    justify-content: center;
  }
}

.vivi--footer-block-socials-icon {
  display: inline-block;
  margin-right: 7.5px;
  background-color: #faf2eb;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 70% 55%;
  width: 40px;
  height: 40px;
}

.vivi--footer-block-socials-icon:last-of-type {
  margin-right: 0;
}

.vivi--footer-block-socials-icon.icon-facebook {
  background-image: url("../images/icon-facebook.svg");
}

.vivi--footer-block-socials-icon.icon-instagram {
  background-image: url("../images/icon-instagram.svg");
}

.vivi--footer-block-socials-icon.icon-youtube {
  background-image: url("../images/icon-youtube.svg");
}

.vivi--footer-block h2, .vivi--footer-block h3, .vivi--footer-block h4, .vivi--footer-block h5, .vivi--footer-block h6 {
  width: 100%;
  margin: 0 0 15px 0;
  font-size: 1.7142857143em;
  line-height: 44px;
}

.vivi--footer-block p {
  width: 100%;
  margin: 0;
  padding: 0;
}

.vivi--footer-block a {
  color: #202020;
  text-decoration: none;
  font-weight: 400;
}

.vivi--wrapper {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  overflow-y: inherit;
  overflow-x: hidden;
  height: 100%;
  width: 100%;
  margin: auto;
}

.vivi--wrapper .vivi--block-wrapper-activities, .vivi--wrapper-activity {
  max-width: 1140px;
  margin: 0 auto;
}

.vivi--wrapper .vivi--activity-detail-wrapper {
  display: block;
  flex-wrap: wrap;
  align-content: flex-start;
  height: 100%;
  width: 100%;
  padding: 0 30px;
}

.vivi--wrapper .vivi--activity-detail-header {
  position: relative;
  margin-top: 60px;
}

.vivi--wrapper .vivi--activity-detail-header-nav {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

@media screen and (max-width: 781px) {
  .vivi--wrapper .vivi--activity-detail-header-nav {
    position: relative;
    margin-bottom: 30px;
  }
}

.vivi--wrapper .vivi--activity-detail-header-img {
  width: 100%;
  height: auto;
  max-height: 544px;
  object-fit: cover;
}

.vivi--wrapper .vivi--activity-detail-header-title {
  margin: 25px 0 36px;
  width: 100%;
  text-align: center;
}

.vivi--wrapper .vivi--activity-detail-header .page-header-crumbs {
  justify-content: center;
  text-align: center;
  display: inline-flex;
  width: 100%;
  margin-bottom: 0;
}

.vivi--wrapper .vivi--activity-detail-content {
  position: relative;
  max-width: 800px;
  width: 100%;
  margin: 30px auto;
  overflow: hidden;
  font-size: 20px;
  line-height: 40px;
}

.vivi--wrapper .vivi--activity-detail-content-wrapper {
  position: relative;
  min-height: 300px;
}

@media screen and (max-width: 1140px) {
  .vivi--wrapper .vivi--activity-detail-content {
    padding-right: 90px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--wrapper .vivi--activity-detail-content {
    padding-right: 0;
  }
}

.vivi--wrapper .vivi--activity-detail-content p {
  margin: 0 0 30px 0;
}

.vivi--wrapper .vivi--activity-detail-content img {
  max-width: 100%;
  object-fit: cover;
}

.vivi--wrapper .vivi--activity-detail-content h1, .vivi--wrapper .vivi--activity-detail-content h2, .vivi--wrapper .vivi--activity-detail-content h3, .vivi--wrapper .vivi--activity-detail-content h4, .vivi--wrapper .vivi--activity-detail-content h5, .vivi--wrapper .vivi--activity-detail-content h6 {
  margin: 10px 0 30px 0;
}

.vivi--wrapper .vivi--activity-detail-content-social {
  position: absolute;
  right: 0;
  width: 100%;
  max-width: 60px;
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-end;
}

@media screen and (max-width: 781px) {
  .vivi--wrapper .vivi--activity-detail-content-social {
    position: relative;
    max-width: 100%;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    margin: 30px 0;
  }
}

.vivi--wrapper .vivi--activity-detail-content-social-title {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 15px;
  width: 100%;
  display: inline-block;
  text-align: center;
}

.vivi--wrapper .vivi--activity-detail-content-social-icon {
  margin-right: 0;
  margin-bottom: 10px;
}

@media screen and (max-width: 781px) {
  .vivi--wrapper .vivi--activity-detail-content-social-icon {
    margin-right: 10px;
    margin-bottom: 0;
  }
}

.vivi--wrapper .vivi--activity-detail-more {
  margin: auto;
}

.vivi--wrapper .vivi--activity-detail-more-title {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
}

@media screen and (max-width: 781px) {
  .vivi--wrapper .vivi--activity-detail-more-title {
    flex-wrap: wrap;
    text-align: center;
  }
}

.vivi--wrapper .vivi--activity-detail-more-title-data {
  flex: 1 auto;
}

@media screen and (max-width: 781px) {
  .vivi--wrapper .vivi--activity-detail-more-title-data {
    flex: 1 100%;
  }
}

.vivi--wrapper .vivi--activity-detail-more-title .btn {
  flex: 0 auto;
}

@media screen and (max-width: 781px) {
  .vivi--wrapper .vivi--activity-detail-more-title .btn {
    margin-bottom: 30px;
    display: none;
  }
}

.vivi--wrapper .vivi--faq {
  display: block;
  flex-wrap: wrap;
  align-content: flex-start;
  height: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
  max-width: 800px;
}

.vivi--wrapper .vivi--faq p {
  margin: 0 0 30px 0;
}

.vivi--wrapper .vivi--faq img {
  max-width: 100%;
  object-fit: cover;
}

.vivi--wrapper .vivi--faq h1, .vivi--wrapper .vivi--faq h2, .vivi--wrapper .vivi--faq h3, .vivi--wrapper .vivi--faq h4, .vivi--wrapper .vivi--faq h5, .vivi--wrapper .vivi--faq h6 {
  margin: 10px 0 30px 0;
}

.vivi--wrapper .vivi--faq a {
  font-weight: normal;
  text-decoration: none;
}

.vivi--wrapper .vivi--faq-desc {
  width: 100%;
  margin: 30px auto;
  font-size: 2.2857142857em;
  font-weight: 400;
}

@media screen and (max-width: 1140px) {
  .vivi--wrapper .vivi--faq-desc {
    font-size: 1.7142857143em;
  }
}

.vivi--wrapper .vivi--faq-archive {
  display: flex;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.vivi--wrapper .vivi--faq-archive-item {
  width: 100%;
  padding: 30px 0 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #E4E1D8;
}

.vivi--wrapper .vivi--faq-archive-item-q {
  display: flex;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  width: 100%;
  font-size: 1.7142857143em;
  font-family: Playfair Display, serif;
  font-weight: 400;
  line-height: 30px;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
}

.vivi--wrapper .vivi--faq-archive-item-q:after {
  content: "";
  background-image: url("../images/plus.svg");
  width: 14px;
  height: 14px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.vivi--wrapper .vivi--faq-archive-item-answer {
  background-color: #faf2eb;
  margin-top: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
}

.vivi--wrapper .vivi--faq-archive-item-answer p {
  margin-bottom: 0;
}

.vivi--wrapper .vivi--faq-archive-item.opened {
  border-color: transparent;
}

.vivi--wrapper .vivi--faq-archive-item.opened + .vivi--faq-archive-item {
  padding-top: 15px;
}

.vivi--wrapper .vivi--faq-archive-item.opened .vivi--faq-archive-item-answer {
  margin-top: 30px;
  padding: 30px;
  max-height: 2000px;
  overflow: inherit;
}

.vivi--wrapper .vivi--faq-archive-item.opened .vivi--faq-archive-item-q:after {
  background-image: url("../images/min.svg");
}

.vivi--auth {
  display: flex;
  justify-content: space-between;
  min-height: 100vh;
}

.vivi--auth-image {
  flex: 0 35%;
  background-color: #faf2eb;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

@media screen and (max-width: 1140px) {
  .vivi--auth-image {
    display: none;
  }
}

.vivi--auth-content {
  position: relative;
  flex: 1 auto;
  margin: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

.vivi--auth-content-nav {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
}

.vivi--auth-content-container {
  display: flex;
  flex-wrap: wrap;
  height: auto;
  max-width: 575px;
}

.vivi--auth-content-container-title {
  width: 100%;
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 3.4285714286em;
}

.vivi--auth-content-container-title-center {
  text-align: center;
}

.vivi--auth-content-container-desc {
  width: 100%;
  margin-top: 0;
}

.vivi--auth-content-container-desc-center {
  text-align: center;
}

.vivi--auth-content-container a {
  font-weight: normal;
  text-decoration: none;
  color: #bcab79;
}

.vivi--auth-content-container form {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.vivi--auth-content-container form label {
  margin: 0;
}

.vivi--auth-content-container form label small {
  font-size: 1em;
  margin-left: 7.5px;
}

.vivi--auth-content-container form p {
  flex: 1 100%;
  margin: 15px 0 0 0;
}

.vivi--auth-content-container form input[type=text], .vivi--auth-content-container form input[type=email], .vivi--auth-content-container form input[type=password], .vivi--auth-content-container form input[type=tel] {
  width: 100%;
}

.vivi--auth-content-container form .login-register {
  order: 6;
  flex: 0 50%;
  text-align: right;
}

.vivi--auth-content-container form .login-register a {
  font-weight: 300;
  text-decoration: none;
}

.vivi--auth-content-container form .login-remember {
  order: 5;
  flex: 0 50%;
}

.vivi--auth-content-container form .login-remember label {
  font-weight: 300;
  letter-spacing: 0;
  text-transform: inherit;
}

.vivi--auth-content-container form .login-remember label input {
  margin-top: 0;
  margin-bottom: -3px;
}

.vivi--auth-content-container form .login-submit,
.vivi--auth-content-container form .lostpassword-submit,
.vivi--auth-content-container form .lostpassword-cancel {
  order: 8;
  margin-top: 30px;
}

.vivi--auth-content-container form .login-submit input[type=submit], .vivi--auth-content-container form .login-submit .btn,
.vivi--auth-content-container form .lostpassword-submit input[type=submit],
.vivi--auth-content-container form .lostpassword-submit .btn,
.vivi--auth-content-container form .lostpassword-cancel input[type=submit],
.vivi--auth-content-container form .lostpassword-cancel .btn {
  display: inline-block;
  width: auto;
  text-align: center;
  padding-left: 45px;
  padding-right: 45px;
}

.vivi--auth-content-container form .lostpassword-submit,
.vivi--auth-content-container form .lostpassword-cancel,
.vivi--auth-content-container form .resetpass-submit,
.vivi--auth-content-container form .registerform-submit {
  order: 9;
  flex: 0 50%;
  padding-right: 30px;
}

.vivi--auth-content-container form .lostpassword-submit:last-of-type,
.vivi--auth-content-container form .lostpassword-cancel:last-of-type,
.vivi--auth-content-container form .resetpass-submit:last-of-type,
.vivi--auth-content-container form .registerform-submit:last-of-type {
  padding-right: 0;
  padding-left: 30px;
}

.vivi--auth-content-container form .lostpassword-submit input[type=submit], .vivi--auth-content-container form .lostpassword-submit .btn,
.vivi--auth-content-container form .lostpassword-cancel input[type=submit],
.vivi--auth-content-container form .lostpassword-cancel .btn,
.vivi--auth-content-container form .resetpass-submit input[type=submit],
.vivi--auth-content-container form .resetpass-submit .btn,
.vivi--auth-content-container form .registerform-submit input[type=submit],
.vivi--auth-content-container form .registerform-submit .btn {
  width: 100%;
}

.vivi--auth-content-container form .resetpass-submit, .vivi--auth-content-container form .registerform-submit {
  margin-top: 30px;
  padding-left: 0 !important;
}

.vivi--auth-content-container form .resetpass-submit-confirm .btn, .vivi--auth-content-container form .resetpass-submit-confirm input, .vivi--auth-content-container form .registerform-submit-confirm .btn, .vivi--auth-content-container form .registerform-submit-confirm input {
  background-color: #219653;
  background-image: url("../images/checkmark-w.svg");
  background-repeat: no-repeat;
  background-position: 30px center;
  padding-left: 50px;
  padding-right: 30px;
}

.vivi--auth-content-container form .confirm-login {
  margin-top: 30px;
  text-align: center;
}

.vivi--auth-content-container form .confirm-login .btn {
  padding-left: 30px;
  padding-right: 30px;
}

.vivi--auth-content-container form .registerform-already {
  margin-top: 30px;
}

.vivi--auth-content-container form .lostpassword-cancel {
  text-align: right;
}

.vivi--auth-content-container form .login-pwforget {
  order: 10;
}

.admin-bar .vivi--auth {
  min-height: calc(100vh - 32px);
}

@media screen and (max-width: 768px) {
  .admin-bar .vivi--auth {
    min-height: calc(100vh - 46px);
  }
}

.vivi--portal {
  margin: 90px auto;
  width: 100%;
  max-width: 1140px;
}

@media screen and (max-width: 1140px) {
  .vivi--portal {
    padding: 0 30px;
  }
}

.vivi--portal-wrapper {
  display: inline-flex;
  width: 100%;
}

@media screen and (max-width: 901px) {
  .vivi--portal-wrapper {
    flex-wrap: wrap;
  }
}

.vivi--portal-wrapper.loading .vivi--portal-content {
  opacity: 0.7;
  cursor: not-allowed;
}

.vivi--portal-wrapper.loading .vivi--portal-content:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  top: 0;
  left: 0;
  z-index: 20;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("../images/loading.gif");
}

.vivi--portal-wrapper.loading .vivi--portal-content * {
  pointer-events: none;
  -webkit-user-select: none;
          user-select: none;
}

.vivi--portal-sidebar {
  flex: 0 50%;
  padding-right: 90px;
}

@media screen and (max-width: 901px) {
  .vivi--portal-sidebar {
    padding-right: 0;
    flex: 1 100%;
    margin-bottom: 60px;
  }
}

.vivi--portal-sidebar-menu, .vivi--portal-sidebar-chat-menu {
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  border: 1px solid #E4E1D8;
}

.vivi--portal-sidebar-menu-item, .vivi--portal-sidebar-chat-menu-item {
  display: flex;
  width: 100%;
  min-width: 235px;
  justify-content: flex-start;
  align-items: center;
  text-transform: uppercase;
  transition: all 0.2s ease;
  -webkit-user-select: none;
          user-select: none;
}

.vivi--portal-sidebar-menu-item-link, .vivi--portal-sidebar-chat-menu-item-link {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
  color: #202020;
  letter-spacing: 2px;
  font-size: 1em;
  font-weight: 700;
  line-height: 28px;
  padding: 20px;
  border-top: 1px solid #E4E1D8;
  cursor: pointer;
}

.vivi--portal-sidebar-menu-item-link-menu, .vivi--portal-sidebar-chat-menu-item-link-menu {
  position: absolute;
  right: 0;
  top: 0;
  margin: 15px;
}

.vivi--portal-sidebar-menu-item-link-menu span, .vivi--portal-sidebar-chat-menu-item-link-menu span {
  cursor: pointer;
  font-size: 18px;
  letter-spacing: 1px;
  font-weight: bold;
  color: #797979;
}

.vivi--portal-sidebar-menu-item-link-menu ul, .vivi--portal-sidebar-chat-menu-item-link-menu ul {
  position: absolute;
  bottom: calc(100% + 7.5px);
  left: -80px;
  background-color: #202020;
  border-radius: 5px;
  width: 184px;
  height: auto;
  list-style: none;
  padding: 15px;
  transition: all 0.2s ease;
  transition-delay: 0.7s;
  opacity: 0;
  visibility: hidden;
}

.vivi--portal-sidebar-menu-item-link-menu ul:after, .vivi--portal-sidebar-chat-menu-item-link-menu ul:after {
  content: "";
  border-width: 15px 15px 0;
  border-style: solid;
  border-color: #202020 transparent;
  position: absolute;
  top: 100%;
  left: calc(50% - 18px);
}

.vivi--portal-sidebar-menu-item-link-menu ul li, .vivi--portal-sidebar-chat-menu-item-link-menu ul li {
  color: white;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 14px;
  text-transform: initial;
  margin-bottom: 10px;
}

.vivi--portal-sidebar-menu-item-link-menu ul li:last-of-type, .vivi--portal-sidebar-chat-menu-item-link-menu ul li:last-of-type {
  margin-bottom: 0;
}

.vivi--portal-sidebar-menu-item-link-menu ul li.sub-menu-icon, .vivi--portal-sidebar-chat-menu-item-link-menu ul li.sub-menu-icon {
  padding-left: 20px;
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: center left;
}

.vivi--portal-sidebar-menu-item-link-menu ul li.sub-menu-icon-booking, .vivi--portal-sidebar-chat-menu-item-link-menu ul li.sub-menu-icon-booking {
  background-image: url("../images/eye.svg");
}

.vivi--portal-sidebar-menu-item-link-menu ul li.sub-menu-icon-delete, .vivi--portal-sidebar-chat-menu-item-link-menu ul li.sub-menu-icon-delete {
  background-image: url("../images/trash.svg");
}

.vivi--portal-sidebar-menu-item-link-menu ul li.sub-menu-icon-follow, .vivi--portal-sidebar-chat-menu-item-link-menu ul li.sub-menu-icon-follow {
  background-image: url("../images/flag.svg");
}

.vivi--portal-sidebar-menu-item-link-menu:hover ul, .vivi--portal-sidebar-menu-item-link-menu.hover ul, .vivi--portal-sidebar-chat-menu-item-link-menu:hover ul, .vivi--portal-sidebar-chat-menu-item-link-menu.hover ul {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.vivi--portal-sidebar-menu-item-link .chat-span, .vivi--portal-sidebar-chat-menu-item-link .chat-span {
  display: inline-block;
  width: auto;
}

.vivi--portal-sidebar-menu-item-link .unread_count, .vivi--portal-sidebar-chat-menu-item-link .unread_count {
  position: relative;
  background-color: #EB5757;
  width: 100%;
  height: 100%;
  max-width: 15px;
  max-height: 15px;
  min-width: 15px;
  min-height: 15px;
  display: inline-flex;
  text-align: center;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: white;
  font-size: 8.5px;
  letter-spacing: 0;
  font-weight: 700;
  border-radius: 50%;
}

.vivi--portal-sidebar-menu-item-link .unread_count.loading, .vivi--portal-sidebar-chat-menu-item-link .unread_count.loading {
  border-radius: 0;
  font-size: 0;
  background-color: transparent;
}

.vivi--portal-sidebar-menu-item-link .unread_count.loading:after, .vivi--portal-sidebar-chat-menu-item-link .unread_count.loading:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-size: contain;
  background-color: white;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../images/loading.gif");
}

.vivi--portal-sidebar-menu-item-link-user, .vivi--portal-sidebar-chat-menu-item-link-user {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-content: flex-start;
  align-items: flex-start;
}

.vivi--portal-sidebar-menu-item-link-user span, .vivi--portal-sidebar-chat-menu-item-link-user span {
  background-color: #EB5757;
  width: 100%;
  height: 100%;
  max-width: 15px;
  max-height: 15px;
  min-width: 15px;
  min-height: 15px;
  display: inline-flex;
  text-align: center;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: white;
  font-size: 8.5px;
  letter-spacing: 0;
  font-weight: 700;
  border-radius: 50%;
}

.vivi--portal-sidebar-menu-item-link-msg, .vivi--portal-sidebar-chat-menu-item-link-msg {
  display: inline-block;
  font-weight: 400;
  text-transform: initial;
  letter-spacing: 0;
  font-size: 14px;
  max-width: 70%;
}

.vivi--portal-sidebar-menu-item-link-date, .vivi--portal-sidebar-chat-menu-item-link-date {
  display: inline-block;
  width: auto;
  text-transform: initial;
  letter-spacing: 0;
  font-size: 12px;
  color: #828282;
  font-weight: 400;
}

.vivi--portal-sidebar-menu-item:first-of-type .vivi--portal-sidebar-chat-menu-item-link,
.vivi--portal-sidebar-menu-item:first-of-type .vivi--portal-sidebar-menu-item-link, .vivi--portal-sidebar-chat-menu-item:first-of-type .vivi--portal-sidebar-chat-menu-item-link,
.vivi--portal-sidebar-chat-menu-item:first-of-type .vivi--portal-sidebar-menu-item-link {
  border-top: 0;
}

.vivi--portal-sidebar-menu-item:hover, .vivi--portal-sidebar-chat-menu-item:hover {
  background-color: #faf2eb;
}

.vivi--portal-sidebar-menu-item.unread .vivi--portal-sidebar-chat-menu-item-link-user, .vivi--portal-sidebar-chat-menu-item.unread .vivi--portal-sidebar-chat-menu-item-link-user {
  font-weight: 800;
}

.vivi--portal-sidebar-menu-item.unread .vivi--portal-sidebar-chat-menu-item-link-msg, .vivi--portal-sidebar-chat-menu-item.unread .vivi--portal-sidebar-chat-menu-item-link-msg {
  font-weight: 700;
}

.vivi--portal-sidebar-menu-item.mark_unread, .vivi--portal-sidebar-chat-menu-item.mark_unread {
  background-color: rgba(250, 242, 235, 0.8);
}

.vivi--portal-sidebar-menu-item.active, .vivi--portal-sidebar-chat-menu-item.active {
  background: #bcab79;
}

.vivi--portal-sidebar-menu-item.active *, .vivi--portal-sidebar-chat-menu-item.active * {
  color: white;
  border-top-color: #bcab79;
}

.vivi--portal-sidebar-menu-item.active + .vivi--portal-sidebar-menu-item a, .vivi--portal-sidebar-chat-menu-item.active + .vivi--portal-sidebar-menu-item a {
  border-top-color: #bcab79;
}

.vivi--portal-sidebar label {
  margin-top: 30px;
  margin-bottom: 15px;
}

.vivi--portal-sidebar label input {
  width: 100%;
}

.vivi--portal-sidebar-chat-menu {
  margin-top: 15px;
}

.vivi--portal-sidebar-chat-menu-item-link {
  justify-content: space-between;
}

.vivi--portal-content {
  transition: all 0.2s ease;
  flex: 1 80%;
}

@media screen and (max-width: 901px) {
  .vivi--portal-content {
    flex: 1 100%;
  }
}

.vivi--portal-content-title, .vivi--portal-content-subtitle {
  margin: 0 0 30px 0;
  text-align: left;
  width: 100%;
}

.vivi--portal-content-title.is_admin, .vivi--portal-content-subtitle.is_admin {
  text-align: right;
}

.vivi--portal-content-title {
  font-size: 3.4285714286em;
}

.vivi--portal-content-subtitle {
  font-size: 2.2857142857em;
}

.vivi--portal-content-error {
  width: 100%;
  text-align: left;
  padding-left: 20px;
  color: #EB5757;
  margin: 15px 0;
  background-image: url("../images/error.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 13px;
}

.vivi--portal-content-bookings {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
}

.vivi--portal-content-bookings-history {
  margin-top: 60px;
}

.vivi--portal-content-bookings-item {
  cursor: pointer;
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  width: 100%;
  border: 1px solid #E4E1D8;
  margin-bottom: 30px;
}

@media screen and (max-width: 781px) {
  .vivi--portal-content-bookings-item {
    flex-wrap: wrap;
  }
}

.vivi--portal-content-bookings-item:last-of-type {
  margin-bottom: 0;
}

.vivi--portal-content-bookings-item-data {
  flex: 1 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  padding: 30px;
  font-size: 1em;
}

.vivi--portal-content-bookings-item-data-title {
  margin: 0;
  font-size: 2.2857142857em;
}

.vivi--portal-content-bookings-item-data-title, .vivi--portal-content-bookings-item-data-villa, .vivi--portal-content-bookings-item-data-dates, .vivi--portal-content-bookings-item-data-persons {
  width: 100%;
  margin-bottom: 10px;
}

.vivi--portal-content-bookings-item-data-user {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
}

.vivi--portal-content-bookings-item-data-user:first-letter {
  text-transform: uppercase;
}

.vivi--portal-content-bookings-item-data-user strong {
  padding-left: 3px;
}

.vivi--portal-content-bookings-item-data-user:before {
  content: "";
  width: 18px;
  height: 18px;
  display: inline-block;
  background-image: url("../images/user.svg");
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 7.5px;
}

.vivi--portal-content-bookings-item-image {
  flex: 0 260px;
  width: 100%;
  max-width: 260px;
  min-width: 260px;
  min-height: 180px;
  height: 100%;
}

@media screen and (max-width: 781px) {
  .vivi--portal-content-bookings-item-image {
    max-width: 100%;
    flex: 1 100%;
    min-height: 120px;
    height: auto;
  }
}

.vivi--portal-content-bookings-item-image.pending, .vivi--portal-content-bookings-item-image.confirmed, .vivi--portal-content-bookings-item-image.cancelled {
  position: relative;
}

.vivi--portal-content-bookings-item-image.pending span, .vivi--portal-content-bookings-item-image.confirmed span, .vivi--portal-content-bookings-item-image.cancelled span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: auto;
  height: auto;
  background-color: rgba(255, 252, 249, 0.9);
  content: attr(data-status-text);
  padding: 10px 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 600;
  font-size: 1.1428571429em;
}

.vivi--portal-content-bookings-item-image.cancelled span {
  background-color: rgba(235, 87, 87, 0.9);
  color: white;
}

.vivi--portal-content-bookings-item-image.confirmed span {
  background-color: rgba(33, 150, 83, 0.9);
  color: white;
}

.vivi--portal-content-bookings-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 781px) {
  .vivi--portal-content-bookings-item-image img {
    height: auto;
  }
}

.vivi--portal-content-chat {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #E4E1D8;
  padding: 15px;
}

.vivi--portal-content-chat-messages {
  width: 100%;
  min-height: 20vh;
  max-height: 500px;
  padding-right: 10px;
  overflow-y: auto;
}

.vivi--portal-content-chat-messages-daydiff {
  position: relative;
  width: 100%;
  color: #E4E1D8;
  margin-top: 15px;
  margin-bottom: 30px;
  text-align: center;
}

.vivi--portal-content-chat-messages-daydiff span {
  position: relative;
  z-index: 1;
  padding: 0 10px;
  background-color: #fffcf9;
}

.vivi--portal-content-chat-messages-daydiff:after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  border-bottom: 1px solid #E4E1D8;
}

.vivi--portal-content-chat-messages-item {
  float: left;
  max-width: 60%;
  margin-bottom: 15px;
  background-color: #faf2eb;
  color: #202020;
  padding: 15px;
  font-size: 1em;
}

@media screen and (max-width: 1140px) {
  .vivi--portal-content-chat-messages-item {
    max-width: 70%;
  }
}

@media screen and (max-width: 781px) {
  .vivi--portal-content-chat-messages-item {
    max-width: 90%;
  }
}

.vivi--portal-content-chat-messages-item-unread {
  font-size: 10px;
  text-transform: uppercase;
  font-style: italic;
}

.vivi--portal-content-chat-messages-item-outer {
  display: inline-block;
  width: 100%;
}

.vivi--portal-content-chat-messages-item-date {
  display: flex;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  color: #797979;
}

.vivi--portal-content-chat-messages-item-date-read-status {
  display: inline-block;
  margin-left: 15px;
  width: 13px;
  height: 13px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

.vivi--portal-content-chat-messages-item-date-read-status.read {
  background-image: url("../images/read.svg");
}

.vivi--portal-content-chat-messages-item-date-read-status.unread {
  background-image: url("../images/unread.svg");
}

.vivi--portal-content-chat-messages-item-download {
  margin-top: 10px;
  padding-left: 30px;
  background-image: url("../images/paperclip.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 13px;
}

.vivi--portal-content-chat-messages-item-download a {
  color: #797979;
  text-decoration: underline;
}

.vivi--portal-content-chat-messages-item.owner {
  background-color: #202020;
  color: white;
  float: right;
}

.vivi--portal-content-chat-messages-item.owner .vivi--portal-content-chat-messages-item-date {
  color: #bdbdbd;
}

.vivi--portal-content-chat-messages-item.owner .vivi--portal-content-chat-messages-item-download {
  background-image: url("../images/paperclip-w.svg");
}

.vivi--portal-content-chat-messages-item.owner .vivi--portal-content-chat-messages-item-download a {
  color: #bdbdbd;
}

.vivi--portal-content-chat-messages-item.demo {
  background-image: linear-gradient(90deg, #faf2eb 0px, #fffcf9 40px, #faf2eb 80px);
  background-size: 490px;
  animation: shine-lines 1.6s infinite linear;
  height: 80px;
  width: 100%;
  opacity: 0.75;
}

.vivi--portal-content-chat-messages-item.demo.owner {
  background-image: linear-gradient(90deg, #faf2eb 0px, #fffcf9 40px, #faf2eb 80px);
}

.vivi--portal-content-chat-submit {
  width: 100%;
  padding-top: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  border-top: 1px solid #E4E1D8;
}

.vivi--portal-content-chat-submit-files {
  display: flex;
  flex-wrap: wrap;
  flex: 1 100%;
}

.vivi--portal-content-chat-submit-files-file {
  flex: 1 calc(50% - 30px);
  margin-left: 30px;
  background-color: #faf2eb;
  padding: 15px;
  margin-bottom: 15px;
}

.vivi--portal-content-chat-submit-files-file:nth-child(odd) {
  flex: 1 50%;
  margin-left: 0;
}

.vivi--portal-content-chat-submit input[type=text], .vivi--portal-content-chat-submit textarea {
  border: none;
  flex: 1 55%;
}

@media screen and (max-width: 781px) {
  .vivi--portal-content-chat-submit input[type=text], .vivi--portal-content-chat-submit textarea {
    flex: 1 70%;
  }
}

.vivi--portal-content-chat-submit .file-upload {
  flex: 0 15px;
  display: flex;
  cursor: pointer;
  width: 13px;
  min-width: 13px;
  height: 25px;
  min-height: 25px;
  margin: 0 15px 0 10px;
  font-size: 0;
  line-height: 0;
  background-image: url("../images/paperclip.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 13px 25px;
}

.vivi--portal-content-chat-submit .file-upload input {
  display: none;
}

.vivi--portal-content-chat-submit .btn-submit {
  padding-left: 30px !important;
  padding-right: 30px !important;
  width: auto !important;
}

@media screen and (max-width: 781px) {
  .vivi--portal-content-chat-submit .btn-submit {
    width: 100% !important;
    margin-top: 15px;
  }
}

.vivi--portal-content-wrapper-account {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.vivi--portal-content-booking-image {
  display: flex;
  position: absolute;
  max-height: 445px;
  min-height: 445px;
  top: 0;
  z-index: 2;
  left: 0;
  right: 0;
  background-color: #3A3523;
}

.vivi--portal-content-booking-image img {
  display: inline-block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.vivi--portal-content-booking-content {
  position: relative;
  width: 100%;
  margin-top: 290px;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 1140px) {
  .vivi--portal-content-booking-content {
    margin-top: 280px;
  }
}

.vivi--portal-content-booking-content .filepond--wrapper {
  width: 100%;
  flex: 1 100%;
  margin-top: 15px;
}

.vivi--portal-content-booking-content .filepond--wrapper .filepond--drop-label {
  cursor: pointer;
}

.vivi--portal-content-booking-content .filepond--wrapper .filepond--credits {
  display: none;
}

.vivi--portal-content-booking-content-navigation {
  display: inline-block;
  flex: 1 100%;
  margin-bottom: 30px;
}

@media screen and (max-width: 1140px) {
  .vivi--portal-content-booking-content-navigation {
    margin-top: 15px;
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    flex-flow: column wrap;
  }

  .vivi--portal-content-booking-content-navigation .btn-back {
    margin-bottom: 30px;
  }

  .vivi--portal-content-booking-content-navigation .btn-save {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--portal-content-booking-content-navigation .btn {
    width: 100%;
    margin-left: 0;
    text-align: center;
  }
}

.vivi--portal-content-booking-content-navigation .btn-back {
  float: left;
}

.vivi--portal-content-booking-content-navigation .btn-save {
  float: right;
}

.vivi--portal-content-booking-content-booking {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  flex: 0 50%;
  padding-right: 60px;
}

@media screen and (max-width: 1140px) {
  .vivi--portal-content-booking-content-booking {
    padding-right: 30px;
  }
}

@media screen and (max-width: 901px) {
  .vivi--portal-content-booking-content-booking {
    flex: 1 100%;
    padding-right: 0;
    margin-bottom: 30px;
  }
}

.vivi--portal-content-booking-content-booking-download {
  flex: 1 100%;
  border: 1px solid #E4E1D8;
  padding: 15px 15px 15px 60px;
  background-image: url("../images/download.svg");
  background-repeat: no-repeat;
  background-position: 30px center;
  background-size: 13px 15px;
  margin-bottom: 10px;
  color: #202020;
}

.vivi--portal-content-booking-content-booking-download:last-of-type {
  margin-bottom: 0;
}

.vivi--portal-content-booking-content-booking-title, .vivi--portal-content-booking-content-flight-title {
  flex: 1 100%;
}

.vivi--portal-content-booking-content-booking-item, .vivi--portal-content-booking-content-flight-item {
  flex: 1 100%;
  display: flex;
  font-size: 1em;
  margin-bottom: 15px;
}

.vivi--portal-content-booking-content-booking-item-label, .vivi--portal-content-booking-content-flight-item-label {
  flex: 0 50%;
  letter-spacing: 2px;
  font-weight: 700;
  text-transform: uppercase;
}

.vivi--portal-content-booking-content-booking-item-item, .vivi--portal-content-booking-content-flight-item-item {
  flex: 0 50%;
  text-align: right;
}

.vivi--portal-content-booking-content-booking p, .vivi--portal-content-booking-content-flight p {
  margin-top: 0;
  width: 100%;
}

.vivi--portal-content-booking-content-booking p a, .vivi--portal-content-booking-content-flight p a {
  text-decoration: none;
  font-weight: normal;
}

.vivi--portal-content-booking-content-flight {
  flex: 0 50%;
  padding-left: 60px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

@media screen and (max-width: 1140px) {
  .vivi--portal-content-booking-content-flight {
    padding-left: 30px;
  }
}

@media screen and (max-width: 901px) {
  .vivi--portal-content-booking-content-flight {
    padding-left: 0;
    flex: 1 100%;
  }
}

.vivi--portal-content-booking-content-flight .btn-save {
  display: inline-flex;
  margin-top: 15px;
  width: 100%;
  justify-content: center;
  align-items: center;
  align-content: center;
}

.vivi--portal-content-booking-content-flight .btn-save span {
  width: auto;
}

.vivi--portal-content-reviews-item {
  border: 1px solid #E4E1D8;
  padding: 20px 30px;
  margin-bottom: 20px;
}

.vivi--portal-content-reviews-item:last-of-type {
  margin-bottom: 0;
}

.vivi--portal-content-reviews-item-author {
  margin: 0;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 1em;
}

.vivi--portal-content-reviews-item-stars {
  --star-background: #faf2eb;
  --star-color: #202020;
  --percent: calc(var(--rating) / 5 * 100%);
  display: inline-block;
}

.vivi--portal-content-reviews-item-stars::before {
  content: "★★★★★";
  font-size: 16px;
  font-family: Times, serif;
  line-height: 1;
  letter-spacing: 3px;
  background: linear-gradient(90deg, var(--star-color) var(--percent), var(--star-background) var(--percent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vivi--portal-content-reviews-item-stars span {
  font-size: 1em;
  color: #bdbdbd;
}

.vivi--portal-content-reviews-item-desc {
  margin: 15px 0;
  font-size: 1em;
  line-height: 25px;
}

.vivi--portal-content-reviews-item-date {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.8571428571em;
  font-weight: 600;
  color: #bdbdbd;
}

.vivi--portal-content-reviews-item-answered {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-top: 20px;
  padding: 20px;
  background-color: #faf2eb;
}

.vivi--portal-content-reviews-item-answered-title {
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.vivi--portal-content-reviews-item-answered-delete {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 17px;
  height: 17px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("../images/trash_b.svg");
}

.vivi--portal-content-reviews-item-answered-delete-popup {
  position: absolute;
  bottom: calc(100% + 20px);
  left: -120px;
  background-color: #202020;
  border-radius: 5px;
  width: 200px;
  height: auto;
  list-style: none;
  color: white;
  text-transform: initial;
  text-align: center;
  font-size: 1em;
  font-weight: 400;
  padding: 15px;
  transition: all 0.2s ease;
  transition-delay: 0.7s;
  opacity: 0;
  visibility: hidden;
}

.vivi--portal-content-reviews-item-answered-delete-popup .btn-delete {
  margin-top: 15px;
}

.vivi--portal-content-reviews-item-answered-delete-popup:after {
  content: "";
  border-width: 15px 15px 0;
  border-style: solid;
  border-color: #202020 transparent;
  position: absolute;
  top: 100%;
  left: calc(50% - -12.5px);
}

.vivi--portal-content-reviews-item-answered-delete:hover .vivi--portal-content-reviews-item-answered-delete-popup, .vivi--portal-content-reviews-item-answered-delete.hover .vivi--portal-content-reviews-item-answered-delete-popup {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.vivi--portal-content-reviews-item-answerbox {
  position: relative;
  display: flex;
  margin-top: 20px;
  padding-top: 20px;
  justify-content: space-between;
}

.vivi--portal-content-reviews-item-answerbox-click {
  margin: 0;
}

.vivi--portal-content-reviews-item-answerbox-click:after, .vivi--portal-content-reviews-item-answerbox-click:before {
  display: none;
}

.vivi--portal-content-reviews-item-answerbox:after {
  content: "";
  position: absolute;
  border-top: 1px solid #E4E1D8;
  height: 1px;
  width: calc(100% + 60px);
  top: 0;
  left: -30px;
}

.vivi--portal-content-reviews-item-answerbox input[type=text] {
  border: 0;
  padding-right: 30px;
}

.vivi--portal-content-reviews-item-answerbox .btn-submit {
  width: auto;
  min-width: 200px;
  text-align: center;
}

.vivi--portal-content-downloads {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
}

.vivi--portal-content-downloads-item {
  width: 100%;
  flex: 1 100%;
  margin-bottom: 15px;
  border: 1px solid #E4E1D8;
  color: #202020;
  padding: 15px 15px 15px 45px;
  background-size: 13px 15px;
  background-repeat: no-repeat;
  background-position: 15px center;
  background-image: url("../images/download.svg");
}

.vivi--portal-content-downloads-item:last-of-type {
  margin-bottom: 0;
}

.vivi--portal-content-wrapper-placereview .vivi--portal-content-title {
  text-align: center;
  width: 100%;
  font-weight: 400;
  margin-bottom: 90px;
}

.vivi--portal-content-placereview {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

@media screen and (max-width: 1140px) {
  .vivi--portal-content-placereview {
    flex-flow: row wrap;
  }
}

.vivi--portal-content-placereview-stay, .vivi--portal-content-placereview-place {
  box-sizing: border-box;
  flex: 0 calc(50% - 30px);
  max-width: calc(50% - 30px);
}

@media screen and (max-width: 1140px) {
  .vivi--portal-content-placereview-stay, .vivi--portal-content-placereview-place {
    flex: 1 100%;
    max-width: 100%;
  }
}

.vivi--portal-content-placereview-place label {
  width: 100%;
  display: inline-block;
}

.vivi--portal-content-placereview-place .vue-star-rating {
  display: inline-block !important;
  width: auto;
}

.vivi--portal-content-placereview-place .vue-star-rating-star {
  margin-right: 10px;
}

.vivi--portal-content-placereview-place .vue-star-rating-label {
  display: inline-block;
  width: auto;
  font-size: 1em;
  color: #bdbdbd;
  font-weight: 400;
}

.vivi--portal-content-placereview-place button {
  display: inline-block;
  width: auto !important;
  padding-left: 15px;
  padding-right: 15px;
}

.vivi--portal-content-placereview-stay {
  padding-right: 30px;
}

@media screen and (max-width: 1140px) {
  .vivi--portal-content-placereview-stay {
    padding-right: 0;
  }
}

.vivi--portal-content-placereview-stay-img {
  display: inline-block;
  width: 100%;
  object-fit: contain;
}

.vivi--portal-content-placereview-stay-title {
  font-weight: 300;
}

.vivi--portal-content-placereview-stay-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 100%;
}

.vivi--portal-content-placereview-stay-list-item {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 100%;
}

.vivi--portal-content-placereview-stay-list-item span {
  font-size: 1em;
  display: inline-block;
  min-width: 170px;
  width: 100%;
}

.vivi--portal-content-placereview-stay-list-item span:first-child {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 28px;
}

.vivi--portal-content-placereview-stay-list-item-detail {
  text-align: right;
}

.vivi--villa-detail-header {
  position: relative;
  margin-bottom: 30px;
}

.vivi--villa-detail-header-slider {
  position: relative;
  display: flex;
  width: 100%;
  flex-wrap: nowrap;
}

.vivi--villa-detail-header-slider .slick-dots {
  display: none !important;
}

.vivi--villa-detail-header-slider-item {
  flex: 1 100%;
  width: 100%;
  height: 620px;
  max-height: 620px;
  display: flex;
  align-items: flex-start;
  align-content: flex-start;
  background-color: #faf2eb;
}

@media screen and (max-width: 1140px) {
  .vivi--villa-detail-header-slider-item {
    width: 100%;
    height: auto;
    max-height: inherit;
  }
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-header-slider-item {
    width: 100%;
  }
}

.vivi--villa-detail-header-slider-item img, .vivi--villa-detail-header-slider-item video, .vivi--villa-detail-header-slider-item iframe {
  border: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
}

.vivi--villa-detail-header-slider-item img, .vivi--villa-detail-header-slider-item video {
  object-fit: cover;
}

.vivi--villa-detail-header-slider-item .iframe_video_player_wrapper {
  pointer-events: auto;
}

.vivi--villa-detail-header-infobox {
  display: inline-block;
  width: 50%;
  background-color: #fffcf9;
  z-index: 1;
  padding-right: 30px;
}

@media screen and (max-width: 1140px) {
  .vivi--villa-detail-header-infobox {
    padding: 0 30px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-header-infobox {
    width: 100%;
  }
}

.vivi--villa-detail-header-infobox * {
  position: relative;
  z-index: 1;
}

.vivi--villa-detail-header-infobox-wrapper {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  display: inline-block;
  margin: 0 auto;
  width: 100%;
  max-width: 1140px;
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-header-infobox-wrapper {
    position: relative;
  }
}

.vivi--villa-detail-header-infobox:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  right: 100%;
  width: 100vw;
  background-color: #fffcf9;
}

.vivi--villa-detail-header-infobox-title {
  margin: 30px 0 7.5px;
}

@media screen and (max-width: 1140px) {
  .vivi--villa-detail-header-infobox-title {
    margin: 15px 0 7.5px;
  }
}

.vivi--villa-detail-header-infobox-price {
  font-size: 1em;
  color: #bcab79;
  line-height: 19px;
  margin: 0 0 30px;
}

.vivi--villa-detail-header-infobox-icons {
  display: inline-flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  align-content: center;
}

.vivi--villa-detail-header-infobox-icons-icon {
  margin-right: 15px;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  color: #828282;
}

.vivi--villa-detail-header-infobox-icons-icon:last-of-type {
  margin-right: 0;
}

.vivi--villa-detail-header-infobox-icons-icon svg, .vivi--villa-detail-header-infobox-icons-icon img {
  width: 16px;
  height: 16px;
  margin-right: 5px;
  fill: #828282;
}

.vivi--villa-detail-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1140px;
  margin: auto;
}

.vivi--villa-detail-slider-navigation-wrapper {
  position: relative;
  width: 100%;
  max-width: calc(1140px - 120px);
  margin: auto;
}

@media screen and (max-width: 1140px) {
  .vivi--villa-detail-slider-navigation-wrapper {
    max-width: calc(100% - 180px);
  }
}

.vivi--villa-detail-slider-navigation-wrapper .slider--arrows {
  position: absolute;
  z-index: 5;
  right: 0;
  left: 0;
  top: calc(50% - 20px);
  width: 100%;
  margin: auto;
}

.vivi--villa-detail-slider-navigation-wrapper .slider--arrows button.slick-arrow {
  position: absolute;
}

.vivi--villa-detail-slider-navigation-wrapper .slider--arrows button.slick-arrow.slick-prev {
  left: -60px;
}

.vivi--villa-detail-slider-navigation-wrapper .slider--arrows button.slick-arrow.slick-next {
  right: -60px;
}

.vivi--villa-detail-slider-navigation {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
}

.vivi--villa-detail-slider-navigation .slick-slide {
  display: inline-flex;
  border: 3px solid transparent;
  max-height: 81px;
  margin-right: 20px;
}

@media screen and (max-width: 1140px) {
  .vivi--villa-detail-slider-navigation .slick-slide {
    margin-right: 15px;
  }
}

.vivi--villa-detail-slider-navigation .slick-slide.slick-current {
  border: 3px solid #bcab79;
}

.vivi--villa-detail-slider-navigation-item {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 147px;
  height: 100%;
  background-color: #faf2eb;
}

.vivi--villa-detail-slider-navigation-item.video-thumbnail:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 18px;
  height: 23px;
  top: 0;
  bottom: 0;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../images/playbutton.svg");
}

.vivi--villa-detail-slider-navigation-item img, .vivi--villa-detail-slider-navigation-item svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vivi--villa-detail-content-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  margin-top: 90px;
}

@media screen and (max-width: 1140px) {
  .vivi--villa-detail-content-wrapper {
    padding: 0 30px;
  }
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-content-wrapper {
    flex-wrap: wrap;
  }
}

.vivi--villa-detail-content-wrapper-details {
  flex: 1 50%;
  padding-right: 90px;
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-content-wrapper-details {
    flex: 1 100%;
    padding-right: 0;
  }
}

.vivi--villa-detail-content-wrapper-details-title {
  margin: 0;
  padding: 0;
}

.vivi--villa-detail-content-wrapper-details .vivi--villa-detail-header-infobox-price {
  margin-top: 15px;
  margin-bottom: 10px;
}

.vivi--villa-detail-content-wrapper-details-facilities {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.vivi--villa-detail-content-wrapper-details-facilities-title {
  flex: 1 100%;
}

.vivi--villa-detail-content-wrapper-details-facilities-facility {
  flex-basis: 50%;
}

.vivi--villa-detail-content-wrapper-details-facilities-facility:before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 12px;
  margin-right: 7.5px;
  background-image: url("../images/checkmark.svg");
}

.vivi--villa-detail-content-wrapper-details-location {
  margin-top: 30px;
}

.vivi--villa-detail-content-wrapper-details-location iframe {
  border: none;
  width: 100%;
  min-height: 229px;
}

.vivi--villa-detail-content-wrapper-sidebar {
  min-width: 388px;
  flex: 0 388px;
  display: flex;
  align-items: flex-start;
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-content-wrapper-sidebar {
    flex: 1 100%;
    width: 100%;
    min-width: 0;
    margin-top: 60px;
    padding-left: 30px;
    padding-right: 30px;
  }
}

.vivi--villa-detail-content-wrapper-sidebar-vue {
  opacity: 1;
}

.vivi--villa-detail-content-wrapper-sidebar-vue.loading {
  opacity: 0.6;
  cursor: not-allowed;
}

.vivi--villa-detail-content-wrapper-sidebar-vue.loading * {
  cursor: not-allowed;
}

.vivi--villa-detail-content-wrapper-sidebar-wrapper {
  position: sticky;
  top: calc(135px + 30px);
  background-color: #faf2eb;
  padding: 30px;
  transition: all 0.2s ease;
  max-height: calc(100vh - 60px - 135px);
  overflow-y: auto;
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-content-wrapper-sidebar-wrapper {
    position: relative;
    padding: 30px;
    left: -30px;
    min-width: calc(100% + 60px);
    max-height: none !important;
    overflow-y: inherit;
    top: 0 !important;
  }
}

.vivi--villa-detail-content-wrapper-sidebar-title {
  margin: 0 0 30px 0;
  padding: 0;
}

.vivi--villa-detail-content-wrapper-sidebar label + .vivi--villa-detail-content-wrapper-sidebar-error {
  margin-top: 0;
}

.vivi--villa-detail-content-wrapper-sidebar .label-404 {
  display: inline-block;
  width: 100%;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 28px;
  font-size: 1em;
  margin-bottom: 30px;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar {
  margin-bottom: 30px;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container {
  background-color: transparent;
  box-shadow: none;
  font-family: inherit;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-separately-navigation-buttons {
  top: -5px;
  position: relative;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-separately-navigation-buttons .vfc-cursor-pointer {
  margin: 2px 0 0 0;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-separately-navigation-buttons .vfc-cursor-pointer > div {
  width: 9px;
  height: 9px;
  border-color: #202020;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-content {
  margin: 0;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-content .vfc-top-date {
  margin: 0;
  font-size: 1em;
  line-height: 25px;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-content .vfc-dayNames {
  margin: 10px 0 0 0;
  padding: 10px 0;
  border-bottom: 1px solid #E4E1D8;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day {
  margin-top: 0;
  padding: 0 1px;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day .vfc-base-end, .vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day .vfc-base-start {
  display: none;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  background-color: white;
  border-radius: 0;
  margin: 1px 0;
  width: 100%;
  color: #202020;
  height: 100%;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 5px 0;
  font-size: 0.8571428571em;
  max-height: 42px;
  min-height: 42px;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span:hover {
  background-color: rgba(188, 171, 121, 0.4);
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-hide {
  background-color: transparent;
  opacity: 0.5;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-marked {
  color: #bcab79;
  background-color: #e8e0ca;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-marked span {
  color: #bcab79;
  opacity: 1;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-marked:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e8e0ca;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-start-marked, .vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-end-marked {
  background-color: #bcab79;
  color: white;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-start-marked span, .vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-end-marked span {
  color: white;
  opacity: 1;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-start-marked:before, .vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-end-marked:before {
  background-color: #bcab79;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span .vfc-day-name, .vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span .vfc-day-price {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 18px;
  pointer-events: none;
  position: relative;
  z-index: 0;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span .vfc-day-price {
  color: #202020;
  opacity: 0.5;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-disabled {
  color: #202020;
  opacity: 0.5;
  cursor: not-allowed;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-disabled .vfc-day-price {
  display: none;
}

.vivi--villa-detail-content-wrapper-sidebar-calendar .vfc-main-container .vfc-calendar .vfc-day > span.vfc-disabled:hover {
  background-color: white;
}

.vivi--villa-detail-content-wrapper-sidebar-confirmation {
  margin-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #E4E1D8;
}

.vivi--villa-detail-content-wrapper-sidebar-confirmation-box {
  display: flex;
  flex-wrap: wrap;
  flex: 0 50%;
  padding-right: 30px;
  margin-bottom: 30px;
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-content-wrapper-sidebar-confirmation-box {
    flex: 1 100%;
    padding-right: 0;
  }
}

.vivi--villa-detail-content-wrapper-sidebar-confirmation-box-title {
  display: inline-block;
  width: 100%;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 28px;
  font-size: 1em;
  margin-bottom: 5px;
}

.vivi--villa-detail-content-wrapper-sidebar-price {
  margin-bottom: 30px;
  border-bottom: 1px solid #E4E1D8;
  padding-bottom: 30px;
}

.vivi--villa-detail-content-wrapper-sidebar-price-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.vivi--villa-detail-content-wrapper-sidebar-price-box-title {
  display: flex;
  flex: 1 50%;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 28px;
  font-size: 1em;
}

.vivi--villa-detail-content-wrapper-sidebar-price-box-title small {
  padding-left: 7.5px;
  color: #797979;
  font-size: 0.8571428571em;
  text-transform: initial;
  letter-spacing: 0;
  font-weight: 300;
}

.vivi--villa-detail-content-wrapper-sidebar-price-box-extra {
  display: flex;
  justify-content: space-between;
  width: 100%;
  line-height: 25px;
  margin: 4px 0;
}

.vivi--villa-detail-content-wrapper-sidebar-price-box-extra-title {
  padding-left: 30px;
}

.vivi--villa-detail-content-wrapper-sidebar-price-box-total {
  margin-top: 3px;
}

.vivi--villa-detail-content-wrapper-sidebar-price-box-total .total {
  font-size: 1.2857142857em;
  font-weight: 700;
}

.vivi--villa-detail-content-wrapper-sidebar-thanks, .vivi--villa-detail-content-wrapper-sidebar-error {
  margin: 30px 0;
}

.vivi--villa-detail-content-wrapper-sidebar-thanks p, .vivi--villa-detail-content-wrapper-sidebar-error p {
  margin: 0;
  font-size: 0.8571428571em;
  line-height: 25px;
}

.vivi--villa-detail-content-wrapper-sidebar-thanks a, .vivi--villa-detail-content-wrapper-sidebar-error a {
  display: inline-block;
  margin-top: 15px;
}

.vivi--villa-detail-content-wrapper-sidebar-contact {
  margin-top: 30px;
}

@media screen and (max-width: 1140px) {
  .vivi--villa-detail-content-wrapper-sidebar-contact {
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
  }
}

.vivi--villa-detail-content-wrapper-sidebar-error {
  background-color: #ffcfcf;
  padding: 15px;
}

.vivi--villa-detail-related {
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 90px;
}

@media screen and (max-width: 1140px) {
  .vivi--villa-detail-related {
    padding: 0 30px;
  }
}

.vivi--villa-detail-related-title {
  text-align: center;
  width: 100%;
  margin-bottom: 30px;
}

.vivi--villa-detail-related-item {
  position: relative;
  flex: 0 calc(50% - 15px);
  width: calc(50% - 15px);
  margin-right: 30px;
}

@media screen and (max-width: 781px) {
  .vivi--villa-detail-related-item {
    flex: 0 100%;
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
}

.vivi--villa-detail-related-item:nth-child(odd) {
  margin-right: 0;
}

.vivi--villa-detail-related-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vivi--villa-detail-related-item-title {
  position: absolute;
  z-index: 1;
  bottom: 0;
  padding: 30px;
  left: 0;
  width: 100%;
  color: white;
  font-family: "Playfair Display", serif;
  font-weight: 200;
  font-size: 32px;
  background-image: url("../images/arrow-box.svg");
  background-repeat: no-repeat;
  background-size: 36px;
  background-position: calc(100% - 30px) center;
}

.vivi--villa-detail-related-item:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: linear-gradient(87.1deg, rgba(34, 34, 34, 0.6) 33.27%, rgba(32, 32, 32, 0.312) 85.16%);
  background-blend-mode: hard-light;
  transition: all 2s ease;
}

.vivi--villa-detail-related-item:hover:after {
  opacity: 0.5;
}

.admin-bar .header--container-mobile-wrapper {
  margin-top: 32px;
}

@media screen and (max-width: 768px) {
  .admin-bar .header--container-mobile-wrapper {
    margin-top: 46px;
  }
}

@media screen and (max-width: 600px) {
  .admin-bar .header--container-mobile-wrapper {
    margin-top: 0;
  }
}

.admin-bar .vivi--villa-detail-content-wrapper-sidebar-wrapper {
  top: calc(135px + 32px + 30px);
  max-height: calc(100vh - 60px - 135px - 32px);
}

@media screen and (max-width: 768px) {
  .admin-bar .vivi--villa-detail-content-wrapper-sidebar-wrapper {
    top: calc(135px + 46px + 30px);
    max-height: calc(100vh - 60px - 135px - 46px);
  }
}

@media screen and (max-width: 600px) {
  .admin-bar .vivi--villa-detail-content-wrapper-sidebar-wrapper {
    top: calc(135px + 30px);
    max-height: calc(100vh - 60px - 135px);
  }
}

.vivi--villa-review {
  position: relative;
  display: inline-block;
  width: 100%;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #E4E1D8;
}

.vivi--villa-review.highlight {
  border-bottom: 0;
}

.vivi--villa-review.highlight:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -15px;
  left: -15px;
  width: calc(100% + 30px);
  height: calc(100% + 30px);
  background: #faf2eb;
}

.vivi--villa-review.highlight .vivi--villa-review-stars {
  --star-background: white;
}

.vivi--villa-review:last-of-type {
  border-bottom: 0px;
}

.vivi--villa-review-author {
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.vivi--villa-review-stars {
  --star-background: #faf2eb;
  --star-color: #202020;
  --percent: calc(var(--rating) / 5 * 100%);
  display: inline-block;
}

.vivi--villa-review-stars::before {
  content: "★★★★★";
  font-size: 16px;
  font-family: Times, serif;
  line-height: 1;
  letter-spacing: 3px;
  background: linear-gradient(90deg, var(--star-color) var(--percent), var(--star-background) var(--percent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vivi--villa-review-stars span {
  font-size: 1em;
  color: #bdbdbd;
}

.vivi--villa-review-desc {
  display: inline-block;
  width: 100%;
}

.vivi--villa-review-date {
  font-size: 0.8571428571em;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #bdbdbd;
}

.vivi--villa-review-answer {
  display: inline-block;
  width: 100%;
  margin-top: 20px;
  padding: 15px 30px;
  background-color: #faf2eb;
}

.vivi--villa-review-answer-title {
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}
