@font-face { font-family: 'RobotoLight'; src: url("/fonts/Roboto-Light-webfont.eot"); src: url("/fonts/Roboto-Light-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Roboto-Light-webfont.woff") format("woff"), url("/fonts/Roboto-Light-webfont.ttf") format("truetype"), url("/fonts/Roboto-Light-webfont.svg#RobotoLight") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat Regular'; src: url("/fonts/montserrat-regular-webfont.eot"); src: url("/fonts/montserrat-regular-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/montserrat-regular-webfont.woff2") format("woff2"), url("/fonts/montserrat-regular-webfont.woff") format("woff"), url("/fonts/montserrat-regular-webfont.ttf") format("truetype"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat Light'; src: url("/fonts/montserrat-light-webfont.eot"); src: url("/fonts/montserrat-light-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/montserrat-light-webfont.woff2") format("woff2"), url("/fonts/montserrat-light-webfont.woff") format("woff"), url("/fonts/montserrat-light-webfont.ttf") format("truetype"), url("/fonts/montserrat-light-webfont.svg#montserratlight") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat Ultralight'; src: url("/fonts/montserrat-ultralight-webfont.eot"); src: url("/fonts/montserrat-ultralight-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/montserrat-ultralight-webfont.woff2") format("woff2"), url("/fonts/montserrat-ultralight-webfont.woff") format("woff"), url("/fonts/montserrat-ultralight-webfont.ttf") format("truetype"), url("/fonts/montserrat-ultralight-webfont.svg#montserratlight") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat Semi Bold'; src: url("/fonts/montserrat-semibold-webfont.eot"); src: url("/fonts/montserrat-semibold-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/montserrat-semibold-webfont.woff2") format("woff2"), url("/fonts/montserrat-semibold-webfont.woff") format("woff"), url("/fonts/montserrat-semibold-webfont.ttf") format("truetype"), url("/fonts/montserrat-semibold-webfont.svg#montserratsemibold") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat Bold'; src: url("/fonts/montserrat-bold-webfont.eot"); src: url("/fonts/montserrat-bold-webfont?#iefix") format("embedded-opentype"), url("/fonts/montserrat-bold-webfont.woff2") format("woff2"), url("/fonts/montserrat-bold-webfont.woff") format("woff"), url("/fonts/montserrat-bold-webfont.ttf") format("truetype"), url("/fonts/montserrat-bold-webfont.svg#montserratbold") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat Hairline'; src: url("/fonts/montserrat-hairline-webfont.eot"); src: url("/fonts/montserrat-hairline-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/montserrat-hairline-webfont.woff2") format("woff2"), url("/fonts/montserrat-hairline-webfont.woff") format("woff"), url("/fonts/montserrat-hairline-webfont.ttf") format("truetype"), url("/fonts/montserrat-hairline-webfont.svg#montserrathairline") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat Black'; src: url("/fonts/montserrat-black-webfont.eot"); src: url("/fonts/montserrat-black-webfont?#iefix") format("embedded-opentype"), url("/fonts/montserrat-black-webfont.woff2") format("woff2"), url("/fonts/montserrat-black-webfont.woff") format("woff"), url("/fonts/montserrat-black-webfont.ttf") format("truetype"), url("/fonts/montserrat-black-webfont.svg#montserrathairline") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Black Jack'; src: url("/fonts/black_jack-webfont.eot"); src: url("/fonts/black_jack-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/black_jack-webfont.woff2") format("woff2"), url("/fonts/black_jack-webfont.woff") format("woff"), url("/fonts/black_jack-webfont.ttf") format("truetype"), url("/fonts/black_jack-webfont.svg#mblackjack") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'ForzaBold'; src: url("/fonts/Forza-Bold.eot"); src: url("/fonts/Forza-Bold.eot?#iefix") format("embedded-opentype"), url("/fonts/Forza-Bold.woff") format("woff"), url("/fonts/Forza-Bold.ttf") format("truetype"), url("/fonts/Forza-Bold.svg#ForzaBold") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'BoB'; src: url("/fonts/bob-webfont.eot"); src: url("/fonts/bob-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/bob-webfont.woff") format("woff"), url("/fonts/bob-webfont.ttf") format("truetype"), url("/fonts/bob-webfont.svg#bobregular") format("svg"); font-weight: normal; font-style: normal; }
@-webkit-keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translate3d(0, 50px, 0); }
  100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); } }
@keyframes fadeInUp { 0% { opacity: 0; transform: translate3d(0, 50px, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); } }
@-webkit-keyframes fadeInDown { 0% { opacity: 0; -webkit-transform: translate3d(0, -50px, 0); }
  100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); } }
@keyframes fadeInDown { 0% { opacity: 0; transform: translate3d(0, -50px, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); } }
@-webkit-keyframes fadeIn { 0% { display: block; opacity: 0; }
  1% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fadeIn { 0% { display: block; opacity: 0; }
  1% { opacity: 0; }
  100% { opacity: 1; } }
@-webkit-keyframes fadeOutIn { 0% { display: block; opacity: 1; }
  25% { opacity: 0; }
  75% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fadeOutIn { 0% { display: block; opacity: 1; }
  25% { opacity: 0; }
  75% { opacity: 0; }
  100% { opacity: 1; } }
@-webkit-keyframes flipFlops { from { background-position: 0 0; }
  to { background-position: 0 67%; } }
@keyframes flipFlops { from { background-position: 0 0; }
  to { background-position: 0 67%; } }
@-webkit-keyframes flipFlopsBlack { from { background-position: 0 67%; }
  to { background-position: 0 133%; } }
@keyframes flipFlopsBlack { from { background-position: 0 67%; }
  to { background-position: 0 133%; } }
@keyframes flipFlopsMultiColour { from { background-position: 0% 0%; }
  to { background-position: 120% 0%; } }
@-webkit-keyframes flash { 0% { -webkit-transform: scale(0); opacity: 0; }
  50% { -webkit-transform: scale(1); opacity: 1; }
  100% { -webkit-transform: scale(1.5); opacity: 0; } }
@keyframes flash { 0% { transform: scale(0); opacity: 0; }
  50% { transform: scale(1); opacity: 1; }
  100% { transform: scale(1.5); opacity: 0; } }
@-webkit-keyframes bounceIn { 0% { opacity: 0; -webkit-transform: scale(0.3); }
  50% { opacity: 1; -webkit-transform: scale(1.05); }
  70% { -webkit-transform: scale(0.9); }
  100% { -webkit-transform: scale(1); } }
@keyframes bounceIn { 0% { opacity: 0; transform: scale(0.3); }
  50% { opacity: 1; transform: scale(1.05); }
  70% { transform: scale(0.9); }
  100% { transform: scale(1); } }
@keyframes placeHolderShimmer { 0% { background-position: -50% 0; }
  100% { background-position: 50% 0; } }
@-webkit-keyframes fadeAndScale { 0% { opacity: 0; -webkit-animation-timing-function: ease-in; }
  8% { opacity: 1; -webkit-transform: scale3d(1.05, 1.05, 1); -webkit-animation-timing-function: ease-out; }
  17% { opacity: 1; -webkit-transform: scale3d(1.1, 1.1, 1); }
  25% { display: none; opacity: 0; -webkit-transform: scale3d(1.1, 1.1, 1); }
  26% { transform: none; } }
@keyframes fadeAndScale { 0% { opacity: 0; animation-timing-function: ease-in; }
  8% { opacity: 1; transform: scale3d(1.05, 1.05, 1); animation-timing-function: ease-out; }
  17% { opacity: 1; transform: scale3d(1.1, 1.1, 1); }
  25% { display: none; opacity: 0; transform: scale3d(1.1, 1.1, 1); }
  26% { transform: none; } }
@-webkit-keyframes fadeInAndOut { 0% { opacity: 0; -webkit-animation-timing-function: ease-in; }
  8% { opacity: 1; -webkit-animation-timing-function: ease-out; }
  17% { opacity: 1; }
  25% { opacity: 0; }
  100% { opacity: 0; } }
@keyframes fadeInAndOut { 0% { opacity: 0; animation-timing-function: ease-in; }
  8% { opacity: 1; animation-timing-function: ease-out; }
  17% { opacity: 1; }
  25% { opacity: 0; }
  100% { opacity: 0; } }
* { box-sizing: border-box; }

::-moz-selection { background: #003057; color: #FFFFFF; text-shadow: none; }

::selection { background: #003057; color: #FFFFFF; text-shadow: none; }

.nonbeta { display: none; }

button { border: none; background-color: transparent; }

button:focus { outline: 0; }

strong { font-weight: bold; }

body { background-color: #2E3235; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-weight: normal; font-size: 15px; -webkit-font-smoothing: antialiased; }
body.basic { background-color: #FFFFFF; padding: 30px; }

body.menu-open, body.utility-open, body.aside-fixed-open, body.basket-open { overflow: hidden; }

body.hide-overflow-x { overflow-x: hidden; }

body.utility-open { background-color: #FFFFFF; }

p { line-height: 19px; }
p sup { font-size: 10px; }

.max-width { max-width: 1700px; margin: 0 auto; }

.no-clear-field::-ms-clear { display: none; width: 0; height: 0; }

ul.default { list-style-type: disc; list-style-position: outside; margin: 0 0 0 18px; line-height: 19px; }

ul.large-disc > li { list-style-type: none; padding-left: 20px; position: relative; }
ul.large-disc > li:before { content: ''; display: block; width: 10px; height: 10px; background-color: black; border-radius: 50%; position: absolute; left: 0; top: 5px; }
ul.large-disc.white > li:before { background-color: white; }

.message ul.default { list-style-position: inside; }

.bullet { font-size: 35px; margin: 0 5px 0 0; vertical-align: sub; }

@media (min-width: 768px) { .left { float: left; }
  .right { float: right; } }
.small { font-size: 13px; line-height: 17px; }

.smaller { font-size: 12px; line-height: 16px; }

.centred { text-align: center; }

.light-font, .heading-small.light-font { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

.semibold-font { font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; }

.uppercase { text-transform: uppercase; }

.no-wrap { white-space: nowrap; }

.container { position: absolute; z-index: auto; top: 0; left: 0; min-width: 320px; width: 100%; background: #FFFFFF; -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; -webkit-backface-visibility: hidden; padding: 50px 0 0 0; }
@media (min-width: 768px) { .container { padding: 88px 0 0 0; } }
@media (min-width: 1140px) { .container { padding: 91px 0 0 0; } }

.homepage .container { z-index: auto; padding: 50px 0 0 0; }
@media (min-width: 768px) { .homepage .container { padding: 80px 0 0 0; } }

.menu-open .container, .menu-open .search { -webkit-transform: translate3d(265px, 0, 0); -ms-transform: translate3d(265px, 0, 0); transform: translate3d(265px, 0, 0); z-index: -1; }
@media (min-width: 768px) { .menu-open .container, .menu-open .search { -webkit-transform: none; -ms-transform: none; transform: none; } }

.utility-open .container, .utility-open .search.fixed { -webkit-transform: translate3d(-80%, 0px, 0px); -ms-transform: translate3d(-80%, 0px, 0px); transform: translate3d(-80%, 0px, 0px); z-index: -1; }

.utility-open .search { -webkit-transform: translate3d(-100%, 0px, 0px); -ms-transform: translate3d(-100%, 0px, 0px); transform: translate3d(-100%, 0px, 0px); -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; z-index: -1; }

.curtains { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -moz-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; -moz-align-items: center; align-items: center; -webkit-box-direction: normal; -webkit-box-orient: vertical; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; flex-direction: column; background: rgba(0, 0, 0, 0.66); position: fixed; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; visibility: hidden; -webkit-transition: opacity 0.5s, visibility 0s 0.5s; transition: opacity 0.5s, visibility 0s 0.5s; -webkit-backface-visibility: hidden; z-index: 10; }
@media (min-width: 768px) { .curtains { z-index: 13; } }
.curtains.white { background: rgba(255, 255, 255, 0.66); }

.map .curtains.white.active.show-spinner p, #mapPanel .curtains.white.active.show-spinner p { color: black; }

.curtains.active.show-spinner p { display: none; }
@media (min-width: 768px) { .curtains.active.show-spinner p { display: block; padding-bottom: 30px; font-size: 35px; line-height: 35px; color: white; margin-top: -100px; max-width: 455px; text-align: center; } }

.menu-open .curtains, .utility-open .curtains, .curtains.active { opacity: 1; visibility: visible; -webkit-transition: opacity 0.5s; transition: opacity 0.5s; z-index: 10; }
@media (min-width: 768px) { .menu-open .curtains, .utility-open .curtains, .curtains.active { z-index: 13; } }

.eq-ie .menu-open .curtains, .eq-ie .utility-open .curtains, .eq-ie .active.curtains { -webkit-transition: none; transition: none; }

.menu-open .curtains { left: 265px; }
@media (min-width: 768px) { .menu-open .curtains { visibility: visible; left: 0; top: 621px; -webkit-transition-delay: 0.3s; transition-delay: 0.3s; position: absolute; bottom: -130px; } }
@media (min-width: 1140px) { .menu-open .curtains { top: 686px; }
  .menu-open .curtains.no-search { top: 630px; } }

.utility-open .curtains { left: 0; right: 80%; }

.spinner, .spinner.small { width: 85px; height: 100px; }

.spinner.extra-small { width: 55px; height: 70px; }

.spinner { background: url("/images/jvh/ui/flip-flops.svg") no-repeat center 0; position: relative; display: none; -webkit-animation: 400ms steps(2) 0s flipFlops; -webkit-animation-fill-mode: both; animation: 400ms steps(2) 0s flipFlops; animation-fill-mode: both; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; background-size: 100% auto; margin: 0 auto; }
@media (min-width: 768px) { .spinner { width: 165px; height: 200px; } }
.spinner.show { display: block; }

.spinner.multicolour { background: url("/images/jvh/ui/ff-loading-sprite.png") no-repeat center 0; -webkit-animation: none; animation: none; -webkit-animation: 1500ms steps(6) 0s flipFlopsMultiColour; -webkit-animation-fill-mode: both; animation: 1500ms steps(6) 0s flipFlopsMultiColour; animation-fill-mode: both; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; background-size: unset; background-position: 0 0; width: 140px; height: 160px; opacity: 1; transition: opacity 500ms; }

.spinner.black { background-position: 0 67%; -webkit-animation: 400ms steps(2) 0s flipFlopsBlack; -webkit-animation-fill-mode: both; animation: 400ms steps(2) 0s flipFlopsBlack; animation-fill-mode: both; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; }

.curtains .spinner { margin: 0; }

.lt-ie10 .curtains .spinner:before { content: 'Please wait...'; position: absolute; top: -40px; width: 160px; color: #FFFFFF; font-size: 20px; text-align: center; }

.lt-ie10 .curtains .spinner { margin: 20% auto; }

.curtains.show-spinner .spinner { display: block; }

.please-wait-modal { padding: 10px; min-width: 300px; min-height: 150px; }
.please-wait-modal h2 { text-align: center; display: block; }

.display-none, .cta.display-none, .cta-nohover.display-none { display: none; }

a.cms-edit { margin: 100px 0 0 0; display: block; }

.side-modal.curtains { bottom: 35px; z-index: 3; width: 0; }
@media (min-width: 768px) { .side-modal.curtains { top: 84px; width: 20%; } }
@media (min-width: 1140px) { .side-modal.curtains { top: 0; width: 40%; } }
@media (min-width: 1140px) and (min-height: 670px) { .side-modal.curtains { top: 95px; } }

.toggle-filter { display: none; }

.unsupported-browser { position: absolute; width: 400px; padding: 15px; background-color: #ffffff; text-align: center; left: 50%; top: 30%; margin-left: -200px; z-index: 100; border: 2px solid #2E3235; }

a, button.link { text-decoration: none; color: #FD8A52; padding: 0; cursor: pointer; }

button[disabled].link { color: #DDDDDD; }

a:active, a:hover { outline: 0; }

.click-block > li { cursor: pointer; }

.chevron-link { text-transform: uppercase; color: #FD8A52; position: relative; padding: 0; margin: 0; }
.chevron-link.lower { text-transform: none; }
.chevron-link.back { padding: 0 0 0 25px; }
.chevron-link:after, .chevron-link.reverse:before { content: ''; background: url("/images/jvh/ui/cta-arrow-std.svg") no-repeat center center; width: 9px; height: 100%; padding: 0 0 0 20px; display: inline; }
.chevron-link.white:after, .chevron-link.reverse.white:before { background-image: url("/images/jvh/ui/cta-arrow.svg"); }
.chevron-link.black:after, .chevron-link.reverse.black:before { background-image: url("/images/jvh/ui/cta-arrow-black.svg"); }
.chevron-link.back:after { position: absolute; top: 0; left: 0; -webkit-transform: scaleX(-1); -ms-transform: scaleX(-1); transform: scaleX(-1); }
.chevron-link.reverse { text-transform: none; }
.chevron-link.reverse:after { content: normal; }
.chevron-link.tablet:after { display: none; }
@media (min-width: 768px) { .chevron-link.tablet:after { display: inline; } }
@media (min-width: 1140px) { .chevron-link.tablet:after { display: none; } }
.chevron-link.end:after { content: ''; height: 15px; float: right; padding: 0 0 0 30px; }

.white { color: #FFFFFF; }

a.underline { text-decoration: underline; }

a.dark { color: #000000; text-decoration: underline; }

.cta, .cta-nohover { background: #FD8A52; height: 42px; line-height: 40px; border-radius: 21px; color: #FFFFFF; padding: 0 51px 0 16px; text-decoration: none; display: inline-block; text-transform: uppercase; position: relative; border: 1px solid #FD8A52; }
.cta.small, .cta-nohover.small { padding: 0 43px 0 11px; }

.cta.small, .cta-nohover.small { height: 36px; line-height: 36px; font-size: 13px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; padding: 0 40px 0 12px; overflow: hidden; }

.cta:hover { background-color: transparent; color: #FD8A52; -webkit-transition: all 600ms; transition: all 600ms; }

.cta:after, .cta-nohover:after { content: ''; background: url("/images/jvh/ui/cta-arrow.svg") no-repeat center center; right: 6px; top: 5px; color: #FFFFFF; border-radius: 21px; display: block; height: 27px; width: 27px; line-height: 27px; border: 1px solid #FFFFFF; position: absolute; overflow: hidden; }

.cta.small:after, .cta-nohover.small:after { top: 4px; height: 24px; width: 24px; }

.cta:hover:after { background: url("/images/jvh/ui/cta-arrow-std.svg") no-repeat center center; border: 1px solid #FD8A52; -webkit-transition: all 600ms; transition: all 600ms; }

.cta.secondary { background: none; border: 1px solid #FFFFFF; }

.cta.secondary:hover { background-color: #FD8A52; border: 1px solid #FD8A52; color: #FFFFFF; }

.cta.ghost, footer.secondary ul.quicklinks a.cta.ghost, .cta-nohover.ghost { color: #FFFFFF; background: none; border: 1px solid #FFFFFF; white-space: nowrap; }

footer.secondary ul.quicklinks a.cta.ghost:hover { background: #FFFFFF; color: #6AD6FF; border: 1px solid #FFFFFF; text-decoration: none; }

footer.secondary ul.quicklinks a.cta.ghost:hover:after { background: url("/images/jvh/ui/cta-arrow-vwp.svg") no-repeat center center; border: 1px solid #6AD6FF; }

.cta.ghost:hover { background: #FD8A52; border: 1px solid #FD8A52; text-decoration: none; }

.cta.ghost:hover:after { background: url("/images/jvh/ui/cta-arrow.svg") no-repeat center center; border: 1px solid #FFFFFF; }

.cta.ghost.salmon.file { background-color: #FFFFFF; }

.cta.ghost.salmon.file:after { background: url("/images/jvh/ui/icon-file-upload.svg") no-repeat center center; border: 1px solid #FD8A52; }

.cta.ghost.salmon.file:hover:after { background: url("/images/jvh/ui/icon-file-upload-white.svg") no-repeat center center; border: 1px solid #FFFFFF; }

.cta.ghost.salmon, .cta-nohover.ghost.salmon { background: none; color: #FD8A52; border: 1px solid #FD8A52; }

.cta.ghost.salmon:hover { background: #FD8A52; color: #FFFFFF; border: 1px solid #FD8A52; }

.cta.ghost.salmon:hover:after { background: url("/images/jvh/ui/cta-arrow.svg") no-repeat center center; border: 1px solid #FFFFFF; }

.cta.ghost.salmon:after, .cta-nohover.ghost.salmon:after { background: url("/images/jvh/ui/cta-arrow-std.svg") no-repeat center center; border: 1px solid #FD8A52; }

.cta.ghost.black { background: none; color: black; border: 1px solid black; }

.cta.ghost.black:hover { background: none; color: white; border: 1px solid white; }

.cta.ghost.black:hover:after { background: url("/images/jvh/ui/cta-arrow.svg") no-repeat center center; border: 1px solid white; }

.cta.ghost.black:after { background: url("/images/jvh/ui/cta-arrow-black.svg") no-repeat center center; border: 1px solid black; }

.cta.florida { background: #d31e47; border: 1px solid #FFFFFF; }

.cta.florida:hover { background: transparent; color: #d31e47; border: 1px solid #d31e47; }

.cta.florida:hover:after { background: url("/images/jvh/ui/cta-arrow-florida.svg") no-repeat center center; border: 1px solid #d31e47; }

.cta.ghost.salmon.fill:not(:hover) { background-color: #ffffff; }

.cta.back, .cta.left-pointing { padding: 0 16px 0 41px; }

.cta.back:after, .cta.left-pointing:after { right: auto; left: 6px; -webkit-transform: rotate(180.0001deg); -ms-transform: rotate(180.0001deg); transform: rotate(180.0001deg); }

.cta.booking:hover { background-color: #ffffff; color: #FD8A52; }
.cta.booking.large { height: 48px; border-radius: 30px; font-size: 17px; padding: 0 60px 0 35px; line-height: 18px; }
@media (min-width: 768px) { .cta.booking.large { font-size: 21px; } }
.cta.booking.large:after { top: 9px; right: 10px; }

@media (max-width: 767px) { .cta.cancel.ghost.salmon { border: none; text-transform: none; padding: 0; } }
@media (max-width: 767px) { .cta.cancel.ghost.salmon:after { content: none; } }
@media (max-width: 767px) { .cta.cancel.ghost.salmon:hover { background: none; } }

.cta.full-width { width: 100%; }

.cta.collapse, .cta.more { border-radius: 0; font-size: 13px; height: auto; line-height: 30px; padding: 0 10px; }
.cta.collapse.full-width, .cta.collapse.full-width:hover, .cta.more.full-width, .cta.more.full-width:hover { border-width: 2px; }

.cta.ghost.salmon.more:after, .cta.ghost.salmon.collapse:after { content: ''; background: url(/images/jvh/ui/cta-arrow-std.svg) no-repeat center center; display: inline-block; height: 18px; width: 10px; overflow: hidden; border: none; position: static; margin: 0 0 0 10px; vertical-align: text-bottom; -webkit-transition: transform 500ms ease-in-out; transition: transform 500ms ease-in-out; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }
.cta.ghost.salmon.more:hover:after, .cta.ghost.salmon.collapse:hover:after { background-image: url("/images/jvh/ui/cta-arrow.svg"); }

.cta.ghost.salmon.collapse:after { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }

button[disabled].cta, button[disabled].cta:hover, button.cta.disable, button.cta.disable:hover { background-color: #DDDDDD; border: 1px solid #DDDDDD; color: #FFFFFF; }

button[disabled].cta:after, button[disabled].cta:hover:after, button.disable.cta:after, button.disable.cta:hover:after, button.cta-nohover.ghost.salmon.disable:after, button.cta-nohover.disable:after { background: url("/images/jvh/ui/cta-arrow.svg") no-repeat center center; border: 1px solid #FFFFFF; }

button.arrow { background-color: transparent; border-radius: 21px; display: block; height: 27px; width: 27px; border: 1px solid #FD8A52; overflow: hidden; text-indent: 200%; font-size: 0; -webkit-transition: all 500ms; transition: all 500ms; }

.lt-ie10 button.arrow { background: url("/images/jvh/ui/cta-arrow-std.svg") no-repeat center center; background-size: 8px auto; }

button.arrow span { height: 3px; background-color: #FD8A52; width: 8px; display: block; -webkit-transform: rotateZ(45deg); -ms-transform: rotate(45deg); transform: rotateZ(45deg); border-radius: 3px; top: 9px; left: 9px; position: absolute; -webkit-transition: all 500ms; transition: all 500ms; }

.lt-ie10 button.arrow span { display: none; }

button.arrow span:before { content: ''; height: 3px; background-color: #FD8A52; width: 8px; display: block; -webkit-transform: rotateZ(-90deg); -ms-transform: rotate(-90deg); transform: rotateZ(-90deg); border-radius: 3px; top: 3px; left: 3px; position: absolute; -webkit-transition: all 500ms; transition: all 500ms; }

button.arrow.success { background-color: #55CC41; border-color: #55CC41; }

button.arrow.success span { background-color: #FFFFFF; height: 3px; width: 13px; display: block; -webkit-transform: rotateZ(130deg); -ms-transform: rotate(130deg); transform: rotateZ(130deg); top: 11px; left: 8px; }

button.arrow.success span:before { background-color: #FFFFFF; height: 3px; width: 7px; -webkit-transform: rotateZ(-90deg); -ms-transform: rotate(-90deg); transform: rotateZ(-90deg); top: 3px; left: 9px; }

button.arrow.error { background-color: #E83737; border-color: #E83737; }

button.arrow.error span { background-color: #FFFFFF; height: 3px; width: 13px; display: block; -webkit-transform: rotateZ(45deg); -ms-transform: rotate(45deg); transform: rotateZ(45deg); top: 11px; left: 6px; }

button.arrow.error span:before { background-color: #FFFFFF; height: 13px; width: 3px; -webkit-transform: rotateZ(0deg); -ms-transform: rotate(0deg); transform: rotateZ(0deg); top: -5px; left: 5px; }

a.phone { color: black; }

a.large-phone { font-size: 18px; color: black; }

a.mailto { color: black; }

.back-to-top { height: 42px; text-align: center; position: relative; }
@media (min-width: 768px) { .back-to-top { padding: 0; } }
.back-to-top a:not(.cta) { display: block; position: absolute; font-weight: bold; z-index: 1; right: 25px; top: 15px; }
.back-to-top a:not(.cta):after { content: " "; background: url("/images/jvh/ui/cta-arrow-std.svg") no-repeat center center; background-size: contain; width: 11px; height: 15px; position: absolute; margin-right: -30px; padding: 0 0 0 20px; -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); }

ul.icons { overflow: hidden; display: block; text-align: center; }
@media (min-width: 768px) { ul.icons { padding: 0 0 22px 0; } }

ul.icons li { float: left; display: inline-block; width: 35px; height: 50px; margin: 0 5px 0 0; padding: 32px 0 0 0; position: relative; background: url("/images/jvh/ui/accom/accom-icons-2017.svg") -1px -2px no-repeat; background-size: 249px 30px; }
ul.icons li.beds { background-position: -39px -2px; }
ul.icons li.bath { background-position: -76px -2px; }
ul.icons li.p0, ul.icons li.p1 { background-position: -111px -2px; }
ul.icons li.cr { background-position: -148px -2px; width: 37px; }
ul.icons li.ac { background-position: -183px -2px; }
ul.icons li.wifi { background-position: -215px -2px; }

ul.icons.large li { width: 49px; height: 49px; padding: 23px 0 0 0; background: url("/images/jvh/ui/accom/accom-icons-coloured.svg") -322px 0 no-repeat; background-size: auto 35px; border-radius: 50%; font-size: 11px; background-color: #ffffff; color: #003057; margin-bottom: 5px; }
ul.icons.large li.sleeps { background-position: 7px 2px; }
ul.icons.large li.beds { background-position: -32px 2px; }
ul.icons.large li.bath { background-position: -71px 2px; }
ul.icons.large li.p0, ul.icons.large li.p1 { background-position: -112px 2px; }
ul.icons.large li.cr { background-position: -150px 2px; text-indent: 0px; }
ul.icons.large li.ac { background-position: -189px 2px; }
ul.icons.large li.wifi { background-position: -229px 2px; }
@media (min-width: 768px) { ul.icons.large li { width: 65px; height: 65px; padding: 39px 0 0 0; background-size: auto 55px; font-size: 18px; margin-bottom: 0; }
  ul.icons.large li.sleeps { background-position: 5px 5px; }
  ul.icons.large li.beds { background-position: -56px 5px; }
  ul.icons.large li.bath { background-position: -119px 5px; }
  ul.icons.large li.p0, ul.icons.large li.p1 { background-position: -183px 5px; }
  ul.icons.large li.cr { background-position: -242px 5px; }
  ul.icons.large li.ac { background-position: -303px 5px; }
  ul.icons.large li.wifi { background-position: -365px 5px; } }

ul.icons li:last-child { margin: 0 0 0 0; }

ul.icons li span { display: none; }

ul.icons li.cr span, ul.icons li.p0 span, ul.icons li.p1 span, ul.icons li.wifi span, ul.icons li.ac span { font-size: 8px; text-transform: uppercase; display: block; }
ul.icons li.cr span span, ul.icons li.p0 span span, ul.icons li.p1 span span, ul.icons li.wifi span span, ul.icons li.ac span span { display: none; }

ul.icons.large li.cr span, ul.icons.large li.p0 span, ul.icons.large li.p1 span, ul.icons.large li.wifi span, ul.icons.large li.ac span { padding: 0 2px; height: 18px; }

ul.icons li span.print { display: none; }

.heading-extra-large { font-size: 30px; }
@media (min-width: 768px) { .heading-extra-large { font-size: 40px; } }
@media (min-width: 1140px) { .heading-extra-large { font-size: 50px; } }

.heading-extra-large-light { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 30px; }
@media (min-width: 768px) { .heading-extra-large-light { font-size: 50px; } }

h1, .heading-large { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 22px; margin-bottom: 20px; }
@media (min-width: 1140px) { h1, .heading-large { font-size: 30px; line-height: 100%; } }

.homepage h1 { margin: 0; }

h2, .heading-medium { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 18px; margin-bottom: 20px; }
@media (min-width: 1140px) { h2, .heading-medium { font-size: 25px; } }

h1.collapse, .heading-large.collapse { margin-bottom: 10px; }

h2.collapse, .heading-medium.collapse { margin-bottom: 5px; }

h3, .heading-small { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 16px; line-height: 20px; margin-bottom: 15px; }
@media (min-width: 1140px) { h3, .heading-small { font-size: 20px; line-height: 24px; } }

h4, .heading-extra-small { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 15px; line-height: 19px; margin-bottom: 15px; }
@media (min-width: 1140px) { h4, .heading-extra-small { font-size: 16px; line-height: 20px; } }

h1 a, h2 a, h3 a, h4 a, .heading-extra-large-light a, .heading-large a, .heading-medium a, .heading-large a, .heading-small a, .heading-extra-small a { color: #000000; }

h1.underline, h2.underline, h3.underline { border-bottom: 1px solid #000000; padding: 0 0 5px 0; }

h1.underline.white, h2.underline.white, h3.underline.white { border-color: #FFFFFF; }

h1.underline.grey, h2.underline.grey, h3.underline.grey { border-color: #D9D9D9; }

h1.lined, h2.lined, h3.lined { text-align: center; }
@media (min-width: 768px) { h1.lined, h2.lined, h3.lined { display: table; border-collapse: collapse; white-space: nowrap; }
  h1.lined:before, h1.lined:after, h2.lined:before, h2.lined:after, h3.lined:before, h3.lined:after { content: ""; display: table-cell; width: 50%; background: black; background: -webkit-linear-gradient(legacy-direction(to right), black 0%, black 50%); background: linear-gradient(to right, black 0%, black 50%); background-position: 0px 50%; background-size: auto 1px; background-repeat: repeat-x; }
  h1.lined:before, h2.lined:before, h3.lined:before { border-right: solid 20px transparent; }
  h1.lined:after, h2.lined:after, h3.lined:after { border-left: solid 20px transparent; } }

.lt-ie10 h1.lined:before, .lt-ie10 h1.lined:after, .lt-ie10 h2.lined:before, .lt-ie10 h2.lined:after, .lt-ie10 h3.lined:before, .lt-ie10 h3.lined:after { background: none; }

.fancy-heading-extra-large { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 30px; }
@media (min-width: 768px) { .fancy-heading-extra-large { font-size: 50px; } }

h1.fancy-heading, .fancy-heading-large { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 22px; line-height: 30px; margin-bottom: 20px; }
@media (min-width: 768px) { h1.fancy-heading, .fancy-heading-large { font-size: 30px; line-height: 38px; } }
@media (min-width: 1140px) { h1.fancy-heading, .fancy-heading-large { font-size: 40px; line-height: 48px; } }

h2.fancy-heading, .fancy-heading-medium { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 18px; line-height: 26px; margin-bottom: 20px; }
@media (min-width: 1140px) { h2.fancy-heading, .fancy-heading-medium { font-size: 30px; line-height: 38px; } }

h3.fancy-heading, .fancy-heading-small { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 15px; }
@media (min-width: 1140px) { h3.fancy-heading, .fancy-heading-small { font-size: 20px; line-height: 28px; } }

h4.fancy-heading, .fancy-heading-extra-small { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 14px; line-height: 24px; margin-bottom: 15px; }

.line-heading { line-height: 28px; font-size: 22px; text-align: center; overflow: hidden; color: #9D9D9D; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .line-heading { font-size: 25px; } }
.line-heading span { display: inline-block; position: relative; }
.line-heading span:before, .line-heading span:after { content: ""; position: absolute; height: 1px; border-top: 1px solid #D9D9D9; bottom: 10px; width: 1000px; }
.line-heading span:before { right: 100%; margin-right: 15px; }
.line-heading span:after { left: 100%; margin-left: 15px; }

em { font-style: italic; }

form .input-replacement, form .select-replacement, form .textarea-replacement, form .upload-replacement, form .multi-select, form fieldset.check-group-container { margin: 0 0 20px 0; position: relative; }
form .input-replacement span.error, form .select-replacement span.error, form .textarea-replacement span.error, form .upload-replacement span.error, form .multi-select span.error, form fieldset.check-group-container span.error { display: none; background: #E3003A; position: absolute; right: 10px; top: -15px; font-size: 11px; line-height: 11px; color: #FFFFFF; padding: 2px 10px; border-top-left-radius: 3px; border-top-right-radius: 3px; width: 100px; text-align: center; }
form .input-replacement.error span.error, form .select-replacement.error span.error, form .textarea-replacement.error span.error, form .upload-replacement.error span.error, form .multi-select.error span.error, form fieldset.check-group-container.error span.error { display: block; }

form .select-replacement.include-plus-minus > div { margin-right: 88px; border-radius: 5px 0 0 5px; }

form .select-replacement.include-plus-minus.transparent > div:after { background-color: transparent; }

@media (min-width: 1140px) { form .select-replacement.small.include-plus-minus > div { margin-right: 64px; background-position: right 12px center; background-size: 12px auto; padding: 0 30px 0 12px; } }

form .select-replacement.include-plus-minus .select-minus, form .select-replacement.include-plus-minus .select-plus { position: absolute; top: 0; right: 44px; height: 100%; width: 44px; background-color: white; border: 1px solid #D9D9D9; overflow: hidden; text-align: center; padding: 0; }

form .select-replacement.include-plus-minus button > span { font-size: 30px; }

form .select-replacement.include-plus-minus.transparent .select-minus, form .select-replacement.include-plus-minus.transparent .select-plus { background-color: transparent; color: white; border-color: white; border-left-style: none; }

@media (min-width: 1140px) { form .select-replacement.small.include-plus-minus .select-minus, form .select-replacement.small.include-plus-minus .select-plus { font-size: 20px; right: 32px; width: 32px; } }

form .select-replacement.include-plus-minus .select-plus, form .select-replacement.small.include-plus-minus .select-plus { right: 0px; border-radius: 0 5px 5px 0; }

form .select-replacement.option-replaced { overflow: hidden; height: 46px; }
form .select-replacement.option-replaced.active { overflow: visible; height: auto; }
form .select-replacement.option-replaced.active div { border-radius: 8px 8px 0px 0px; background-image: url(/images/jvh/ui/drop-down-arrow-up.svg); }
form .select-replacement.option-replaced select { display: none; }
form .select-replacement.option-replaced select:focus { outline: none; outline-offset: 0; text-shadow: 0 0 0 #000 !important; }

form .select-replacement .option-replacement { height: 0; background: #FFFFFF; border: 1px solid #D9D9D9; top: 0px; -webkit-transition: all 200ms linear; transition: all 200ms linear; }

form .select-replacement.active .option-replacement { border: 1px solid #D9D9D9; position: absolute; background: #FFFFFF; width: 100%; top: 0; top: calc(100% - 1px); z-index: 2; height: auto; max-height: 1000px; -webkit-transition: all 200ms linear; transition: all 200ms linear; }
form .select-replacement.active .option-replacement li { position: relative; text-align: center; text-transform: uppercase; color: #FD8A52; padding: 15px 50px 15px 15px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; cursor: pointer; background-color: #FFFFFF; }
form .select-replacement.active .option-replacement li:last-of-type { border-bottom: none; }
form .select-replacement.active .option-replacement li:not(:last-of-type):after { content: ""; border-bottom: 1px solid #D9D9D9; width: 90%; height: 1px; display: block; position: absolute; bottom: 0; left: 5%; }
form .select-replacement.active .option-replacement li:hover, form .select-replacement.active .option-replacement li.selected { color: #FFFFFF; background-color: #FD8A52; }

@media (max-width: 767px) { form > div .select-replacement.mobile-tethered { display: none; } }
@media (min-width: 768px) { .mob-form-controls { display: none; } }
form .dark input[type="text"], form .dark input[type="tel"], form .dark input[type="email"], form .dark input[type="number"] { background: #FFFFFF; }

form .light input[type="text"], form .light input[type="password"], form .light input[type="tel"], form .light input[type="email"], form .light input[type="number"] { background: #F6F6F6; }

form input[disabled=disabled][type="text"], form input[disabled=disabled][type="tel"], form input[disabled=disabled][type="email"], form input[disabled=disabled][type="number"] { background-color: #DDDDDD; color: #999CA1; }

form > div label { clear: both; display: inline-block; }

form > div .select-replacement { clear: both; display: block; }

form .radio-group-container.inline { overflow: hidden; }
form .radio-group-container.inline label { clear: none; float: left; padding: 0 20px 0 0; }

/* placeholder styles - hidden by default (for screenreaders) and shown for lt IE10 for inline labels */
form label > span.hint, form label.detached { margin: 0 0 10px; display: block; font-size: 12px; text-transform: uppercase; text-align: left; }

form label > span.hint.mandatory:after, form label.detached.mandatory:after, form .mandatory-label:after, .mandatory-caption:before { content: '*'; color: #FF0000; margin: 0 0 0 4px; }

.mandatory-caption:before { margin: 0 4px 0 0; }

form .date-input label > .hint, form label > span.hint.inline { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; text-align: left; }

.lt-ie10 form label > span.hint.inline, .lt-ie10 form .date-input label > .hint { margin: 0 0 10px; clip: auto; height: auto; width: auto; position: relative; display: block; font-size: 12px; }

.message { font-size: 14px; line-height: 18px; text-align: center; padding: 13px; text-transform: uppercase; color: #31B9E9; border: 1px solid #EBEBEB; display: none; margin: 0 0 20px 0; background-color: #FFFFFF; }
.message.success { color: #1FBBA6; border: 1px solid #1FBBA6; background-color: #F4FCFB; }
.message.warning { color: #D9820F; border: 1px solid #F5CE89; background-color: #FEFBF6; }
.message.error { color: #dd0930; border: 1px solid #E3003A; background-color: #FEF3F6; }
.message.neutral { color: #3387A9; border: none; background-color: #D4E8EF; border-radius: 0px; padding: 13px 12px; }
.message.facebook, .message.google { background-color: #3b5999; color: #FFFFFF; border-radius: 21px; border: none; }
.message.facebook span, .message.google span { position: relative; padding: 0 0 0 35px; display: inline-block; }
.message.facebook span:before, .message.google span:before { content: ''; background: url("/images/jvh/ui/icon-social-facebook-alt.svg") no-repeat 0 0; background-size: cover; width: 25px; height: 25px; display: block; position: absolute; top: -3px; left: 0; overflow: hidden; }
.message.google { background-color: #db4834; }
.message.google span:before { background-image: url("/images/jvh/ui/icon-social-google-plus-alt.svg"); }
.message.active { display: block; }
.message p:last-child { margin: 0; }

input.mandatory::-webkit-input-placeholder { color: #7C8389; }

input.mandatory::-webkit-input-placeholder:after { color: #FF0000; content: "*"; opacity: 1; margin-left: -6px; }

textarea.mandatory::-webkit-input-placeholder { color: #7C8389; }

textarea.mandatory::-webkit-input-placeholder:after { color: #FF0000; content: "*"; opacity: 1; margin-left: -6px; }

.mandatory-example { color: #FF0000; }

form input[type="text"], form input[type="tel"], form input[type="email"], form input[type="password"], form input[type="number"] { height: 46px; line-height: 46px; padding: 0 12px; font-size: 15px; color: #000000; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; border-radius: 8px; border: 1px solid #D9D9D9; width: 100%; background-color: #FFFFFF; }

form .error > textarea, form .error > input, form .select-replacement.error div, form label.error, form fieldset.check-group-container.error { border: 1px solid #E3003A; background-color: #fef7f9; }

form label.error { padding: 10px; }
form label.error .check-replacement, form label.error .radio-replacement { margin: 2px 6px 2px 0; }

form input[type="text"].large, form input[type="email"].large { background-image: none; border-radius: 23px; padding: 0 23px; }

/* hide ie reveal eye for password fields on desktop only */
@media (min-width: 1140px) { form .input-replacement.password input::-ms-reveal { display: none !important; } }
form input[type="email"] { background-image: url("/images/jvh/ui/icon-email.svg"); background-position: right 5px center; background-repeat: no-repeat; background-size: 35px 26px; padding-right: 50px; }

form input[type="tel"] { background-image: url("/images/jvh/ui/icon-phone.svg"); background-position: right 5px center; background-repeat: no-repeat; background-size: 35px 26px; padding-right: 50px; }

form input[type="number"] { -moz-appearance: textfield; }

form input[type="number"]::-webkit-inner-spin-button, form input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.input-replacement.password { position: relative; }

form .input-replacement.password input { background-image: url("/images/jvh/ui/icon-login.svg"); background-position: right 5px center; background-repeat: no-repeat; background-size: 35px 26px; padding-right: 50px; /* extra padding on desktop needed for reveal button */ }
@media (min-width: 1140px) { form .input-replacement.password input { padding-right: 90px; } }

form .input-replacement.password .reveal-password { position: absolute; top: 14px; right: 40px; height: 20px; width: 50px; cursor: pointer; background: transparent; /* reveal button only shown on desktop */ display: none; color: #FD8A52; font-size: 10px; text-transform: uppercase; line-height: 20px; }
@media (min-width: 1140px) { form .input-replacement.password .reveal-password { display: block; } }

form input.large::-webkit-input-placeholder { text-transform: uppercase; }

form input.large::-moz-placeholder { /* Firefox 19+ */ text-transform: uppercase; }

form input.large:-ms-input-placeholder { text-transform: uppercase; }

form textarea { padding: 12px; color: #000000; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 15px; border-radius: 8px; border: 1px solid #D9D9D9; width: 100%; max-width: 100%; height: 100px; max-height: 300px; }

form textarea:focus { background: #f6f6f6; }

form .select-replacement select { -webkit-appearance: none; position: absolute; top: 0; left: 0; width: 100%; height: 46px; font-size: 16px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

form .select-replacement select option:checked { background: #003057 !important; color: #FFFFFF; }

form .select-replacement div { padding: 0 45px 0 12px; color: #7C8389; font-size: 15px; border-radius: 8px; border: 1px solid #D9D9D9; height: 46px; line-height: 46px; text-align: left; position: relative; background: url("/images/jvh/ui/drop-down-arrow.png") no-repeat right 14px center #FFFFFF; }

form .select-replacement.transparent div { border: 1px solid white; color: white; background: url("/images/jvh/ui/drop-down-arrow-white.png") no-repeat right 14px center transparent; }

form .select-replacement div:after { content: ' '; display: inline-block; width: 1px; height: 100%; position: absolute; right: 42px; background-color: #D9D9D9; }

form .select-replacement.transparent div:after { background-color: white; }

form .select-replacement.include-plus-minus div:after { display: none; }

@media (min-width: 1140px) { form .select-replacement.small div, form .select-replacement.small select { height: 32px; line-height: 32px; font-size: 13px; } }

form .select-replacement.small-all div, form .select-replacement.small-all select { height: 32px; line-height: 32px; font-size: 16px; }

form .select-replacement.small-all div { font-size: 12px; }

form .select-replacement.small-all div { background-size: 10px; background-position: right 10px center; padding-right: 32px; padding-left: 7px; border-radius: 3px; }
form .select-replacement.small-all div:after { right: 29px; }

form .multi-select { padding: 5px 12px; font-size: 15px; border-radius: 8px; border: 1px solid #D9D9D9; line-height: 46px; text-align: left; }

form .light .select-replacement div { background: url("/images/jvh/ui/icon-selectbox.png") no-repeat right center #F6F6F6; }

form input[type="text"]:focus, form input[type="tel"]:focus, form input[type="email"]:focus, form input[type="password"]:focus, form input[type="number"]:focus, form textarea:focus, form select.multi-select:focus { box-shadow: 0 0 0 1px #D9D9D9; outline: none; }

form .error .select-replacement div { border: 1px solid #FF0000; }

form .light .error .select-replacement div, form .dark .error .select-replacement div { background: url("/images/jvh/ui/icon-selectbox.png") no-repeat right center #FEF7F9; }

form .select-replacement div.active { color: #000000; }

form .select-replacement.transparent div.active { color: white; }

form .check-replacement { background: #FFFFFF; width: 18px; height: 18px; display: inline-block; margin: 10px 6px 20px 0; border: 1px solid #959595; border-radius: 4px; }

.check-label.right div.check-replacement { margin: 0 6px 20px 0; float: left; }
@media (min-width: 768px) { .check-label.right div.check-replacement { margin: 10px 6px 20px 0; float: none; } }

form .light .check-replacement { background: #F6F6F6; }

form .check-replacement.selected { background: url("/images/jvh/ui/icon-check-replacement.png") center center no-repeat #FFFFFF; }

form .light .check-replacement.selected { background: url("/images/jvh/ui/icon-check-replacement.png") center center no-repeat #F6F6F6; }

form .check-replacement.focus { box-shadow: 0 0 0 1px #D9D9D9; outline: none; /*Outline is naff, it doesn't respect the border radius*/ }

form .check-replacement.error { border: 1px solid #e1003c; }

form .check-replacement.error.selected { border: 1px solid #D9D9D9; }

form .toggle-check .check-replacement { float: left; margin: 12px 10px 0 0; width: 54px; height: 24px; background: #F3F3F3; border: 1px solid #CCCCCC; -webkit-transition: all 300ms; transition: all 300ms; border-radius: 12px; position: relative; }
form .toggle-check .check-replacement.focus { -webkit-box-shadow: 0px 0px 0px 0px black; -moz-box-shadow: 0px 0px 0px 0px black; box-shadow: 0px 0px 0px 0px black; }
form .toggle-check .check-replacement.selected { background: #FD8A52; -webkit-transition: all 300ms; transition: all 300ms; }
form .toggle-check .check-replacement.selected:after { left: 32px; text-indent: -52px; }
form .toggle-check .check-replacement:after { content: 'ON'; position: absolute; height: 20px; width: 20px; left: 0; border: 1px solid #DDDDDD; background: #FFFFFF; border-radius: 12px; line-height: 20px; color: white; -webkit-transition: all 300ms; transition: all 300ms; }

form .radio-replacement { background: #FFFFFF; width: 18px; height: 18px; display: inline-block; margin: 10px 6px 20px 0; border: 1px solid #959595; border-radius: 100%; }

form .radio-label, form .check-label { display: inline-block; margin-right: 20px; }

form .radio-label.above .radio-replacement, form .check-label.above .check-replacement { margin: 5px auto 20px; display: block; }

form .light .radio-replacement { background: #F6F6F6; }

form .radio-replacement.selected { background: url("/images/jvh/ui/icon-radio-replacement.png") center center no-repeat #FFFFFF; }

form .light .radio-replacement.selected { background: url("/images/jvh/ui/icon-radio-replacement.png") center center no-repeat #F6F6F6; }

form .radio-replacement.focus { box-shadow: 0 0 0 1px #D9D9D9; outline: none; /*Outline is naff, it doesn't respect the border radius*/ }

form .radio-replacement.error { border: 1px solid #e1003c; }

form .radio-replacement.selected.error { border: 1px solid #D9D9D9; }

form .upload-replacement { width: 100%; }

.upload-replacement .cta { margin-left: -170px; }

form .upload-replacement input[type="text"] { color: #7C8389; }

form .upload-container input[type="file"] { position: absolute; width: 25%; }

.upload-list input[type="file"] { margin-bottom: 20px; }

form .check-list .check-replacement, form .radio-list .radio-replacement { margin: 0 6px 15px 0; }

form .upload-list .upload-replacement { margin: 0 0 15px 0; }

form .check-list:last-of-type .check-replacement, form .radio-list:last-of-type .radio-replacement, form .upload-list:last-of-type .upload-replacement { margin-bottom: 20px; }

form.quick-search { position: relative; display: block; clear: both; }

form.quick-search input { height: 50px; line-height: 48px; border: 1px solid #DDDEDE; color: #000000; padding: 0 60px 0 10px; -webkit-appearance: none; border-radius: 0; width: 100%; }

form.quick-search button { background: url("/images/jvh/ui/icon-search.svg") no-repeat center center #DEDEDE; background-size: 19px; color: #FFFFFF; height: 48px; width: 48px; line-height: normal; position: absolute; bottom: 1px; right: 1px; text-indent: 200%; white-space: nowrap; overflow: hidden; -webkit-transition: background-color 300ms; transition: background-color 300ms; }

form.quick-search.focus button, form.quick-search button:hover { background-color: #FB6E52; }

form .field-label { margin-top: 10px; }

form .field-label-inline { margin-top: 10px; line-height: 46px; }

form ul.date-input li { margin-right: 10px; display: inline-block; min-width: 54px; }
form ul.date-input li input { width: 54px; }
form ul.date-input li:last-child input { width: 67px; }

form ul.date-input li:last-child { margin-right: 0; }

form ul.ui-autocomplete { width: 100%; background-color: white; border: 2px solid #DDDEDE; border-top: none; list-style-type: none; margin: 0; padding: 0; text-align: left; position: absolute; z-index: 1; }

form ul.ui-autocomplete li div { text-decoration: none; color: #666666; display: block; padding: 15px 10px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; cursor: pointer; background-color: #FFFFFF; }

form ul.ui-autocomplete li div:hover, form ul.ui-autocomplete li div.ui-state-hover, form ul.ui-autocomplete li div.ui-state-active { text-decoration: none; background-color: #dddede; }

input[type=range] { -webkit-appearance: none; /* Hides the slider so that custom slider can be made */ width: 100%; height: auto; padding: 20px 0 10px; }

input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; }

input[type=range]:focus { outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */ }

input[type=range]::-ms-track { width: 100%; cursor: pointer; background: transparent; /* Hides the slider so custom styles can be added */ border-color: transparent; color: transparent; }

input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 1px; cursor: pointer; background: #FD8A52; border-radius: 1.3px; border: 0px solid #010101; }

input[type=range]:focus::-webkit-slider-runnable-track { background: #FD8A52; }

input[type=range]::-moz-range-track { width: 100%; height: 8.4px; cursor: pointer; background: #FD8A52; border-radius: 1.3px; border: 0.2px solid #010101; }

input[type=range]::-ms-track { width: 100%; height: 8.4px; cursor: pointer; background: transparent; border-color: transparent; border-width: 16px 0; color: transparent; }

input[type=range]::-ms-fill-lower { background: #2a6495; border: 0.2px solid #010101; border-radius: 2.6px; }

input[type=range]:focus::-ms-fill-lower { background: #3071a9; }

input[type=range]::-ms-fill-upper { background: #3071a9; border: 0.2px solid #010101; border-radius: 2.6px; }

input[type=range]:focus::-ms-fill-upper { background: #367ebd; }

/* Special styling for WebKit/Blink */
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; border: 1px solid #FD8A52; height: 20px; width: 20px; border-radius: 10px; background: #FFFFFF; cursor: pointer; margin-top: -10px; /* You need to specify a margin in Chrome, but in Firefox and IE it is automatic */ }

/* All the same stuff for Firefox */
input[type=range]::-moz-range-thumb { box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; border: 1px solid #FD8A52; height: 20px; width: 20px; border-radius: 10px; background: #ffffff; cursor: pointer; }

/* All the same stuff for IE */
input[type=range]::-ms-thumb { box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; border: 1px solid #000000; height: 36px; width: 16px; border-radius: 3px; background: #ffffff; cursor: pointer; }

.jump { display: none; }

.logo { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/logo-james-villas-2016.svg") no-repeat center center #003057; background-size: 80%; width: 120px; height: 50px; position: absolute; top: 0; left: 60px; line-height: 50px; z-index: 5; text-indent: -9000px; }
@media (min-width: 768px) { .logo { background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/logo-james-villas-2017.svg"); width: 225px; left: 20px; height: 80px; line-height: 150px; } }

@media (min-width: 1140px) { body:not(.booking):not(.partner):not(.header-snippet):not(.confirmation) .logo { height: 130px; width: 290px; left: 45px; z-index: 12; } }

@media (min-width: 1140px) { body.homepage:not(.menu-open):not(.partner):not(.header-snippet) .logo { width: 290px; height: 185px; background-size: 80%; } }

@media (min-width: 768px) { body.partner .logo, body.header-snippet .logo { width: 150px; } }
@media (min-width: 1140px) { body.partner .logo, body.header-snippet .logo { width: 175px; } }

.partner-logo, .header-snippet-device { position: absolute; top: 0; left: 185px; z-index: 5; }
@media (min-width: 768px) { .partner-logo, .header-snippet-device { left: 175px; } }
@media (min-width: 1140px) { .partner-logo, .header-snippet-device { left: 204px; } }

.partner-logo { font-size: 8px; line-height: 12px; text-transform: uppercase; text-align: center; margin-top: 5px; }
@media (min-width: 768px) { .partner-logo { font-size: 10px; margin-top: 14px; } }
.partner-logo span { display: none; }
@media (min-width: 768px) { .partner-logo span { display: block; margin-top: -9px; margin-bottom: 5px; } }
.partner-logo img { display: block; height: auto; width: auto; max-height: 40px; max-width: 145px; }
@media (min-width: 768px) { .partner-logo img { max-height: 50px; } }

.header { background: #ECEDED; height: 50px; width: 100%; position: absolute; font-size: 12px; z-index: 4; top: 0; }
@media (min-width: 768px) { .header { height: 80px; line-height: 80px; } }
@media (min-width: 1140px) { .header { font-size: 16px; } }

.header-declaration { position: fixed; top: 0; left: 0; right: 0; background-color: #25292C; padding: 5px; z-index: 100; text-align: center; color: #FFFFFF; border-bottom: 1px solid white; -webkit-transform: translate3d(0, -100%, 0); -ms-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); -webkit-transition: transform 300ms; transition: transform 300ms; }
.header-declaration.show { display: block; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.header-declaration > div { display: inline-block; }
@media (min-width: 768px) { .header-declaration > div { padding: 10px 150px 10px 10px; } }
.header-declaration > div a { color: #FFFFFF; text-decoration: underline; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
.header-declaration button { border: none; padding: 15px; background-color: transparent; font-size: 20px; display: block; margin: 0 auto; }
@media (min-width: 768px) { .header-declaration button { padding: 0 20px; position: absolute; top: 0; right: 0; height: 100%; } }
.header-declaration button span { font-size: 40px; line-height: 18px; vertical-align: top; }

.header-declaration[data-customer-popup='villas4you'] { background-color: #003057; }
@media (min-width: 480px) { .header-declaration[data-customer-popup='villas4you'] > div { padding-left: 63px; background: url("/images/jvh/ui/v4u-logo.png") no-repeat; background-size: contain; } }

.lt-ie10 .header-declaration { display: none; }

.non-uk-visitor { display: none; }

#modalContent div.non-uk-visitor { display: block; background-image: url("/images/jvh/ui/international-visitors-prompt.jpg"); background-position: bottom left; background-repeat: no-repeat; background-color: #81BBE5; background-size: contain; text-align: center; padding: 30px 15px 15px; }
#modalContent div.non-uk-visitor h2.heading-large { color: white; margin-bottom: 10px; }
#modalContent div.non-uk-visitor p { margin-bottom: 5px; }
#modalContent div.non-uk-visitor p.light-font { margin-bottom: 0; }
@media (min-width: 768px) { #modalContent div.non-uk-visitor { height: 100%; max-width: 610px; padding: 30px 20px; } }
#modalContent div.non-uk-visitor a.cta { margin: 20px 0 130px; }
@media (min-width: 480px) { #modalContent div.non-uk-visitor a.cta { margin: 20px 0 200px; } }

.dropdown:after { content: ''; background: url("/images/jvh/ui/drop-down-arrows.svg") no-repeat right -8px; margin: 0 0 0 8px; height: 8px; width: 14px; display: inline-block; vertical-align: 1%; -webkit-transition: transform 300ms; transition: transform 300ms; }

.active.dropdown:after { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }

.dropdown-white:after { content: ''; background: url("/images/jvh/ui/drop-down-arrow-white.svg") no-repeat center center; padding: 0 0 0 15px; height: 20px; width: 20px; display: inline-block; vertical-align: text-bottom; }

.dropdown-salmon:after { content: ''; background: url("/images/jvh/ui/drop-down-arrow-salmon.svg") no-repeat center center; padding: 0 0 0 15px; height: 20px; width: 20px; display: inline-block; vertical-align: text-bottom; }

button.menu { position: absolute; top: 0px; left: 0px; width: 60px; border: none; height: 50px; -webkit-backface-visibility: hidden; z-index: 9; background-color: #ECEDED; }
@media (min-width: 768px) { button.menu { display: none; } }

button.menu i, button.menu i:before, button.menu i:after { cursor: pointer; height: 5px; width: 30px; background: #FD8A52; position: absolute; display: block; content: ''; left: 15px; top: 22px; border-radius: 15px; -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; }
@media (min-width: 768px) { button.menu i, button.menu i:before, button.menu i:after { top: 38px; } }

button.menu i:before { top: -9px; left: 0px; }

button.menu i:after { top: 9px; left: 0px; }

.utility-open button.menu { left: -80%; -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; -webkit-backface-visibility: hidden; }

.menu-open button.menu { -webkit-transform: translate3d(265px, 0px, 0px); -ms-transform: translate3d(265px, 0px, 0px); transform: translate3d(265px, 0px, 0px); -webkit-transition: transform 300ms, background-color 300ms; transition: transform 300ms, background-color 300ms; width: 100%; background-color: #FFFFFF; z-index: 12; }
@media (min-width: 768px) { .menu-open button.menu { -webkit-transform: none; -ms-transform: none; transform: none; background-color: transparent; width: 60px; } }

.menu-open button.menu i { background: transparent; }

.menu-open button.menu i:before { top: 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

.menu-open button.menu i:after { top: 0; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

@media (min-width: 768px) { .partner nav.main ul.menu, .header-snippet nav.main ul.menu { padding: 0; } }
@media (min-width: 1140px) { .partner nav.main ul.menu, .header-snippet nav.main ul.menu { padding: 0 0 0 190px; } }

nav.main { position: absolute; background-color: #2E3235; top: 0; bottom: 0; float: left; width: 265px; height: 100%; padding: 50px 0 0 0; -webkit-backface-visibility: hidden; -webkit-transform: translate3d(-100%, 0, 0); -ms-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); z-index: 11; }
@media (min-width: 768px) { nav.main { left: 0; opacity: 0; width: 100%; padding: 0 0 0 335px; margin: 0; float: none; top: 80px; bottom: auto; height: 0; padding: 0; -webkit-transform: none; -ms-transform: none; transform: none; overflow: hidden; background-color: #FFFFFF; }
  nav.main:after { -webkit-transition: height 300ms ease-in-out; transition: height 300ms ease-in-out; content: ' '; position: absolute; top: 50px; left: 0; right: 0; height: 0; } }
@media (min-width: 768px) and (min-width: 1140px) { nav.main:after { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/menu-background.jpg") no-repeat left center #4E7980; background-size: cover; } }

nav.main div.heading { position: absolute; left: 0; top: 0; padding: 17px 20px; border-bottom: 1px solid white; width: 100%; color: white; }
@media (min-width: 768px) { nav.main div.heading { display: none; } }
nav.main div.menu { position: relative; overflow-x: hidden; height: calc(100% - 35px); -webkit-transition: margin-left 300ms ease-in-out; transition: margin-left 300ms ease-in-out; }
@media (min-width: 768px) { nav.main div.menu { height: 100%; overflow: visible; -webkit-transition: none; transition: none; } }
nav.main ul.menu { position: absolute; }
@media (min-width: 768px) { nav.main ul.menu { top: auto; margin: 0; padding: 0; width: 100%; max-width: 1900px; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-direction: normal; -webkit-box-orient: horizontal; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; overflow: visible; z-index: 2; } }
@media (min-width: 1140px) { nav.main ul.menu { padding: 0 0 0 345px; } }
nav.main ul.menu ul { position: absolute; top: 0; left: 265px; width: 100%; }
nav.main ul.menu li { text-align: left; display: none; }
@media (min-width: 768px) { nav.main ul.menu li { position: relative; padding: 0 10px; -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -moz-box-flex: 1; -moz-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; }
  nav.main ul.menu li.active > a { color: #000000; font-size: 15px; font-weight: normal; }
  nav.main ul.menu li.active > a:before { content: " "; position: absolute; bottom: -10px; left: 40%; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid white; }
  nav.main ul.menu li ul { display: none; } }
@media (min-width: 1140px) { nav.main ul.menu li { border: 1px solid #FFFFFF; }
  nav.main ul.menu li.active { border-color: #DCDCDC; }
  nav.main ul.menu li.active > a:before { display: none; } }
nav.main ul.menu li > a { font-size: 16px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; line-height: 20px; display: block; text-decoration: none; color: #FFFFFF; padding: 10px 20px; width: 265px; -webkit-transition: color 300ms ease-in-out, font-size 300ms ease-in-out; transition: color 300ms ease-in-out, font-size 300ms ease-in-out; }
nav.main ul.menu li > a:hover { background-color: #FFFFFF; color: #FD8A52; }
@media (min-width: 768px) { nav.main ul.menu li > a span { display: none; } }
@media (min-width: 1140px) { nav.main ul.menu li > a span.desktop { display: inline; } }
@media (min-width: 768px) { nav.main ul.menu li > a { align-items: center; color: #000000; display: block; font-size: 13px; padding: 0; line-height: 35px; height: 35px; text-align: center; justify-content: center; color: #003057; white-space: nowrap; overflow: hidden; width: auto; }
  nav.main ul.menu li > a:hover { background-color: #FFFFFF; color: #FD8A52; } }
@media (min-width: 1140px) { nav.main ul.menu li > a { line-height: 48px; height: 48px; } }
@media (min-width: 850px) { nav.main ul.menu li > a { text-transform: uppercase; } }
@media (min-width: 1140px) { nav.main ul.menu li > a { text-transform: none; } }
@media (min-width: 1400px) { nav.main ul.menu li > a { text-transform: uppercase; font-size: 15px; } }
nav.main ul.menu > li { display: block; }
nav.main ul.menu > li li > a { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
nav.main ul.menu > li li:first-child > a { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
nav.main ul.menu > li li:first-child > a:before { background: url("/images/jvh/ui/cta-arrow.svg") no-repeat right center; height: 19px; width: 15px; vertical-align: bottom; display: inline-block; content: " "; -webkit-transform: scaleX(-1); -ms-transform: scaleX(-1); transform: scaleX(-1); }
nav.main ul.menu > li li:first-child > a:hover:before { background: url("/images/jvh/ui/cta-arrow-std.svg") no-repeat right center; }
@media (min-width: 1140px) and (min-height: 770px) { nav.main { opacity: 1; } }
nav.main.active ul.menu li { border-bottom: 1px solid #E8E8E8; }

.lt-ie10 nav.main { display: none; }
@media (min-width: 768px) { .lt-ie10 nav.main { display: block; } }
.lt-ie10 nav.main ul.menu li { display: inline-block; width: 100%; }
@media (min-width: 768px) { .lt-ie10 nav.main ul.menu li { width: auto; } }

.menu-open nav.main { -webkit-transform: none; -ms-transform: none; transform: none; -webkit-box-shadow: 0px 5px 10px 0px rgba(102,102,102,0.25); -moz-box-shadow: 0px 5px 10px 0px rgba(102,102,102,0.25); box-shadow: 0px 5px 10px 0px rgba(102,102,102,0.25); }
.menu-open nav.main:after { height: 500px; }
.menu-open nav.main ul.menu li { border-bottom-color: #DCDCDC; }
.menu-open nav.main ul.menu li.active { border-bottom: none; }
.menu-open nav.main ul.menu:before { border-bottom-color: #DCDCDC; }

.menu-open.filters-active nav.main { -webkit-box-shadow: 0 0 0 0 rgba(0,0,0,0); -moz-box-shadow: 0 0 0 0 rgba(0,0,0,0); box-shadow: 0 0 0 0 rgba(0,0,0,0); }

@media (min-width: 768px) { .show-menu nav.main { opacity: 1; height: 35px; } }
@media (min-width: 1140px) { .show-menu nav.main { height: 50px; } }

@media (min-width: 768px) { .show-menu.menu-open nav.main { overflow: visible; } }
.lt-ie10 .menu-open nav.main { display: block; }

.utility-open nav.main { display: none; }

.big-menu { display: none; }

.big-menu.active { position: absolute; top: 0; left: 30%; width: 40%; height: 100%; background-color: #ECEDED; }
.big-menu.active h1 { font-size: 20px; margin: 0 0 10px 0; text-transform: uppercase; }
.big-menu.active h2 { font-size: 20px; margin: 0 0 10px 0; }
.big-menu.active:before, .big-menu.active:after { content: ' '; display: block; width: 20px; height: 20px; background-color: #FFFFFF; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: calc(50% - 10px); left: -10px; z-index: 1; }
.big-menu.active:after { left: calc(108% - 10px); }
@media (min-width: 768px) { .big-menu.active { display: none; top: 41px; left: 0; background-color: #ffffff; height: 0; padding: 20px; overflow: hidden; opacity: 1; z-index: 1; width: 100%; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active { top: 49px; width: 1140px; border: none; }
  .big-menu.active.animate { -webkit-transition: height 300ms ease-in-out; transition: height 300ms ease-in-out; } }
@media (min-width: 768px) { .big-menu.active.active { display: inherit; opacity: 1; height: 500px; left: 346px; }
  .big-menu.active .chevron-link.right { display: block; float: right; margin: 0 0 15px 0; }
  .big-menu.active .snap { -webkit-transition: transform 0.9s ease-out; transition: transform 0.9s ease-out; }
  .big-menu.active .countries-container { position: absolute; top: 0; left: 0; right: 0; padding: 20px 20px 20px 20px; overflow: hidden; width: 100%; transition: opacity 0.6s, transform 0.6s; z-index: 1; }
  .big-menu.active .countries-container.animate-out { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); -ms-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); }
  .big-menu.active .regions-container { position: absolute; top: 0; left: 0; right: 0; padding: 20px 20px 20px 20px; width: 100%; height: 0; margin: 0 0 0 0; opacity: 0; -webkit-transform: scale(0.75); -ms-transform: scale(0.75); transform: scale(0.75); -webkit-transition: opacity 0.3s, transform 0.3s ease-in-out, height 0s 0.3s; transition: opacity 0.3s, transform 0.3s ease-in-out, height 0s 0.3s; }
  .big-menu.active .regions-container.animate-in { height: 500px; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -webkit-transition: opacity 0.3s ease-in-out 0.1s, transform 0.3s ease-in-out 0.1s; transition: opacity 0.3s ease-in-out 0.1s, transform 0.3s ease-in-out 0.1s; z-index: 1; opacity: 1; }
  .big-menu.active .regions-container .country-panel { display: block; float: left; width: 170px; height: 100%; text-align: center; padding: 30px 0 0 0; }
  .big-menu.active .regions-container .country-panel a.country-image { display: block; height: 345px; background-size: cover; background-position: center top; background-repeat: no-repeat; padding-top: 310px; color: #FFFFFF; font-size: 20px; overflow: hidden; text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.75); }
  .big-menu.active .regions-container .country-panel p { padding: 13px 0; }
  .big-menu.active .destinations { position: static; margin: 0 -5px; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-direction: normal; -webkit-box-orient: horizontal; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; }
  .big-menu.active .destinations.regions { width: calc(100% - 180px); height: 445px; float: right; }
  .big-menu.active .destinations.regions > li { background-position: center center; height: auto; margin: 0 10px 10px 0; width: 25%; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .destinations.regions > li { min-width: 220px; max-width: 220px; } }
@media (min-width: 768px) { .big-menu.active .destinations.regions > li:before { top: 40px; }
  .big-menu.active .destinations.regions > li > span { bottom: 32px; }
  .big-menu.active .destinations.regions > li > span > span { font-size: 16px; }
  .big-menu.active .destinations.regions > li.active > span { -webkit-transform: translate3d(0, 10%, 0); -ms-transform: translate3d(0, 10%, 0); transform: translate3d(0, 10%, 0); }
  .big-menu.active .destinations.countries { display: block; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; height: 415px; }
  .big-menu.active .destinations.countries > li:hover > span { -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); bottom: -10px; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .destinations.countries > li:hover > span { bottom: 0; } }
@media (min-width: 768px) { .big-menu.active .destinations.countries > li:hover > span > a { padding: 60px 0 0 0; }
  .big-menu.active .destinations ul { display: none; }
  .big-menu.active .destinations p a { display: table; margin: 0 auto 0 auto; }
  .big-menu.active .destinations > li { -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -moz-box-flex: 1; -moz-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; cursor: pointer; height: 220px; background-repeat: no-repeat; background-size: cover; overflow: hidden; position: relative; height: auto; border-top: none; border-bottom: none; background-position: center -40px; margin: 5px; width: 23%; }
  .big-menu.active .destinations > li.feature { width: 48%; } }
@media (min-width: 768px) and (min-width: 850px) { .big-menu.active .destinations > li { background-position: center center; width: 13%; }
  .big-menu.active .destinations > li.feature, .big-menu.active .destinations > li.feature-more { width: 30%; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .destinations > li { background-position: center -40px; width: 13%; }
  .big-menu.active .destinations > li.feature, .big-menu.active .destinations > li.feature-more { width: 30%; } }
@media (min-width: 768px) { .big-menu.active .destinations > li.dummy { cursor: default; filter: none; }
  .big-menu.active .destinations > li.dummy:before { background: none; }
  .big-menu.active .destinations > li:before { content: ' '; position: absolute; top: 40px; left: 0; right: 0; bottom: 0; background: transparent; background: -webkit-linear-gradient(legacy-direction(to bottom), transparent 30%, rgba(0, 0, 0, 0.85) 100%); background: linear-gradient(to bottom, transparent 30%, rgba(0, 0, 0, 0.85) 100%); pointer-events: none; }
  .big-menu.active .destinations > li > span { display: block; color: #FFFFFF; text-align: center; position: absolute; left: 0; right: 0; bottom: 45px; -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; -webkit-transform: translate3d(0, 100%, 0); -ms-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }
  .big-menu.active .destinations > li > span p { width: 100%; text-align: center; font-size: 13px; padding: 13px 0 13px 0; background-color: #FFFFFF; color: #000000; }
  .big-menu.active .destinations > li > span > span { color: #FFFFFF; display: block; padding: 0 0 15px 0; line-height: 30px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 17px; text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.75); background: transparent; background: -webkit-linear-gradient(legacy-direction(to bottom), transparent 30%, rgba(0, 0, 0, 0.85) 100%); background: linear-gradient(to bottom, transparent 30%, rgba(0, 0, 0, 0.85) 100%); }
  .big-menu.active#menuVillaCollection ul { overflow: hidden; }
  .big-menu.active#menuVillaCollection button.back { display: none; }
  .big-menu.active .collections { position: absolute; top: 70px; width: calc(74% - 20px); margin: 16px 0 0 0; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .big-menu.active .collections.animate-out { opacity: 0; -webkit-transform: translate3d(0, -200%, 0); -ms-transform: translate3d(0, -200%, 0); transform: translate3d(0, -200%, 0); }
  .big-menu.active .collections.animate-in { -webkit-transition: opacity 1s; transition: opacity 1s; opacity: 1; }
  .big-menu.active .collections li { width: calc(33.333% - 12px); display: inline-block; float: left; margin: 0 0 12px 0; overflow: hidden; position: relative; height: 191px; background-size: cover; background-position: center center; position: relative; }
  .big-menu.active .collections li:after { position: absolute; left: 0; right: 0; content: ''; bottom: 0px; height: 50%; z-index: 1; background: rgba(0, 0, 0, 0.66); background: -webkit-linear-gradient(legacy-direction(transparent), rgba(0, 0, 0, 0.66)); background: linear-gradient(transparent, rgba(0, 0, 0, 0.66)); }
  .big-menu.active .collections li .badge { height: 16px; width: 95px; padding: 0; } }
@media (min-width: 768px) and (min-width: 850px) { .big-menu.active .collections li .badge { height: 25px; width: 140px; padding: 5px 0; } }
@media (min-width: 768px) { .big-menu.active .collections li.collection-1 { background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-collection/assets/tile-thumbnail-simply.jpg"); }
  .big-menu.active .collections li.collection-2 { background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-collection/assets/tile-thumbnail-classic.jpg"); }
  .big-menu.active .collections li.collection-3 { background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-collection/assets/tile-thumbnail-signature.jpg"); }
  .big-menu.active .collections li.collection-4 { background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-collection/assets/tile-thumbnail-luxury.jpg"); }
  .big-menu.active .collections li.collection-5 { background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-collection/assets/tile-thumbnail-ultimate.jpg"); }
  .big-menu.active .collections li.collection-6 { background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-collection/assets/tile-thumbnail-individual.jpg"); }
  .big-menu.active .collections li a { display: block; width: 100%; height: 100%; }
  .big-menu.active .james-recommends-list { position: absolute; width: calc(74% - 20px); height: 395px; padding: 20px 0px 20px 0px; top: 200%; margin: 16px 0 0 0; }
  .big-menu.active .james-recommends-list.animate-out { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); -ms-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); }
  .big-menu.active .james-recommends-list.animate-in { -webkit-transition: opacity 1s; transition: opacity 1s; opacity: 1; top: 70px; }
  .big-menu.active .james-recommends-list li { width: 25%; float: left; background: #FFFFFF; height: 25%; font-size: 11px; position: relative; border-left: none; padding: 0; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .james-recommends-list li { font-size: 13px; } }
@media (min-width: 768px) { .big-menu.active .james-recommends-list li:after { content: ''; width: 90%; position: absolute; bottom: 1px; background: #E3E3E3; height: 1px; left: 5%; }
  .big-menu.active .james-recommends-list li:nth-child(n+13):after { height: 0; }
  .big-menu.active .james-recommends-list li:nth-child(4n-8) a:after { width: 0; }
  .big-menu.active .james-recommends-list li a { color: #000000; display: block; height: 100%; padding: 22px 10px 0 52px; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .james-recommends-list li a { padding: 25px 20px 0 80px; } }
@media (min-width: 768px) { .big-menu.active .james-recommends-list li a:after { content: ''; width: 1px; height: 90%; background: #E3E3E3; position: absolute; right: 0%; top: 5%; }
  .big-menu.active .james-recommends-list li a span { text-align: left; color: #000000; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 11px; line-height: 11px; text-transform: none; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .james-recommends-list li a span { font-size: 13px; line-height: 13px; } }
@media (min-width: 768px) { .big-menu.active .james-recommends-list li a span.chevron-link:after { content: ''; }
  .big-menu.active .hr-collection { float: right; clear: right; width: calc(25% - 20px); background: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-collection/assets/tile-thumbnail-hr.jpg") no-repeat center center; height: 191px; margin: 6px 0 12px 0; position: relative; }
  .big-menu.active .hr-collection li { width: 100%; height: 100%; }
  .big-menu.active .hr-collection li div { position: absolute; bottom: 0px; left: 0px; width: 100%; padding: 15px 10px; color: #FFFFFF; text-align: center; }
  .big-menu.active .hr-collection li div h2 { text-align: center; margin: 0 0 4px 0; }
  .big-menu.active .hr-collection li div h2:before { content: ''; width: 45px; height: 35px; background: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-category-tabs/hr-label.svg") no-repeat; background-size: cover; margin: 0 auto 10px auto; display: block; }
  .big-menu.active .hr-collection li div h2 a { color: #FFFFFF; }
  .big-menu.active .hr-collection li div p { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; margin: 0 0 4px 0; }
  .big-menu.active .jr-menu-trigger { clear: right; float: right; width: calc(25% - 20px); background: url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-collection/assets/tile-thumbnail-jr-small.jpg") no-repeat center center; background-size: cover; height: 191px; margin: 0 0 0 0; position: relative; cursor: pointer; -webkit-transition: all 300ms; transition: all 300ms; }
  .big-menu.active .jr-menu-trigger.active { height: 360px; margin: 6px 0 0 0; -webkit-transition: all 300ms; transition: all 300ms; }
  .big-menu.active .jr-menu-trigger.active + a { display: block; }
  .big-menu.active .jr-menu-trigger div { position: absolute; bottom: 0px; left: 0px; width: 100%; padding: 15px 10px; color: #FFFFFF; text-align: center; } }
@media (min-width: 768px) and (min-width: 850px) { .big-menu.active .jr-menu-trigger div { padding: 15px 20px; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .jr-menu-trigger div { padding: 15px; } }
@media (min-width: 768px) { .big-menu.active .jr-menu-trigger div h2 { text-align: center; margin: 0 0 4px 0; }
  .big-menu.active .jr-menu-trigger div p { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; margin: 0 0 4px 0; }
  .big-menu.active .jr-menu-trigger + a { position: absolute; bottom: 25px; right: 5px; display: none; width: 25%; text-align: center; font-size: 14px; }
  .big-menu.active .deals-display { width: 33%; float: left; }
  .big-menu.active .deals-display .lates-menu-list li { cursor: pointer; margin: 0 0 15px 0; background: url("/images/jvh/ui/cta-arrow-std.svg") right center no-repeat; padding: 0 20px 0 0; }
  .big-menu.active .deals-display .lates-menu-list li img { float: left; margin: 0 6px 10px 0; border-width: 4px; }
  .big-menu.active .deals-display .lates-menu-list li h2 { font-size: 14px; margin: 0 0 2px 0; line-height: 14px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; }
  .big-menu.active .deals-display .lates-menu-list li h3 { font-size: 12px; margin: 0 0 2px 0; line-height: 14px; }
  .big-menu.active .deals-display .lates-menu-list li p { font-size: 11px; margin: 0 0 2px 0; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; line-height: 14px; }
  .big-menu.active .deals-display .lates-menu-list li p.price { text-transform: uppercase; margin: 11px 0 0 0; font-size: 10px; }
  .big-menu.active .deals-display .lates-menu-list li p.price span { font-size: 20px; color: #FD8A52; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
  .big-menu.active .deals-display .lates-menu-list li p.price span span { font-size: 10px; text-transform: lowercase; color: #000000; }
  .big-menu.active .deals-display p.caveat { font-size: 13px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
  .big-menu.active .deals-display p.caveat a { font-size: 16px; margin: 10px auto; }
  .big-menu.active .deals-display p.caveat a span { display: none; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .deals-display p.caveat a { margin-top: 20px; }
  .big-menu.active .deals-display p.caveat a span { display: inline; } }
@media (min-width: 768px) { .big-menu.active .offers-comp-pick { width: calc(67% - 20px); float: right; }
  .big-menu.active .offers-comp-pick > ul > li { width: calc(100% - 20px); float: left; height: 170px; margin: 0 0 29px 20px; overflow: visible; }
  .big-menu.active .offers-comp-pick > ul > li:nth-child(even) { display: none; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .offers-comp-pick > ul > li { width: calc(50% - 20px); }
  .big-menu.active .offers-comp-pick > ul > li:nth-child(even) { display: flex; } }
@media (min-width: 768px) { .big-menu.active .holiday-idea-cats { width: 75%; float: left; padding: 20px 10px; height: 400px; background: #EEEEEE; }
  .big-menu.active .holiday-idea-cats > li { width: calc(33.3% - 20px); float: left; text-align: center; margin: 0 10px; }
  .big-menu.active .holiday-idea-cats > li ul { height: 350px; }
  .big-menu.active .holiday-idea-cats > li ul li.intro-block { height: 210px; color: #FFFFFF; position: relative; background-position: center center; background-size: cover; margin: 0 0 10px 0; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .holiday-idea-cats > li ul li.intro-block { height: 240px; } }
@media (min-width: 768px) { .big-menu.active .holiday-idea-cats > li ul li.intro-block:after { content: ''; width: 100%; height: 100%; bottom: 0px; position: absolute; left: 0; background: rgba(0, 0, 0, 0.66); background: -webkit-linear-gradient(legacy-direction(transparent), rgba(0, 0, 0, 0.66)); background: linear-gradient(transparent, rgba(0, 0, 0, 0.66)); }
  .big-menu.active .holiday-idea-cats > li ul li.intro-block div { position: absolute; bottom: 0px; width: 100%; left: 0px; padding: 0 10px 0 10px; z-index: 1; }
  .big-menu.active .holiday-idea-cats > li ul li h2 { font-size: 16px; line-height: 20px; }
  .big-menu.active .holiday-idea-cats > li ul li p { font-size: 13px; line-height: 17px; margin: 0 0 10px 0; display: none; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .holiday-idea-cats > li ul li p { display: block; } }
@media (min-width: 768px) { .big-menu.active .holiday-idea-cats > li ul li a { font-size: 12px; color: #000000; text-decoration: underline; }
  .big-menu.active .holiday-idea-feats { width: 23%; float: right; height: 400px; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .holiday-idea-feats { width: calc(25% - 10px); } }
@media (min-width: 768px) { .big-menu.active .holiday-idea-feats li { padding: 0 0 10px 0; border-bottom: 1px solid #EEEEEE; margin: 0 0 10px 0; }
  .big-menu.active .holiday-idea-feats li:last-child { border-bottom: none; }
  .big-menu.active .holiday-idea-feats li h2 { font-size: 16px; line-height: 20px; }
  .big-menu.active .holiday-idea-feats li p { font-size: 12px; line-height: 14px; margin: 0 0 10px 0; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .holiday-idea-feats li p { font-size: 13px; line-height: 17px; } }
@media (min-width: 768px) { .big-menu.active .recommendation-col { float: left; width: calc(100% - 300px); height: 387px; background: url("https://i.jamesvillas.co.uk/images/jvh/ui/menu/htwyli/app-content-hero.jpg") left top no-repeat; } }
@media (min-width: 768px) and (min-width: 850px) { .big-menu.active .recommendation-col.tv-advert { background: none; } }
@media (min-width: 768px) { .big-menu.active .recommendation-col iframe { display: none; } }
@media (min-width: 768px) and (min-width: 850px) { .big-menu.active .recommendation-col iframe { display: block; float: left; width: calc(100% - 315px); } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .recommendation-col iframe { width: calc(100% - 335px); } }
@media (min-width: 768px) { .big-menu.active .recommendation-col div { background: #FFFFFF; padding: 0 20px 0 0; float: right; height: 387px; width: 100%; } }
@media (min-width: 768px) and (min-width: 850px) { .big-menu.active .recommendation-col div { padding: 0 10px 0 10px; width: 310px; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .recommendation-col div { padding: 0 20px 0 20px; width: 330px; } }
@media (min-width: 768px) { .big-menu.active .recommendation-col div p { line-height: 16px; margin: 0 0 20px 0; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
  .big-menu.active .recommendation-col div ul { overflow: hidden; }
  .big-menu.active .recommendation-col div ul li { width: 50%; display: inline-block; float: left; line-height: 24px; margin: 0 0 15px 0; font-size: 14px; }
  .big-menu.active .recommendation-col div ul li:last-child { width: 100%; }
  .big-menu.active .recommendation-col div ul li:before { content: ''; width: 24px; height: 25px; background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/map/mapsprite2.svg"); background-repeat: no-repeat; background-size: 1900%; float: left; }
  .big-menu.active .recommendation-col div ul li.activities:before { background-position: -96px 0px; }
  .big-menu.active .recommendation-col div ul li.restaurants:before { background-position: -24px 0px; }
  .big-menu.active .recommendation-col div ul li.bars-nightlife:before { background-position: 0px 0px; }
  .big-menu.active .recommendation-col div ul li.shopping:before { background-position: -48px 0px; }
  .big-menu.active .recommendation-col div ul li.beaches:before { background-position: -120px 0px; }
  .big-menu.active .recommendation-col div ul li.holiday-snaps:before { background-position: -144px 0px; }
  .big-menu.active .recommendation-col div ul li.place-of-interest:before { background-position: -72px 0px; }
  .big-menu.active .recommendation-aside { float: right; text-align: center; width: 300px; }
  .big-menu.active .recommendation-aside .impulse { display: block; margin: 0 0 10px 0; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; font-size: 25px; }
  .big-menu.active .recommendation-aside .impulse span { text-transform: uppercase; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
  .big-menu.active .recommendation-aside .impulse.app { padding: 60px 160px 10px 10px; height: 145px; background: url("https://i.jamesvillas.co.uk/images/jvh/ui/menu/htwyli/impulse-travellers-app.jpg") no-repeat; color: #FFFFFF; }
  .big-menu.active .recommendation-aside .impulse.app span { display: block; }
  .big-menu.active .recommendation-aside .impulse.mag { padding: 10px 10px 10px 10px; height: 177px; background: url("https://i.jamesvillas.co.uk/images/jvh/ui/menu/htwyli/impulse-magazine-download.jpg") no-repeat; text-align: left; }
  .big-menu.active .recommendation-aside ul { display: inline-block; margin: 0 0 20px 0; }
  .big-menu.active .recommendation-aside ul li { display: inline; text-transform: uppercase; border-right: 1px solid #FD8A52; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; padding: 0 6px 0 2px; font-size: 14px; margin: 0; }
  .big-menu.active .recommendation-aside ul li:last-child { border-right: none; }
  .big-menu.active .about-list li { width: 50%; float: left; cursor: pointer; padding: 0 20px 0 0; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .about-list li { width: 33.33%; margin-bottom: 33px; } }
@media (min-width: 768px) { .big-menu.active .about-list li h3 { font-size: 15px; margin: 0; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .about-list li h3 { margin-bottom: 9px; } }
@media (min-width: 768px) { .big-menu.active .about-list li p { font-size: 11px; line-height: 16px; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .about-list li p { font-size: 12px; } }
@media (min-width: 768px) { .big-menu.active .about-list li.press-centre { display: none; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .about-list li.press-centre { display: block; } }
@media (min-width: 768px) { .big-menu.active .about-list li:before { content: ''; float: left; width: 90px; height: 90px; margin: 0 15px 15px 0; } }
@media (min-width: 768px) and (min-width: 1140px) { .big-menu.active .about-list li:before { width: 101px; height: 101px; maring: 0 20px 10px 0; } }
@media (min-width: 768px) { .big-menu.active .about-list li.our-history:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-our-history.svg") no-repeat center #E15E81; }
  .big-menu.active .about-list li.charity:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-charity.svg") no-repeat center #477E93; }
  .big-menu.active .about-list li.wyndham-family:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-wyndham-family.svg") no-repeat center #5998CD; }
  .big-menu.active .about-list li.atol-abta:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-atol-abta.svg") no-repeat center #AC8097; }
  .big-menu.active .about-list li.green-scheme:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-green-scheme.svg") no-repeat center #ACD2A3; }
  .big-menu.active .about-list li.affiliates:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-affiliates.svg") no-repeat center #F1BE7C; }
  .big-menu.active .about-list li.careers:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-careers.svg") no-repeat center #477E93; }
  .big-menu.active .about-list li.press-centre:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-press-centre.svg") no-repeat center #D24D4E; }
  .big-menu.active .about-list li.why-book:before { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/icon-about-why-book.svg") no-repeat center #304D5B; } }

@media (min-width: 768px) { .lt-ie10 .big-menu .destinations li { filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); }
  .lt-ie10 .big-menu .destinations li > span { bottom: 0; }
  .lt-ie10 .big-menu .destinations li > span > p { display: none; }
  .lt-ie10 .big-menu .destinations > li, .lt-ie10 .big-menu .destinations .regions > li { float: left; margin: 0 5px 5px 0; height: 132px; }
  .lt-ie10 .big-menu .destinations .regions > li { height: 82px; } }
button.utility { position: absolute; background: url("/images/jvh/ui/icon-mobile-user-menu-2017.svg") no-repeat; text-indent: 9999px; white-space: nowrap; overflow: hidden; top: 0px; right: 13px; border: 0; display: block; width: 50px; height: 50px; -webkit-backface-visibility: hidden; z-index: 11; transition: right 300ms; }
@media (min-width: 768px) { button.utility { background-image: none; transition: none; } }

.utility-open button.utility { padding: 6px 0px; background-color: #FFFFFF; right: 80%; width: 100%; background-position-x: right; z-index: 11; top: 0px; height: 50px; transition: ease-in-out 300ms; }
@media (min-width: 768px) { .utility-open button.utility { display: none; } }

@media (max-width: 767px) { .utility-open button.utility { padding: 6px 0px; right: 80%; width: 100%; border-right: 5px solid #fff; background-position-x: right; z-index: 11; top: 0px; height: 50px; transition: ease-in-out 300ms; background: #fff; }
  .utility-open button.utility::after { content: ""; display: inline-block; background: #fff url("/images/jvh/ui/icon-mobile-user-menu.svg") no-repeat; height: 27px; width: 38px; top: 12px; right: 0; position: absolute; } }

.utility-nav { position: fixed; -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; -webkit-backface-visibility: hidden; -webkit-transform: translate(100%, 0px); -ms-transform: translate(100%, 0px); transform: translate(100%, 0px); -webkit-transform: translate3d(100%, 0px, 0px); -ms-transform: translate3d(100%, 0px, 0px); transform: translate3d(100%, 0px, 0px); padding: 50px 0 0 0; width: 80%; top: 0; right: 0; bottom: 0; background-color: #FFFFFF; z-index: 10; -webkit-transition: ease-in-out 300ms; transition: ease-in-out 300ms; }
.utility-nav .utility-close { display: block; margin-top: 5px; margin-right: 5px; }
@media (min-width: 768px) { .utility-nav { position: absolute; top: auto; left: auto; bottom: auto; padding: 0; display: block; width: auto; z-index: 12; -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); background-color: transparent; }
  .utility-nav .utility-close { display: none; } }
@media (min-width: 1140px) { .utility-nav { -webkit-transition: none; transition: none; } }

.utility-nav > ul { float: right; margin: 0 10px 0 0; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-direction: normal; -webkit-box-orient: vertical; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; flex-direction: column; width: 100%; margin: 0; padding: 0 10px 0 10px; }
.utility-nav > ul > li.currency-section { -webkit-box-ordinal-group: 3; -webkit-order: 2; -moz-order: 2; -ms-flex-order: 2; order: 2; }
@media (min-width: 768px) { .utility-nav > ul { float: left; margin: 45px 0 0 0; display: block; padding: 0px; } }

.utility-open .utility-nav { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transition: all 240ms ease-in-out; transition: all 240ms ease-in-out; -webkit-backface-visibility: hidden; box-shadow: inset 7px 0px 9px -6px rgba(0, 0, 0, 0.8); }

.utility-nav > ul li.account-section { border-bottom: 1px solid #E1E1E1; padding-bottom: 15px; }
@media (min-width: 768px) { .utility-nav > ul li.account-section { border-bottom: none; padding-bottom: 0px; } }

.utility-nav > ul li.help-and-advice-section { padding: 15px 0px 15px 0px; }
@media (min-width: 768px) { .utility-nav > ul li.help-and-advice-section { padding: 0px; } }

.utility-nav > ul > li { line-height: 30px; text-align: right; font-size: 15px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .utility-nav > ul > li { display: inline-block; position: relative; float: left; text-align: center; line-height: 20px; font-size: 15px; }
  .utility-nav > ul > li:last-child { text-align: right; } }
@media (min-width: 1140px) { .utility-nav > ul > li { line-height: 30px; height: 35px; } }

@media (min-width: 1140px) { .utility-nav > ul > li:first-child > a, .utility-nav > ul > li:first-child > ul { width: 100%; } }
.utility-nav ul li.active .dropdown:after { display: none; }
@media (min-width: 768px) { .utility-nav ul li.active .dropdown:after { display: inline-block; transform: rotate(180deg); background-position: right 1px; } }

@media (min-width: 768px) { .utility-nav ul li.pipe:after { content: '|'; color: #000000; position: absolute; right: 0; top: 0; } }
.utility-nav ul li ul li a { display: none; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; color: #000000; padding: 0px 5px 0px 5px; }
.utility-nav ul li ul li a.required-utility-mobile { display: block; }
.utility-nav ul li ul li a.required-currency-mobile { display: block; font-size: 15px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
.utility-nav ul li ul li.currency-option { display: inline-block; }
.utility-nav ul li ul li.currency-option a { font-size: 13px; line-height: 15px; }
.utility-nav ul li ul li.currency-option a.required-currency-mobile input.currency-radio { display: inline; margin-right: 5px; font-size: 13px; }
@media (min-width: 768px) { .utility-nav ul li ul li.currency-option { display: block; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
  .utility-nav ul li ul li.currency-option a.required-currency-mobile .radio-replacement, .utility-nav ul li ul li.currency-option a.required-currency-mobile .radio-replacement.selected { display: none; }
  .utility-nav ul li ul li a { display: block; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; padding: 10px 20px 10px 20px; }
  .utility-nav ul li ul li a.required-currency-mobile { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; padding: 10px 20px 10px 20px; line-height: 24px; font-size: 14px; } }

.utility-nav ul li.active ul { display: block; min-width: 100%; top: 30px; }

.lt-ie10 .utility-nav ul li.active ul { opacity: 1; }

.utility-nav > ul > li > a { padding: 0 5px 0 5px; color: #000000; font-size: 14px; }
@media (min-width: 768px) { .utility-nav > ul > li > a { font-size: 15px; white-space: nowrap; display: inline-block; display: block; padding: 0 10px 0 6px; float: left; }
  .utility-nav > ul > li > a.currency { overflow: visible; text-align: right; padding: 0 20px; }
  .utility-nav > ul > li > a span { display: none; } }
@media (min-width: 1140px) { .utility-nav > ul > li > a span { display: inline; } }
@media (min-width: 1400px) { .utility-nav > ul > li > a { padding: 0 20px 0 20px; } }

.utility-nav > ul > li.currency-section > a { display: none; }
@media (min-width: 768px) { .utility-nav > ul > li.currency-section > a { display: block; } }

.utility-nav > ul > li > a.currency span { display: none; }
@media (min-width: 1140px) { .utility-nav > ul > li > a.currency span { display: inline; } }

.utility-nav > ul > li > a.dropdown > { display: none; }
@media (min-width: 768px) { .utility-nav > ul > li > a.dropdown > { display: block; } }

.utility-nav > ul > li > span.mobile-currency-heading { display: block; font-size: 13px; height: 28px; font-weight: 600; }
@media (min-width: 768px) { .utility-nav > ul > li > span.mobile-currency-heading { display: none; } }

.utility-nav > ul > li > a.account { display: none; }
@media (min-width: 1140px) { .utility-nav > ul > li > a.account { display: block; padding: 0 20px 0 5px; max-width: 300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }

@media (min-width: 768px) { .utility-nav > ul ul { display: none; opacity: 0; -webkit-animation: 0.2s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.2s ease-in-out 0s fadeIn; animation-fill-mode: both; background-color: #ECEDED; position: absolute; right: 0; white-space: nowrap; } }
@media (min-width: 1140px) { .utility-nav > ul ul { top: 30px; } }

.utility-nav > ul ul li { display: block; float: none; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 14px; }
@media (min-width: 768px) { .utility-nav > ul ul li { white-space: nowrap; line-height: 24px; display: block; } }

.utility-nav > ul ul li:hover { background-color: #FFFFFF; }

.utility-nav a.dropdown:after { display: none; }

@media (min-width: 768px) { .utility-nav a.dropdown:after { display: inline-block; }
  .utility-nav a:hover, .utility-nav ul ul li:hover a, .utility-nav li:hover > a { color: #FD8A52; } }
@media (min-width: 768px) { .utility-nav ul ul li a { color: #000000; float: none; display: block; padding: 10px 20px 10px 20px; } }

.utility-nav .flag-uk, .utility-nav .flag-euro { background: url("/images/jvh/ui/icon-flags.svg") no-repeat 0 0; width: 25px; height: 14px; display: inline-block; vertical-align: sub; display: none; }
@media (min-width: 768px) { .utility-nav .flag-uk, .utility-nav .flag-euro { display: inline-block; } }
@media (min-width: 1140px) { .utility-nav .flag-uk, .utility-nav .flag-euro { margin: 0 10px 0 0; } }

.utility-nav .flag-uk { background-position: 0 -14px; }

.utility-nav ul ul li .flag-uk, .utility-nav ul ul li .flag-euro { margin: 0 6px 0 0; }

.utility-nav > ul ul li.currency-section { display: inline; }
@media (min-width: 768px) { .utility-nav > ul ul li.currency-section { display: none; } }

.utility-nav .contact-us { display: none; font-size: 18px; position: absolute; right: 15px; top: 15px; white-space: nowrap; }
@media (min-width: 768px) { .utility-nav .contact-us { display: block; } }
@media (min-width: 1140px) { .utility-nav .contact-us { font-size: 22px; right: 20px; top: 18px; } }
.utility-nav .contact-us a { margin-left: 6px; }
.utility-nav .contact-us a.tel { color: #000000; }
.utility-nav .contact-us a.open { font-size: 15px; }
@media (min-width: 1140px) { .utility-nav .contact-us a.open { font-size: 18px; } }

.utility-nav > form.quick-search { margin: 10px 10px 10px 10px; }
@media (min-width: 768px) { .utility-nav > form.quick-search { margin: 15px 15px 15px 15px; float: right; clear: none; } }

@media (min-width: 768px) { .utility-nav > form.quick-search input { width: 180px; } }
@media (min-width: 1140px) { .utility-nav > form.quick-search input { width: 200px; } }
@media (min-width: 1400px) { .utility-nav > form.quick-search input { width: 260px; } }

.utility-nav .avatar { width: 35px; height: 35px; margin: 10px 0 0 0; border-radius: 50%; cursor: pointer; }
@media (min-width: 768px) { .utility-nav .avatar { margin: -8px 20px 0 20px; } }
@media (min-width: 1140px) { .utility-nav .avatar { width: 53px; height: 53px; margin: -25px 0 0 20px; float: left; } }

.utility-nav div.avatar { background-color: #F0A22E; text-align: center; color: #FFFFFF; line-height: 35px; font-size: 14px; display: inline-block; }
@media (min-width: 1140px) { .utility-nav div.avatar { line-height: 53px; font-size: 17px; } }

.webquote .utility-nav .avatar { background-color: #14C5BB; }

.resort-nav { position: absolute; width: 100%; right: 0; margin: 0; z-index: 2; pointer-events: none; }
@media (min-width: 768px) { .resort-nav { right: 3%; width: auto; } }
@media (min-width: 1140px) { .resort-nav { right: 3%; top: 150px; } }

.show-menu .resort-nav.fixed { top: 106px; }
@media (min-width: 768px) { .show-menu .resort-nav.fixed { top: 220px; } }
@media (min-width: 1140px) { .show-menu .resort-nav.fixed { top: 265px; } }

.resort-nav.fixed { opacity: 1; position: fixed; top: 56px; -webkit-transition: all 200ms; transition: all 200ms; }
@media (min-width: 768px) { .resort-nav.fixed { top: 100px; } }
@media (min-width: 1140px) { .resort-nav.fixed { top: 135px; } }
@media (min-width: 1140px) and (min-height: 770px) { .resort-nav.fixed { top: 120px; } }

.resort-menu { display: none; opacity: 0; pointer-events: none; -webkit-animation: 0.2s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.2s ease-in-out 0s fadeIn; animation-fill-mode: both; }
@media (min-width: 768px) { .resort-menu { opacity: 1; } }

.resort-menu.active { display: block; max-height: 45vh; overflow-y: scroll; }
@media (min-width: 768px) { .resort-menu.active { overflow-y: auto; max-height: none; } }

.resort-menu li { -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); display: inline-block; width: 100%; text-align: center; vertical-align: top; }
@media (min-width: 768px) { .resort-menu li { display: block; width: auto; margin: 0 0 8px 0; text-align: right; } }

.resort-menu-mobile { display: block; text-align: center; background: #FD8A52; }
@media (min-width: 768px) { .resort-menu-mobile { display: none; } }

.resort-menu li:first-child a { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; vertical-align: top; }

.resort-menu a, .resort-menu-mobile { min-height: 33px; width: 100%; line-height: 33px; background: #FD8A52; border: 1px solid #FD8A52; color: #FFFFFF; padding: 0 13px 0 13px; text-transform: uppercase; font-size: 15px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; pointer-events: auto; pointer-events: initial; -webkit-transition: all 500ms; transition: all 500ms; }
@media (min-width: 768px) { .resort-menu a, .resort-menu-mobile { width: auto; min-height: 26px; line-height: 26px; } }

.resort-menu a { display: inline-block; background-color: rgba(0, 0, 0, 0.5); border: none; font-weight: bold; }
@media (min-width: 768px) { .resort-menu a { background: #FD8A52; border: 1px solid #FD8A52; font-weight: normal; } }

.resort-menu li.active a, .resort-menu a:hover { color: #000000; background: #FFFFFF; }
@media (min-width: 768px) { .resort-menu li.active a, .resort-menu a:hover { border: solid 1px #d9d9d9; } }

footer.primary { position: fixed; bottom: 0px; height: 40px; background: #2E3235; color: #FFFFFF; width: 100%; line-height: 35px; padding-left: 10px; left: 0; z-index: 9; -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; }
@media (max-width: 767px) { footer.primary { -webkit-animation: 1.5s ease-in-out 0s fadeInUp; -webkit-animation-fill-mode: both; animation: 1.5s ease-in-out 0s fadeInUp; animation-fill-mode: both; } }
@media (min-width: 768px) { footer.primary { height: 40px; padding-left: 0px; -webkit-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
  footer.primary.active { height: 350px; } }
footer.primary > ul > li { display: block; float: left; width: 25%; position: absolute; text-align: center; top: 0px; -webkit-transition: all 200ms; transition: all 200ms; }
@media (min-width: 1140px) { footer.primary > ul > li { width: 20%; left: 20%; } }
footer.primary > ul > li a { color: #FFFFFF; }
@media (min-width: 768px) { footer.primary > ul > li > .cta .view-text { display: none; } }
@media (min-width: 1140px) { footer.primary > ul > li > .cta .view-text { display: inline; } }
footer.primary > ul > li ul { text-align: left; }
footer.primary > ul > li ul.empty { display: none; }
footer.primary > ul > li > div { text-align: left; }
footer.primary > ul > li ul.empty + p { display: block; }
footer.primary > ul > li.footer-promos { left: 0px; }
footer.primary > ul > li.footer-promos .offers { display: none; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos .offers { display: inline; } }
footer.primary > ul > li.footer-promos ul { font-size: 0; padding-right: 0px; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos { padding: 0px 10px; } }
@media (min-width: 1140px) { footer.primary > ul > li.footer-promos .featured-promo .promo-snippet { height: 100%; } }
footer.primary > ul > li.footer-promos.popup > div:first-of-type { padding-right: 10px; }
footer.primary > ul > li.footer-promos.popup > div:first-of-type .offers { display: inline; }
footer.primary > ul > li.footer-promos.popup > div:first-of-type .offers .exclusive { display: inline; }
footer.primary > ul > li.recent-searches { right: 25%; }
@media (min-width: 1140px) { footer.primary > ul > li.recent-searches { right: 20%; left: auto; } }
footer.primary > ul > li.recent-searches .footer-result:nth-child(1n+5) { display: none; }
footer.primary > ul > li.recent-searches p { padding: 10px; display: none; }
footer.primary > ul > li.recent-searches ul, footer.primary > ul > li.recent-searches p { font-size: 13px; line-height: 15px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
footer.primary > ul > li.recent-searches > div { cursor: pointer; }
footer.primary > ul > li.recommended-holiday { left: 25%; }
@media (min-width: 1140px) { footer.primary > ul > li.recommended-holiday { left: 40%; } }
footer.primary > ul > li.shortlisted-villas { right: 0%; }
@media (min-width: 1140px) { footer.primary > ul > li.shortlisted-villas { right: 0%; left: auto; } }
footer.primary > ul > li.shortlisted-villas p { padding: 10px; display: none; }
footer.primary > ul > li.shortlisted-villas ul, footer.primary > ul > li.shortlisted-villas p { font-size: 13px; line-height: 15px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
footer.primary > ul > li.shortlisted-villas > div { cursor: pointer; }
footer.primary > ul > li.shortlisted-villas .footer-result:nth-child(1n+4) { display: none; }
footer.primary > ul > li.shortlisted-villas .max-shortlist { line-height: 17px; font-size: 14px; width: 90%; text-transform: none; padding-top: 5px; }
footer.primary > ul > li.shortlisted-villas .max-shortlist a { color: white; text-decoration: underline; }
footer.primary > ul > li.recent-searches > ul, footer.primary > ul > li.shortlisted-villas > ul, footer.primary > ul li > p { height: 265px; }
footer.primary > ul > li.recent-searches .close, footer.primary > ul > li.shortlisted-villas .close { display: none; background: transparent; }
footer.primary > ul > li.recent-searches .close:before, footer.primary > ul > li.recent-searches .close:after, footer.primary > ul > li.shortlisted-villas .close:before, footer.primary > ul > li.shortlisted-villas .close:after { color: white; background: white; }
@media (min-width: 768px) { footer.primary > ul > li.recent-searches.popup, footer.primary > ul > li.shortlisted-villas.popup { left: auto; } }
footer.primary > ul > li.recent-searches.popup > div, footer.primary > ul > li.shortlisted-villas.popup > div { padding: 5px; border-bottom: 1px solid white; }
@media (min-width: 768px) { footer.primary > ul > li.recent-searches.popup .close, footer.primary > ul > li.shortlisted-villas.popup .close { display: block; } }
footer.primary > ul > li .mobile-close { display: none; }
footer.primary > ul > li.popup .mobile-close { bottom: -41px; height: 42px; width: 100%; background: #2E3235; text-transform: uppercase; position: absolute; border-top: 1px solid white; z-index: 1; display: block; }
@media (min-width: 768px) { footer.primary > ul > li.popup .mobile-close { display: none; } }
footer.primary > ul > li span.new { position: absolute; top: -35px; left: -9px; display: none; background-color: #FD8A52; text-transform: uppercase; line-height: 25px; font-size: 17px; padding: 0px 7px; color: white; -webkit-animation: 0.2s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.2s ease-in-out 0s fadeIn; animation-fill-mode: both; }
@media (min-width: 768px) { footer.primary > ul > li span.new.active { display: block; } }
footer.primary > ul > li span.new:before { width: 0; content: ''; display: block; transform: translate(50%); height: 0; position: absolute; border-style: solid; border-width: 10px 10px 0 10px; bottom: -10px; border-color: #FD8A52 transparent transparent transparent; }
footer.primary .shortlisted-villas > div > a > span.mobile-notification, footer.primary .recent-searches > div > a > span.mobile-notification { background: #FF1300; border: none; position: absolute; display: block; left: 30px; height: 20px; width: 20px; line-height: 20px; top: 2px; font-size: 12px; }
@media (min-width: 768px) { footer.primary .shortlisted-villas > div > a > span.mobile-notification, footer.primary .recent-searches > div > a > span.mobile-notification { border: 1px solid white; position: static; display: inline-block; background: none; height: 30px; width: 30px; line-height: 28px; font-size: 14px; top: 0px; } }

.fix-me { position: fixed !important; }
.fix-me.bottomed { bottom: 0px; position: absolute !important; }
.fix-me.top-fixed { position: absolute !important; top: auto; }
.fix-me.topped { position: fixed !important; }

footer.primary div.close { display: none; position: absolute; right: 10px; background: #2E3235; top: -40px; font-size: 24px; text-transform: uppercase; line-height: 40px; padding: 5px 15px; border-radius: 10px; cursor: pointer; }
footer.primary div.close:after { width: 0; height: 0; border-style: solid; border-width: 11px 9px 0 9px; margin-left: 5px; margin-bottom: 5px; border-color: white transparent transparent transparent; content: ''; display: inline-block; }

@media (min-width: 768px) { footer.primary.active div.close { display: block; } }
footer.primary li .heading { font-size: 17px; line-height: 19px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }

footer.primary li.footer-result { padding: 5px; overflow: hidden; display: flex; align-items: center; position: relative; }
footer.primary li.footer-result.hide { display: none; }

footer.primary li.footer-result > a span { overflow: hidden; padding-right: 25px; }

footer.primary .recent-searches, footer.primary .shortlisted-villas { float: right; background: #2E3235; height: 380px; }

footer.primary .recent-searches > div > a, footer.primary .shortlisted-villas > div > a { padding: 3px 0px; }

footer.primary .recent-searches.popup > div > a > span, footer.primary .shortlisted-villas.popup > div > a > span { display: inline-block; }

footer.primary .recent-searches > div > a > span, footer.primary .shortlisted-villas > div > a > span { display: none; }
@media (min-width: 768px) { footer.primary .recent-searches > div > a > span, footer.primary .shortlisted-villas > div > a > span { display: inline-block; } }

footer.primary > ul > li > div:after { content: ''; height: 35px; background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/footer-sprite.svg"); display: inline-block; background-repeat: no-repeat; width: 35px; background-size: 142px; background-position: -32px 3px; }
@media (min-width: 768px) { footer.primary > ul > li > div:after { display: none; } }

footer.primary .recent-searches > div:after { background-position: -74px 3px; }

footer.primary .recommended-holiday > div:after { background-image: none; }

footer.primary .footer-promos > div:after { background-position: 0px 3px; }

footer.primary .recent-searches.popup, footer.primary .shortlisted-villas.popup { right: 0px; }
@media (min-width: 768px) { footer.primary .recent-searches.popup, footer.primary .shortlisted-villas.popup { right: 10px; } }

footer.primary > ul > li.popup, footer.primary > ul > li.footer-promos.popup { top: -380px; position: absolute; -webkit-transition: top 200ms; transition: top 200ms; width: 100%; }
@media (min-width: 768px) { footer.primary > ul > li.popup, footer.primary > ul > li.footer-promos.popup { width: 370px; } }

footer.primary > ul > li.popup > div:after { content: none; }

.shortlisted-villas a > div { width: 70px; overflow: hidden; }
.shortlisted-villas a > div img { width: 100px; }

li.footer-result a { display: flex; width: 100%; align-items: center; }
li.footer-result a:after { content: ''; background-image: url("/images/jvh/ui/cta-arrow-std.svg"); display: block; width: 25px; height: 20px; background-repeat: no-repeat; background-size: contain; position: absolute; top: 0px; bottom: 0px; margin: auto; right: 0px; }

.shortlisted-villas a > div { margin-right: 10px; display: inline-block; float: left; }

.shortlisted-villas .footer-result > div { float: left; overflow: hidden; width: 70px; }

footer.primary.active > ul > li.footer-promos > div:first-of-type { cursor: auto; }

footer.primary > ul > li.footer-promos { top: -5px; height: 380px; min-width: 95px; position: relative; background-color: #577790; text-align: center; cursor: auto; -webkit-transition: all 200ms; transition: all 200ms; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos { top: -15px; } }
@media (min-width: 1140px) { footer.primary > ul > li.footer-promos { min-width: 370px; } }
footer.primary > ul > li.footer-promos .stat-counter { position: absolute; right: 5px; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos .stat-counter { position: relative; top: initial; right: initial; } }
footer.primary > ul > li.footer-promos ul.active-promolist { max-width: 296px; width: 296px; margin: auto; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos ul.active-promolist { max-width: 183px; width: auto; } }
@media (min-width: 1140px) { footer.primary > ul > li.footer-promos ul.active-promolist { max-width: 296px; } }
footer.primary > ul > li.footer-promos ul.active-promolist.margin { margin: 0 auto 20px auto; }
footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-prev, footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-next { top: 45%; background-color: transparent; width: 40px; border: none; }
footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-prev::after, footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-next::after { background: url("/images/jvh/holiday-destinations/thumbnail-arrow-right.svg") center center no-repeat transparent; }
footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-prev { left: 0; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-prev { left: -17px; } }
@media (min-width: 1140px) { footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-prev { left: -42px; } }
footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-next { right: 0; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-next { right: -15px; } }
@media (min-width: 1140px) { footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-nav .owl-next { right: -40px; } }
footer.primary > ul > li.footer-promos ul.active-promolist.owl-theme .owl-stage-outer + .owl-nav.disabled { margin: 15px 0 0 0; }
footer.primary > ul > li.footer-promos ul.active-promolist li { height: 200px; font-size: 15px; }
footer.primary > ul > li.footer-promos ul.active-promolist li.featured-promo { align-items: initial; }
footer.primary > ul > li.footer-promos > div:first-of-type { padding: 5px 43px 5px 10px; text-align: left; text-transform: uppercase; font-size: 12px; cursor: pointer; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos > div:first-of-type { padding: 10px 0px; text-align: center; font-size: 13px; } }
@media (min-width: 1140px) { footer.primary > ul > li.footer-promos > div:first-of-type { font-size: 15px; } }
footer.primary > ul > li.footer-promos > div:first-of-type .exclusive { display: none; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos > div:first-of-type .exclusive { display: inline-block; } }
footer.primary > ul > li.footer-promos > div:first-of-type .close { display: none; }
footer.primary > ul > li.footer-promos .small-promo { max-width: 296px; line-height: normal; padding-top: 10px; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos .small-promo { max-width: 183px; } }
@media (min-width: 1140px) { footer.primary > ul > li.footer-promos .small-promo { max-width: 296px; } }
footer.primary > ul > li.footer-promos .featured-promo.small-promo p.terms { text-align: center; text-transform: uppercase; color: #FFFFFF; background-color: transparent; bottom: 10px; }
footer.primary > ul > li.footer-promos .featured-promo.small-promo .countdown li span { padding: 0; }
footer.primary > ul > li.footer-promos .no-promotions { display: none; text-align: center; font-size: 13px; line-height: 18px; margin: 0 0 20px 0; }
footer.primary > ul > li.footer-promos .no-promotions a { text-decoration: underline; white-space: nowrap; }
footer.primary > ul > li.footer-promos.popup { top: -380px; width: 95%; max-width: 370px; background-color: #FFFFFF; color: #FD8A52; -webkit-box-shadow: 1px 1px 1px 2px rgba(0, 0, 0, 0.2); -moz-box-shadow: 1px 1px 1px 2px rgba(0, 0, 0, 0.2); box-shadow: 1px 1px 1px 2px rgba(0, 0, 0, 0.2); -webkit-transition: all 200ms; transition: all 200ms; }
@media (min-width: 1140px) { footer.primary > ul > li.footer-promos.popup { width: 20%; } }
footer.primary > ul > li.footer-promos.popup .stat-counter { display: none; color: #FD8A52; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos.popup .stat-counter { display: inline-block; } }
footer.primary > ul > li.footer-promos.popup .stat-counter.small { border: 1px solid #FD8A52; }
footer.primary > ul > li.footer-promos.popup > div:first-of-type { text-align: center; }
footer.primary > ul > li.footer-promos.popup > div:first-of-type button.close { display: block; background: transparent; }
footer.primary > ul > li.footer-promos.popup ul.active-promolist.owl-theme .owl-nav .owl-prev::after, footer.primary > ul > li.footer-promos.popup ul.active-promolist.owl-theme .owl-nav .owl-next::after { background: url("/images/jvh/holiday-destinations/thumbnail-arrow-right-black.svg") center center no-repeat transparent; }
footer.primary > ul > li.footer-promos.popup ul.active-promolist.owl-theme .owl-nav .owl-prev { left: 0; }
footer.primary > ul > li.footer-promos.popup ul.active-promolist.owl-theme .owl-nav .owl-next { right: 0; }
footer.primary > ul > li.footer-promos.popup ul.active-promolist.owl-theme .owl-dots .owl-dot span { background: rgba(0, 0, 0, 0.3); }
footer.primary > ul > li.footer-promos.popup ul.active-promolist.owl-theme .owl-dots .owl-dot.active span, footer.primary > ul > li.footer-promos.popup ul.active-promolist.owl-theme .owl-dots .owl-dot:hover span { background: black; }
footer.primary > ul > li.footer-promos.popup .no-promotions a { color: #FD8A52; }
footer.primary > ul > li.footer-promos span.new { left: auto; right: -9px; top: 50px; }
footer.primary > ul > li.footer-promos.show-new span.new { top: -35px; display: block; -webkit-transition: all 200ms; transition: all 200ms; }
@media (min-width: 768px) { footer.primary > ul > li.footer-promos.show-new span.new { display: none; } }

footer .brochure { padding: 40px 20px 40px 20px; }
@media (min-width: 768px) { footer .brochure { width: 60%; padding: 40px; float: left; } }
footer .sign-up { padding: 40px 20px; }
@media (min-width: 768px) { footer .sign-up { padding: 40px 40px 40px 0; width: 40%; float: left; } }
footer .sign-up > footer > div.left { position: relative; }
footer .sign-up .what-we-send { display: none; background: #FFFFFF; position: absolute; padding: 35px 15px 15px; z-index: 1; border: 1px solid #C9C9C9; left: 0; left: calc(50% - 132px); top: -340px; }
@media (min-width: 1140px) { footer .sign-up .what-we-send { padding: 10px; left: 185px; top: -24px; } }
footer .sign-up .what-we-send.active { display: block; }
@media (min-width: 1140px) { footer .sign-up .what-we-send:before, footer .sign-up .what-we-send:after { right: 100%; top: 30px; border: solid transparent; content: ""; height: 0; width: 0; position: absolute; pointer-events: none; } }
@media (min-width: 1140px) { footer .sign-up .what-we-send:before { border-color: transparent; border-right-color: #C9C9C9; border-width: 16px; margin-top: -16px; } }
@media (min-width: 1140px) { footer .sign-up .what-we-send:after { border-color: transparent; border-right-color: #FFFFFF; border-width: 15px; margin-top: -15px; } }
footer .sign-up .what-we-send .close { top: 0; right: 0; }
@media (min-width: 1140px) { footer .sign-up .what-we-send .close { display: none; } }
footer .sign-up .what-we-send ul li { margin-top: 5px; }

footer.secondary .brochure h2, footer.secondary .sign-up h2 { text-transform: uppercase; margin: 0 0 6px 0; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

@media (min-width: 1140px) { footer .brochure h3, footer .sign-up h3 { font-size: 44px; line-height: 48px; } }

footer .sign-up p { padding: 5px 0 20px 0; }

footer .sign-up > div { position: relative; }

footer .sign-up button { position: absolute; top: 10px; right: 10px; }

footer .brochure > p { margin: 0 0 20px 0; }

footer .brochure ul { float: left; overflow: hidden; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-direction: normal; -webkit-box-orient: horizontal; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }
@media (min-width: 1140px) { footer .brochure ul { width: auto; } }

footer .brochure ul li { display: inline-block; float: left; margin: 0 20px 20px 0; }

footer .brochure ul li a { display: block; }

footer .brochure ul li a img { max-height: 122px; margin: 0 auto; }

footer.secondary { background: #F0F0F0; clear: both; }

footer.secondary ul.quicklinks { background: #003057; width: 100%; clear: both; color: #ffffff; overflow: hidden; position: relative; }
@media (min-width: 768px) { footer.secondary ul.quicklinks { padding: 0 0 20px 0; } }
@media (min-width: 1140px) { footer.secondary ul.quicklinks { padding: 0 0 20px 0; } }
footer.secondary ul.quicklinks ::-moz-selection { background: rgba(255, 255, 255, 0.99); color: #003057; text-shadow: none; }
footer.secondary ul.quicklinks ::selection { background: rgba(255, 255, 255, 0.99); color: #003057; text-shadow: none; }

footer.secondary ul.quicklinks-bottom { padding: 0 0 70px 0; border-top: 1px solid #fff; margin-left: 20px; margin-right: 20px; width: auto; }
@media (min-width: 1140px) { footer.secondary ul.quicklinks-bottom { padding: 0 0 80px 0; margin-left: 20px; margin-right: 20px; } }
@media (min-width: 1400px) { footer.secondary ul.quicklinks-bottom { padding: 0 0 80px 0; margin-left: 40px; margin-right: 40px; } }

footer.secondary div.copyright-payment-container { width: 100%; background: #003057; }

footer.secondary ul.quicklinks > li { padding: 20px 20px 0 20px; width: 100%; }
footer.secondary ul.quicklinks > li.footnote a { text-decoration: underline; }
@media (max-width: 767px) { footer.secondary ul.quicklinks > li { float: none; clear: left; } }
@media (min-width: 768px) { footer.secondary ul.quicklinks > li { float: left; width: 50%; padding: 30px 20px 0 20px; }
  footer.secondary ul.quicklinks > li.help-advice { float: left; }
  footer.secondary ul.quicklinks > li.tools { float: right; }
  footer.secondary ul.quicklinks > li.social { float: left; }
  footer.secondary ul.quicklinks > li.contact { float: right; } }
@media (min-width: 1140px) { footer.secondary ul.quicklinks > li { min-height: 340px; width: 24%; min-height: 0; padding: 60px 15px 0 0; }
  footer.secondary ul.quicklinks > li.footnote ul.footnote-links li { border-right: 2px solid #FFFFFF; padding-right: 5px; margin-right: 5px; display: inline; line-height: 19px; }
  footer.secondary ul.quicklinks > li.footnote ul.footnote-links li:first-child, footer.secondary ul.quicklinks > li.footnote ul.footnote-links li:last-child { border-right: none; }
  footer.secondary ul.quicklinks > li.contact, footer.secondary ul.quicklinks > li.footnote { text-align: left; }
  footer.secondary ul.quicklinks > li.contact { float: right; padding: 25px 20px 0 0; min-width: 250px; width: 250px; }
  footer.secondary ul.quicklinks > li.forms-of-payment { padding: 0 40px 0 40px; }
  footer.secondary ul.quicklinks > li.tools { float: left; width: 21%; }
  footer.secondary ul.quicklinks > li.help-advice { min-width: 630px; } }
@media (min-width: 1400px) { footer.secondary ul.quicklinks > li.footnote ul.footnote-links li:first-child { border-right: 2px solid #FFFFFF; }
  footer.secondary ul.quicklinks > li.tools { width: 25%; }
  footer.secondary ul.quicklinks > li.contact { padding: 25px 40px 0 0; min-width: 270px; }
  footer.secondary ul.quicklinks > li.help-advice { min-width: initial; } }

@media (min-width: 1140px) { footer.secondary ul.quicklinks > li:first-child { width: 55%; padding: 25px 15px 0 20px; } }
@media (min-width: 1400px) { footer.secondary ul.quicklinks > li:first-child { width: 55%; padding: 50px 25px 0 40px; } }

footer.secondary ul.quicklinks > li.tools p { margin: 0 0 20px 0; }

footer.secondary ul.quicklinks h2 { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 20px; text-transform: uppercase; margin: 0 0 0 0; }

footer.secondary h3 { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 26px; line-height: 39px; margin: 0 0 30px 0; cursor: default; margin: 0 0 15px 0; }
@breakpoint (desktop) { footer.secondary h3 { margin: 0 0 30px 0; } }
footer.secondary h3:hover { text-decoration: none; }

footer.secondary ul.quicklinks li h3.telephone-number { margin: 0 0 10px 0; }

footer.secondary ul.quicklinks li h3 a.tel { white-space: nowrap; }
@media (min-width: 1140px) { footer.secondary ul.quicklinks li h3 a.tel { font-size: 30px; margin: 0 0 10px 0; } }

footer.secondary ul.quicklinks li.contact h2 a:hover { text-decoration: none; }

footer.secondary ul.quicklinks li.help-advice ul { width: 100%; float: left; display: inline-block; margin: 0 0 20px 0; }
footer.secondary ul.quicklinks li.help-advice ul.help-advice-contact { display: none; }
@media (max-width: 767px) { footer.secondary ul.quicklinks li.help-advice ul { margin-bottom: 0px; float: none; } }
@media (min-width: 480px) { footer.secondary ul.quicklinks li.help-advice ul { width: 50%; float: left; }
  footer.secondary ul.quicklinks li.help-advice ul:nth-of-type(3) { float: right; } }
@media (min-width: 768px) { footer.secondary ul.quicklinks li.help-advice ul { margin: 0 0 0 0; width: 100%; }
  footer.secondary ul.quicklinks li.help-advice ul:nth-of-type(3) { float: none; } }
@media (min-width: 1140px) { footer.secondary ul.quicklinks li.help-advice ul { width: 30%; float: left; }
  footer.secondary ul.quicklinks li.help-advice ul:nth-of-type(3) { float: left; } }
@media (min-width: 1400px) { footer.secondary ul.quicklinks li.help-advice ul { width: 28%; } }
footer.secondary ul.quicklinks li.help-advice ul li { line-height: 19px; white-space: nowrap; }
@media (max-width: 767px) { footer.secondary ul.quicklinks li.help-advice ul li { line-height: 22px; } }
@media (min-width: 768px) { footer.secondary ul.quicklinks li.help-advice ul li { line-height: 24px; } }
@media (min-width: 1140px) { footer.secondary ul.quicklinks li.help-advice ul li { padding: 0 6px 3px 0; line-height: 22px; } }
footer.secondary ul.quicklinks li.help-advice ul a { color: #fc8a54; }

@media (min-width: 1140px) { footer.secondary ul.quicklinks li.help-advice, footer.secondary ul.quicklinks li.contact, footer.secondary ul.quicklinks li.tools { padding-top: 25px; } }
@media (min-width: 1400px) { footer.secondary ul.quicklinks li.help-advice, footer.secondary ul.quicklinks li.contact, footer.secondary ul.quicklinks li.tools { padding-top: 50px; } }

@media (min-width: 1140px) { footer.secondary ul.quicklinks li.social { padding-left: 25px; width: 50%; padding-top: 0px; }
  footer.secondary ul.quicklinks li.social .app-link { float: left; display: inline-block; line-height: 42px; } }
@media (min-width: 1400px) { footer.secondary ul.quicklinks li.social { padding-top: 100px; padding-left: 40px; } }

footer.secondary ul.quicklinks li.forms-of-payment ul.payment-cards { float: left; overflow: hidden; margin: 10px 0 0 0; overflow: hidden; }
@media (min-width: 1400px) { footer.secondary ul.quicklinks li.forms-of-payment ul.payment-cards { float: right; } }

ul.payment-cards li { display: inline; float: left; border-radius: 5px; width: 50px; height: 32px; margin: 0 4px 0 0; text-indent: 100%; white-space: nowrap; overflow: hidden; }
ul.payment-cards li.lazy-loaded { background: url("/images/jvh/ui/icon-payments-2017.svg") no-repeat -3px -168px #FFFFFF; background-position: center, 0; background-size: 93% auto; }
@media (min-width: 1400px) { ul.payment-cards li.lazy-loaded { background-size: 90% auto; } }
@media (min-width: 768px) { ul.payment-cards li { margin: 0 5px 0 0; } }
@media (min-width: 1400px) { ul.payment-cards li { width: 68px; height: 42px; } }
ul.payment-cards li.mastercard { background-position-y: -77px; }
ul.payment-cards li.paypal { background-position-y: -38px; }
ul.payment-cards li.visa { background-position-y: -4px; }
ul.payment-cards li.amex { background-position-y: -119px; }
@media (min-width: 1400px) { ul.payment-cards li.mastercard { background-position-y: -101px; }
  ul.payment-cards li.paypal { background-position-y: -50px; }
  ul.payment-cards li.visa { background-position-y: -3px; }
  ul.payment-cards li.amex { background-position-y: -156px; } }
ul.payment-cards li.norton-secured { display: block; float: left; text-indent: 100%; white-space: nowrap; overflow: hidden; width: 62px; height: 44px; margin-right: 0px; }
ul.payment-cards li.norton-secured.lazy-loaded { background: url("/images/jvh/ui/norton-secured-logo-2017.svg") no-repeat; background-size: 100%; }
@media (min-width: 768px) { ul.payment-cards li.norton-secured { float: left; display: inline; margin-top: 0px; } }
@media (min-width: 1400px) { ul.payment-cards li.norton-secured { margin: 0px 0 0 4px; width: 82px; } }

footer.secondary a { color: #ffffff; }

footer.secondary #emailSignUpForm a { color: #FD8A52; text-decoration: underline; }

footer.secondary ul.social-sites { overflow: hidden; width: 100%; }
@media (min-width: 768px) { footer.secondary ul.social-sites { width: auto; } }
@media (min-width: 1140px) { footer.secondary ul.social-sites { float: left; } }

footer.secondary ul.social-sites li { margin: 0 0 30px 0; line-height: 42px; width: 50%; float: left; display: inline-block; background-repeat: no-repeat; }
footer.secondary ul.social-sites li a::before { background-size: 42px auto; }
footer.secondary ul.social-sites li.google-plus a::before { background-position: 0 -42px; }
footer.secondary ul.social-sites li.instagram a::before { background-position: 0 -84px; }
footer.secondary ul.social-sites li.pinterest a::before { background-position: 0 -126px; }
footer.secondary ul.social-sites li.twitter a::before { background-position: 0 -168px; }
footer.secondary ul.social-sites li.youtube a::before { background-position: 0 -210px; }
footer.secondary ul.social-sites li.lazy-loaded a::before { background-image: url("/images/jvh/ui/icon-socials-2017.svg"); background-color: #F66401; content: ""; width: 42px; height: 42px; border-radius: 50px; float: left; display: block; margin-right: 4px; }
@media (min-width: 1140px) { footer.secondary ul.social-sites li.lazy-loaded a::before { background: none; display: none; } }
@media (min-width: 480px) { footer.secondary ul.social-sites li { width: 33.3%; } }
@media (min-width: 768px) { footer.secondary ul.social-sites li { width: 42px; height: 42px; margin: 6px 6px 6px 6px; overflow: hidden; }
  footer.secondary ul.social-sites li:first-child { margin-left: 0px; }
  footer.secondary ul.social-sites li a { width: 42px; height: 42px; text-indent: 42px; display: block; }
  footer.secondary ul.social-sites li.lazy-loaded { background: #F66401 url("/images/jvh/ui/icon-socials-2017.svg") no-repeat 0px 0px; background-size: 42px auto; border-radius: 50px; }
  footer.secondary ul.social-sites li.lazy-loaded.google-plus { background-position: 0 -42px; }
  footer.secondary ul.social-sites li.lazy-loaded.instagram { background-position: 0 -84px; }
  footer.secondary ul.social-sites li.lazy-loaded.pinterest { background-position: 0 -126px; }
  footer.secondary ul.social-sites li.lazy-loaded.twitter { background-position: 0 -168px; }
  footer.secondary ul.social-sites li.lazy-loaded.youtube { background-position: 0 -210px; } }
@media (min-width: 1140px) { footer.secondary ul.social-sites li { margin: 0 5px 0 5px; }
  footer.secondary ul.social-sites li:nth-of-type(4) { margin-left: 5px; } }

footer.secondary ul.quicklinks .social p.app-link { text-decoration: underline; padding-top: 10px; padding-bottom: 30px; }
@media (min-width: 768px) { footer.secondary ul.quicklinks .social p.app-link { padding-bottom: 10px; } }
@media (min-width: 1140px) { footer.secondary ul.quicklinks .social p.app-link { padding: 0px 0px 0px 20px; } }
@media (min-width: 1400px) { footer.secondary ul.quicklinks .social p.app-link { width: 35%; } }

footer.secondary ul.quicklinks p.email-contact { margin: 20px 0 0 0; }
@media (min-width: 768px) { footer.secondary ul.quicklinks p.email-contact { margin: 20px 0 0 0; } }
footer.secondary ul.quicklinks p.email-contact a { text-decoration: underline; white-space: nowrap; }

footer.secondary ul.quicklinks li.contact p.opening-times { margin-bottom: 5px; }
footer.secondary ul.quicklinks li.contact p span.opening-times-days { margin-right: 10px; }

footer.secondary ul.quicklinks li.contact h2.protected-heading { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
@media (max-width: 767px) { footer.secondary ul.quicklinks li.contact h2.protected-heading { margin-top: 20px; } }
@media (min-width: 768px) { footer.secondary ul.quicklinks li.contact h2.protected-heading { margin-top: 40px; } }

footer.secondary ul.quicklinks ul.protection { margin: 10px 0 0 0; overflow: hidden; display: inline-block; }
@media (max-width: 767px) { footer.secondary ul.quicklinks ul.protection { width: 100%; } }

footer.secondary ul.quicklinks ul.protection li { display: inline-block; float: left; }
@media (min-width: 1140px) { footer.secondary ul.quicklinks ul.protection li { margin-right: 5px; } }

footer.secondary ul.quicklinks ul.protection li a { text-indent: 106px; white-space: nowrap; overflow: hidden; display: block; width: 105px; height: 32px; }
footer.secondary ul.quicklinks ul.protection li a.lazy-loaded { background: url("https://i.jamesvillas.co.uk/images/jvh/ui/logo-abta.svg") no-repeat left top; background-size: contain; }
@media (min-width: 768px) { footer.secondary ul.quicklinks ul.protection li a { width: 105px; height: 50px; background-position: right top; } }

footer.secondary ul.quicklinks ul.protection li a.atol { margin: 0 0 4px 0px; width: 58px; height: 56px; }
footer.secondary ul.quicklinks ul.protection li a.atol.lazy-loaded { background-image: url("https://i.jamesvillas.co.uk/images/jvh/ui/logo-atol.svg"); }

footer.secondary ul.quicklinks ul.protection li a.abta { position: relative; height: 56px; }

footer.secondary ul.quicklinks-bottom li.footnote, footer.secondary ul.quicklinks-bottom li.forms-of-payment { width: 100%; padding-left: 0px; padding-right: 0px; }
footer.secondary ul.quicklinks-bottom li.footnote ul.payment-cards, footer.secondary ul.quicklinks-bottom li.forms-of-payment ul.payment-cards { width: 100%; }
footer.secondary ul.quicklinks-bottom li.footnote h2, footer.secondary ul.quicklinks-bottom li.forms-of-payment h2 { font-size: 15px; }
footer.secondary ul.quicklinks-bottom li.footnote ul.footnote-links li { padding-bottom: 5px; line-height: 19px; }
@media (min-width: 768px) { footer.secondary ul.quicklinks-bottom li.footnote { width: 50%; float: left; padding-right: 20px; }
  footer.secondary ul.quicklinks-bottom li.forms-of-payment { width: 50%; float: right; padding-left: 20px; }
  footer.secondary ul.quicklinks-bottom li.forms-of-payment h2 { margin-bottom: 20px; } }
@media (min-width: 1140px) { footer.secondary ul.quicklinks-bottom li.footnote, footer.secondary ul.quicklinks-bottom li.forms-of-payment { padding-top: 25px; }
  footer.secondary ul.quicklinks-bottom li.footnote { width: 70%; }
  footer.secondary ul.quicklinks-bottom li.footnote ul.footnote-links li { display: inline-block; white-space: nowrap; padding-bottom: 0px; }
  footer.secondary ul.quicklinks-bottom li.footnote ul.footnote-links li:first-child { display: block; margin-bottom: 4px; }
  footer.secondary ul.quicklinks-bottom li.forms-of-payment { text-align: right; width: 30%; line-height: 38px; }
  footer.secondary ul.quicklinks-bottom li.forms-of-payment h2 { height: auto; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; font-size: 16px; width: auto; text-align: right; float: none; font-size: 15px; line-height: 19px; }
  footer.secondary ul.quicklinks-bottom li.forms-of-payment ul.payment-cards { float: right; margin-top: 0px; width: auto; line-height: 38px; } }
@media (min-width: 1400px) { footer.secondary ul.quicklinks-bottom li.footnote { width: 55%; }
  footer.secondary ul.quicklinks-bottom li.footnote ul.footnote-links li { display: inline-block; white-space: nowrap; }
  footer.secondary ul.quicklinks-bottom li.footnote ul.footnote-links li:first-child { display: inline; margin-bottom: 0px; }
  footer.secondary ul.quicklinks-bottom li.forms-of-payment { width: 45%; line-height: 19px; }
  footer.secondary ul.quicklinks-bottom li.forms-of-payment h2 { width: auto; display: inline; margin-bottom: 0px; }
  footer.secondary ul.quicklinks-bottom li.forms-of-payment ul.payment-cards { width: auto; float: right; display: inline; margin-top: -9px; } }

.ie-protection { text-transform: uppercase; margin: 20px 0 20px 0; }

footer.secondary .usp-strip { width: 100%; clear: both; background: #FFFFFF; text-align: center; padding: 34px 20px 34px 20px; overflow: hidden; display: block; }
@media (min-width: 1140px) { footer.secondary .usp-strip .why-james { display: inline-block; width: 26%; float: left; padding-right: 15px; } }
@media (min-width: 1400px) { footer.secondary .usp-strip .why-james { width: 21%; } }
footer.secondary .usp-strip .why-james h2 { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 20px; text-transform: uppercase; margin: 0; }
@media (min-width: 1140px) { footer.secondary .usp-strip .why-james h2 { max-width: 400px; } }
footer.secondary .usp-strip .why-james h3 { font-size: 25px; margin: 0 0 4px 0; }
@media (min-width: 768px) { footer.secondary .usp-strip .why-james h3 { font-size: 30px; } }
@media (min-width: 1400px) { footer.secondary .usp-strip .why-james h3 { font-size: 35px; } }
footer.secondary .usp-strip .why-james a { text-transform: uppercase; font-size: 15px; color: #F66401; }
@media (min-width: 1140px) { footer.secondary .usp-strip .why-james a { text-align: right; display: block; max-width: 400px; } }
footer.secondary .usp-strip .staff-quote { width: 100%; }
@media (min-width: 1140px) { footer.secondary .usp-strip .staff-quote { width: 43%; float: left; padding-left: 15px; padding-right: 15px; } }
@media (min-width: 1400px) { footer.secondary .usp-strip .staff-quote { width: 50%; } }
footer.secondary .usp-strip .staff-quote blockquote { width: 100%; font-family: "Montserrat Ultralight", Arial, Helvetica, sans-serif; color: #020202; margin: 20px 0 20px 0; display: block; font-size: 20px; }
@media (min-width: 768px) { footer.secondary .usp-strip .staff-quote blockquote { font-size: 22px; } }
@media (min-width: 1140px) { footer.secondary .usp-strip .staff-quote blockquote { width: 80%; display: inline-block; margin: 0; float: right; line-height: 28px; } }
@media (min-width: 1400px) { footer.secondary .usp-strip .staff-quote blockquote { width: 85%; font-size: 25px; } }
footer.secondary .usp-strip .staff-quote .staff-image { width: 100%; }
@media (min-width: 1140px) { footer.secondary .usp-strip .staff-quote .staff-image { width: 20%; float: left; } }
@media (min-width: 1400px) { footer.secondary .usp-strip .staff-quote .staff-image { width: 15%; } }
footer.secondary .usp-strip .staff-quote .staff-image img { width: 86px; height: 86px; border-radius: 50%; display: block; margin: 0 auto 10px auto; }
@media (min-width: 1140px) { footer.secondary .usp-strip .staff-quote .staff-image img { float: right; margin: -10px 5px 0 0; } }
footer.secondary .usp-strip .staff-quote cite { color: #033C51; font-size: 16px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: uppercase; }
@media (min-width: 1140px) { footer.secondary .usp-strip .staff-quote cite { display: inline-block; text-align: center; padding-top: 10px; float: right; width: 80%; font-size: 16px; } }
@media (min-width: 1400px) { footer.secondary .usp-strip .staff-quote cite { width: 85%; } }
footer.secondary .usp-strip .staff-quote cite span { text-transform: uppercase; display: block; }
footer.secondary .usp-strip .awards-section { margin-top: 20px; }
@media (min-width: 768px) { footer.secondary .usp-strip .awards-section { width: 100%; float: left; } }
@media (min-width: 1140px) { footer.secondary .usp-strip .awards-section { width: 31%; margin-top: 0px; padding-left: 15px; } }
@media (min-width: 1400px) { footer.secondary .usp-strip .awards-section { width: 29%; } }
footer.secondary .usp-strip .awards-section h3.awards { text-transform: uppercase; text-align: center; color: #033C51; font-size: 20px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 17px; }
@media (min-width: 1140px) { footer.secondary .usp-strip .awards-section h3.awards { text-align: left; margin-top: -15px; margin-bottom: 0px; padding-left: 5px; } }
footer.secondary .usp-strip .awards-section .awards-list li { display: inline; padding: 4px; }
footer.secondary .usp-strip .awards-section .awards-list li img { width: 44px; height: 45px; }
@media (min-width: 480px) { footer.secondary .usp-strip .awards-section .awards-list li img { width: 47px; height: 47px; } }
@media (min-width: 768px) { footer.secondary .usp-strip .awards-section .awards-list li img { width: 68px; height: 68px; } }
@media (min-width: 1140px) { footer.secondary .usp-strip .awards-section .awards-list li img { width: 50px; height: 50px; } }
@media (min-width: 1400px) { footer.secondary .usp-strip .awards-section .awards-list li img { width: 60px; height: 60px; } }
@media (min-width: 768px) { footer.secondary .usp-strip .awards-section .awards-list li { padding: 5px; } }
@media (min-width: 1140px) { footer.secondary .usp-strip .awards-section .awards-list { text-align: left; } }

div.holiday-opening-hours { display: none; padding: 15px; text-align: center; max-width: 600px; }
@media (min-width: 480px) { div.holiday-opening-hours { padding: 50px; } }
div.holiday-opening-hours table { margin-top: 25px; margin-bottom: 35px; width: 100%; }
div.holiday-opening-hours table tr:nth-child(even) { background-color: #ECEDED; }
div.holiday-opening-hours table th, div.holiday-opening-hours table td { padding: 7px; min-width: 70px; }

#modalContent div.holiday-opening-hours { display: block; }

.search { width: 100%; position: absolute; left: 0%; top: 30%; z-index: 5; height: 56px; -webkit-overflow-scrolling: touch; }
.search.searchactive { -webkit-transition: background-color 400ms, width 400ms, left 400ms, height 400ms; transition: background-color 400ms, width 400ms, left 400ms, height 400ms; transition-timing-function: ease-in; }
.search > div { margin: 0 auto; background-color: #E1E1E1; background-color: rgba(225, 225, 225, 0.95); }
@media (min-width: 768px) { .search > div { min-width: 620px; max-width: 850px; } }
.searchactive > div { background-color: transparent; }

@media (min-width: 768px) { .homepage .search > div { transition: width 500ms; } }
@media (min-width: 1140px) { .homepage .search { pointer-events: auto; height: 76px; } }

.search.fixed, .search.searchactive.fixed { top: 0; width: 100%; position: fixed; }
.search.fixed > div, .search.searchactive.fixed > div { max-width: 100%; width: 100%; }
@media (min-height: 670px) { .search.fixed, .search.searchactive.fixed { opacity: 1; pointer-events: auto; } }

@media (min-width: 1140px) { .show-menu .search { opacity: 1; pointer-events: auto; } }
@media (min-width: 1140px) { .show-menu .search.fixed { top: 130px; } }
.show-menu .search.fixed { position: absolute; top: 50px; }
@media (min-width: 768px) { .show-menu .search.fixed { top: 115px; -webkit-transform: translate3d(0, 0, 0); } }
@media (min-width: 1140px) { .show-menu .search.fixed { top: 130px; } }
@media (max-width: 767px) { .show-menu .search.searchactive.fixed { position: fixed; top: 0px; } }
.show-menu.homepage .search { top: 160px; }
.show-menu.homepage .search.fixed { position: absolute; top: 50px; }
@media (min-width: 768px) { .show-menu.homepage .search.fixed { top: 115px; } }
@media (min-width: 1140px) { .show-menu.homepage .search.fixed { top: 130px; } }
.show-menu.homepage .search.fixed > div { width: 100%; max-width: none; }
.show-menu.homepage .search > div { width: 90%; max-width: 350px; }
.show-menu.homepage .search.searchactive > div { width: 100%; max-width: none; }
@media (min-width: 480px) { .show-menu.homepage .search { top: 110px; } }
@media (min-width: 768px) { .show-menu.homepage .search { top: 200px; }
  .show-menu.homepage .search > div { max-width: 850px; width: calc(100% - 40px); } }
@media (min-width: 768px) and (min-height: 670px) { .show-menu.homepage .search { top: 35%; } }

@media (min-width: 1140px) { .show-menu.homepage .search { top: 260px; }
  .show-menu.homepage .search > div { width: 900px; } }
@media (min-width: 1140px) and (min-height: 770px) { .show-menu.homepage .search { top: 35%; } }

@media (min-width: 1140px) { .show-menu.menu-open .search.fixed { display: block; top: 630px; z-index: 14; } }

.lt-ie10 .show-menu .search, .lt-ie11 .show-menu .search { display: block; }

.search-push { padding: 56px 0 0 0; }
@media (min-width: 768px) { .search-push { padding: 83px 0 0 0; } }
@media (min-width: 1140px) { .search-push { padding: 95px 0 0 0; } }

.nav-lhs { position: relative; }
@media (min-width: 768px) { .nav-lhs { position: absolute; width: 40%; z-index: 1; height: 100%; } }
@media (min-width: 1140px) { .nav-lhs { width: 30%; display: inline-block; vertical-align: top; } }

.content-rhs { position: relative; }
@media (min-width: 768px) { .content-rhs { display: inline-block; vertical-align: top; } }
@media (min-width: 1140px) { .content-rhs { display: inline-block; vertical-align: top; } }

.nav-lhs .links { padding: 20px 20px 20px 20px; }
@media (min-width: 850px) { .nav-lhs .links { padding: 0 20px 20px; } }

.wide-rhs { position: relative; background-color: #FAFAFA; padding: 60px 15px 15px 15px; vertical-align: top; }
@media (min-width: 768px) { .wide-rhs { padding: 30px 20px 30px 30px; width: 60%; display: inline-block; vertical-align: top; left: 40%; } }
@media (min-width: 1140px) { .wide-rhs { padding: 30px; width: 68%; display: inline-block; vertical-align: top; left: 32%; min-height: 1100px; } }
@media (min-width: 1400px) { .wide-rhs { min-height: 1050px; } }

.wide-rhs-aside { position: relative; background-color: #F6F6F6; vertical-align: top; }
@media (min-width: 768px) { .wide-rhs-aside { width: 60%; display: inline-block; left: 40%; } }
@media (min-width: 1140px) { .wide-rhs-aside { width: 68%; display: inline-block; left: 32%; } }
@media (min-width: 1140px) { .wide-rhs-aside h3 { line-height: 30px; } }

.wide-rhs-aside-inner { padding: 20px 20px 20px 20px; width: 100%; }
@media (min-width: 768px) { .wide-rhs-aside-inner { min-height: 450px; } }
@media (min-width: 850px) { .wide-rhs-aside-inner { padding: 60px 20px 20px 20px; } }
@media (min-width: 1140px) { .wide-rhs-aside-inner { padding: 60px 20px 20px 20px; display: inline-block; vertical-align: top; width: 70%; } }

.wide-rhs-aside aside { height: 100%; padding: 30px 20px 20px 20px; color: #FFFFFF; overflow: hidden; }
@media (min-width: 768px) { .wide-rhs-aside aside { min-height: 350px; } }
@media (min-width: 1140px) { .wide-rhs-aside aside { position: absolute; display: inline-block; padding: 60px 20px 20px 20px; width: 30%; } }

.wide-rhs-aside aside a { color: white; }

.wide-rhs-aside aside .divide { border-bottom: 1px solid white; padding-bottom: 20px; }

.article-image-panel { overflow: hidden; position: relative; z-index: 0; }
.article-image-panel::before { content: ' '; position: absolute; width: 100%; height: 100%; top: 0; left: 0; will-change: transform; z-index: -1; }

.article-image-panel.fixed::before { position: fixed; }

.basic-page .article-image-panel::before { display: none; }

.lhs-article { background-color: #ffffff; position: relative; padding: 86px 20px 15px 20px; width: 100%; }
@media (min-width: 768px) { .lhs-article { padding: 113px 60px 30px 60px; } }
@media (min-width: 1140px) { .lhs-article { padding: 125px 60px 30px 60px; width: 60%; } }

.lhs-article li { line-height: 19px; }

.lhs-article .heading-extra-large-light { color: #c2c2c2; }

.lhs-article p, .lhs-article h2, .lhs-article h1, .lhs-article h3, .lhs-article ul, .lhs-article ol { margin-bottom: 20px; }

aside p, .wide-rhs-aside p, .wide-rhs p, .nav-lhs p { margin-bottom: 15px; }

.lhs-article .table-wrapper { overflow: auto; margin-bottom: 25px; }

.lhs-article table { width: 100%; }

.lhs-article table td { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 13px; padding: 5px; }

.lhs-article table tbody tr:nth-child(odd) { background-color: #f7f7f7; }

.lhs-article th { padding: 5px 10px; font-weight: bold; text-align: left; }

.lhs-article ul { list-style-type: disc; padding-left: 20px; }
@media (min-width: 768px) { .lhs-article ul { padding-left: 50px; } }

.lhs-article ol { list-style-type: decimal; padding-left: 20px; }
@media (min-width: 768px) { .lhs-article ol { padding-left: 50px; } }

.lhs-article ul ul, .lhs-article ol ul { list-style-type: circle; }

.lhs-article ol ol ul, .lhs-article ol ul ul, .lhs-article ul ol ul, .lhs-article ul ul ul { list-style-type: square; }

.basic-page .lhs-article { padding: 0; width: auto; }

.categories > li:nth-child(1) { border-top: none; }

.categories > li { font-family: 'Montserrat Light', Arial, Helvetica, sans-serif; line-height: 16px; font-size: 16px; border-top: 1px solid #d9d9d9; position: relative; }
@media (min-width: 1140px) { .categories > li { line-height: 16px; font-size: 16px; } }

.categories li a:hover, .categories li.active a { font-family: 'Montserrat Semi Bold', Arial, Helvetica, sans-serif; }

.categories > li a { display: block; width: 100%; color: #000000; font-size: 16px; padding: 7px 0; z-index: 1; }

.link-list li { margin-bottom: 10px; font-family: "Montserrat Bold", Arial, Helvetica, sans-serif; position: relative; line-height: 19px; }

.link-list li a { display: block; margin-left: 20px; }

.link-list li.active a { color: #6D6D6D; }

.link-list li a:before { content: ''; background: url("/images/jvh/ui/cta-arrow-std.svg") no-repeat center center; background-size: 11px 11px; width: 11px; height: 11px; position: absolute; left: 0; top: 4px; }

@media (min-width: 768px) { .link-list li.active a:before { background-image: url("/images/jvh/ui/cta-arrow-grey.svg"); } }

.wide-rhs-aside aside .link-list li { margin-bottom: 5px; }

@media (min-width: 768px) { .wide-rhs-aside aside .link-list li a { margin-left: 20px; } }

@media (min-width: 768px) { .wide-rhs-aside aside .link-list li a:before { background-image: url("/images/jvh/ui/cta-arrow.svg"); margin-right: 5px; } }

@media (min-width: 768px) { .wide-rhs-aside aside .link-list li.active a:before { background-image: url("/images/jvh/ui/cta-arrow.svg"); } }

.lhs-article .sticky-scroll { margin: 0px 0 0 -37px; position: absolute; list-style-type: none; padding: 0 0 0 0; right: 10px; -webkit-transition: all 300ms; transition: all 300ms; }
@media (min-width: 1140px) { .lhs-article .sticky-scroll { left: 100%; } }

@media (min-width: 1140px) { .show-menu .lhs-article .sticky-scroll.fixed { top: 248px; } }

.lhs-article .sticky-scroll.fixed.up { top: initial; bottom: 40px; }

.lhs-article .sticky-scroll.fixed { position: fixed; margin: 0 0 0 -37px; right: 10px; top: 120px; }
@media (min-width: 768px) { .lhs-article .sticky-scroll.fixed { right: 20px; top: 190px; } }
@media (min-width: 1140px) { .lhs-article .sticky-scroll.fixed { left: 60%; top: 200px; } }

.lhs-article .sticky-scroll li { text-align: center; height: 18px; line-height: 18px; width: 18px; margin: 6px 0 6px 0; }
@media (min-width: 768px) { .lhs-article .sticky-scroll li { margin: 10px 0 10px 0; } }

.lhs-article .sticky-scroll li a { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; display: block; color: #FD8A52; font-size: 18px; border-radius: 3px; }

.lhs-article .sticky-scroll li a:hover { border: none; color: #FD8A52; font-size: 25px; }

.basic-page .sticky-scroll, .basic-page .back-top, .basic-page aside { display: none; }

.divide { margin-bottom: 30px; padding-bottom: 15px; }

.line-divide { border-bottom: 1px solid #d9d9d9; margin-bottom: 30px; padding-bottom: 15px; }

.lhs-article table th { border-bottom: 1px solid #e8e7e7; line-height: 18px; }

.lhs-article table td { padding: 15px 10px; line-height: 15px; }

.cookie-policy .lhs-article table td:nth-child(2), .lhs-article table th:nth-child(2) { width: 35%; }

.cookie-policy .lhs-article table td, .cookie-policy .lhs-article table th { width: 15%; }

@media (min-width: 1140px) { .cookie-policy::before { background: #22a8b3 url("/images/jvh/help-centre/sub-pages/cookie-policy.svg") no-repeat bottom right; } }

@media (min-width: 1140px) { .privacy-policy::before { background: #8da7b3 url("/images/jvh/help-centre/sub-pages/privacy-policy.svg") no-repeat bottom right; } }

@media (min-width: 1140px) { .booking-conditions::before { background: #1bb1c9 url("/images/jvh/help-centre/sub-pages/booking-conditions.svg") no-repeat bottom right; } }

@media (min-width: 1140px) { .insurance-conditions::before { background: #f26061 url("/images/jvh/help-centre/sub-pages/insurance-conditions.svg") no-repeat bottom right; } }

@media (min-width: 1140px) { .essential-information::before { background: #9eceda url("/images/jvh/help-centre/sub-pages/essential-info.svg") no-repeat bottom right; } }

@media (min-width: 1140px) { .site-terms::before { background: #304d5b url("/images/jvh/help-centre/sub-pages/website-terms.svg") no-repeat bottom right; } }

@media (min-width: 1140px) { .stay-safe-on-holiday::before { background: #438595 url("/images/jvh/help-centre/sub-pages/stay-safe-on-holiday.svg") no-repeat bottom right; } }

@media (min-width: 1140px) { .site-map::before { background: #129acc url("/images/jvh/help-centre/sub-pages/site-map.svg") no-repeat bottom right; } }

.lhs-article ul.three-column-list { padding-left: 0px; margin-bottom: 0px; }

.lhs-article ul.three-column-list-small { padding-left: 0px; line-height: 18px; }

.lhs-article ul.three-column-list-destinations, .lhs-article ul.three-column-list-destinations ul { padding-left: 0px; line-height: 18px; }

@media (min-width: 768px) { .lhs-article ul.three-column-list-destinations { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; } }

.three-column-list li a, .three-column-list-small li a, .three-column-list-destinations li a { color: #000000; }

.three-column-list li { width: 100%; display: inline-block; padding-bottom: 35px; }
@media (min-width: 768px) { .three-column-list li { width: 33%; } }

.three-column-list-small li { width: 100%; display: inline-block; font-size: 13px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .three-column-list-small li { width: 33%; } }

.three-column-list-destinations li { display: block; vertical-align: top; break-inside: avoid-column; }

.three-column-list-destinations .tertiary li { display: block; font-size: 13px; width: 100%; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

.site-map div { margin-bottom: 30px; }
@media (min-width: 768px) { .site-map div { margin-bottom: 50px; } }

ul.breadcrumb { overflow-x: auto; list-style-type: none; white-space: nowrap; text-align: left; font-size: 13px; line-height: 17px; color: #000000; padding: 1px 0 0 0; margin-bottom: 15px; min-height: 30px; }
ul.breadcrumb.hero { position: relative; margin: 75px 20px 0; }
@media (min-width: 768px) { ul.breadcrumb.hero { margin-top: 10px; } }
@media (min-width: 1140px) { ul.breadcrumb.hero { margin-top: 20px; } }
ul.breadcrumb.corporate { margin: 15px 20px 20px 140px; }
ul.breadcrumb li { display: inline-block; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
ul.breadcrumb li a:link, ul.breadcrumb li a:hover, ul.breadcrumb li a:visited { color: #000000; }
ul.breadcrumb.white, ul.breadcrumb.white a:link, ul.breadcrumb.white a:hover, ul.breadcrumb.white a:visited { color: #FFFFFF; }
@media (max-width: 767px) { ul.breadcrumb.white.ribbon, ul.breadcrumb.white.ribbon a:link, ul.breadcrumb.white.ribbon a:hover, ul.breadcrumb.white.ribbon a:visited { color: #000000; } }
ul.breadcrumb span:before { content: '>'; width: 11px; height: 11px; padding: 0 5px 0 5px; }
ul.breadcrumb li:first-child span:before { content: ''; background: none; padding: 0; }
ul.breadcrumb li:last-child { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }

.search-push ul.breadcrumb.hero { margin-top: 20px; }
.search-push ul.breadcrumb.above-hero { margin-top: 10px; }

.modal-container { display: none; z-index: 105; text-align: left; position: fixed !important; top: 0; bottom: 0; left: 0; margin: auto; width: 100%; opacity: 0; overflow: auto; -webkit-overflow-scrolling: touch; -webkit-animation: 0.5s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0s fadeIn; animation-fill-mode: both; }
@media (min-width: 768px) { .modal-container { width: auto; max-width: 1148px; } }
.modal-container.saving { z-index: 12; }
.modal-container.modal-active { display: block; opacity: 1; }
.modal-container.styled #modalContent { padding: 20px; }
.modal-container button.close { background-color: transparent; }
.modal-container.no-close button.close { display: none; }
.modal-container input[type="text"], .modal-container input[type="email"], .modal-container input[type="password"], .modal-container input[type="number"], .modal-container input[type="tel"] { pointer-events: none; }
@media (min-width: 1140px) { .modal-container input[type="text"], .modal-container input[type="email"], .modal-container input[type="password"], .modal-container input[type="number"], .modal-container input[type="tel"] { pointer-events: auto; } }

.modal-cover { position: fixed; top: 0px; left: 0px; display: none; z-index: 500; background: #000000; width: 100%; height: 100%; opacity: 0; }

.modal-cover.modal-active { display: block; opacity: 0.65; }

.modal-content { position: relative; overflow: hidden; }

#modalContent { background: #FFFFFF; padding: 30px 0 15px 0; position: relative; width: 100%; min-width: 100px; min-height: 100vh; }
@media (min-width: 768px) { #modalContent { width: auto; padding: 0; min-height: 0; } }
#modalContent button[data-cancel], #modalContent button[data-submit], #modalContent button[data-ok] { margin: 20px 20px 0 0; }

button.close { background-color: transparent; color: #000000; text-indent: 200%; padding: 10px; cursor: pointer; text-align: center; font-size: 18px; font-weight: bold; overflow: hidden; width: 35px; height: 35px; position: absolute; z-index: 10; top: 0px; right: 0px; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
@media (min-width: 768px) { button.close { background: #FFFFFF; } }
button.close.fixed { position: fixed; }

button.outer.close { border-radius: 50%; top: 10px; right: 10px; }
@media (min-width: 768px) { button.outer.close { top: -15px; right: -15px; border-radius: 50%; box-shadow: 1px 2px 1px 0px rgba(0, 0, 0, 0.2); } }

button.close:before, button.close:after { content: ''; background-color: #000000; display: block; height: 10%; width: 50%; position: absolute; top: 42%; left: 26%; -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; -webkit-transform: rotate3d(0, 0, 1, 45deg); -ms-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); }

button.close:after { -webkit-transform: rotate3d(0, 0, 1, -45deg); -ms-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); }

button.close.success:before { -webkit-transform: rotateZ(135deg); -ms-transform: rotate(135deg); transform: rotateZ(135deg); top: 43%; left: 40%; }

button.close.success:after { height: 10%; width: 25%; -webkit-transform: rotateZ(45deg); -ms-transform: rotate(45deg); transform: rotateZ(45deg); top: 55%; left: 25%; }

.default-modal-content { width: auto; min-height: 200px; text-align: center; padding: 40px 15px; margin: auto; }
@media (min-width: 768px) { .default-modal-content { width: 500px; min-height: 200px; padding: 40px 30px; } }

.modal-error { padding: 30px 30px 25px; margin: 0 auto; width: 100%; overflow: hidden; text-align: center; }
@media (min-width: 768px) { .modal-error { width: 340px; } }

.modal-error h2 { text-transform: uppercase; text-align: center; font-size: 30px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

.modal-close { display: none; }

.inner-modal { position: absolute; top: 25%; width: 100%; height: calc(100vh - 56px); background-color: #FFFFFF; overflow: hidden; z-index: 150; padding: 40px 30px 30px 30px; text-align: center; border: 1px solid #D9D9D9; -webkit-transition: all 600ms ease-in-out; transition: all 600ms ease-in-out; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); }
.inner-modal.active { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
@media (min-width: 768px) { .inner-modal { height: auto; width: 80%; left: 10%; z-index: 15; } }
@media (min-width: 1140px) { .inner-modal { width: 50%; left: 25%; } }
.inner-modal p { margin: 0 0 15px 0; }

.transparent-modal #modalContent { background: transparent; }
@media (min-width: 768px) { .transparent-modal button.close { top: 15px; right: 15px; } }
.transparent-modal button.close:after, .transparent-modal button.close:before { background: white; }

aside.side-modal { background: #FFFFFF; width: 100%; }
@media (min-width: 768px) { aside.side-modal { position: absolute; overflow: hidden; z-index: 3; -webkit-transition: right 300ms; transition: right 300ms; width: 0; height: 0; right: -100%; top: 199px; } }
@media (min-width: 1140px) { aside.side-modal { top: 225px; } }
@media (max-width: 767px) { aside.side-modal { padding-top: 0; } }
aside.side-modal.active { right: 0; width: 100%; height: auto; }
@media (min-width: 768px) { aside.side-modal.active { width: 80%; } }
@media (min-width: 1140px) { aside.side-modal.active { width: 60%; } }
aside.side-modal.active.fixed-top { position: fixed; bottom: auto; }
@media (min-width: 768px) { aside.side-modal.active.fixed-top { top: 84px; } }
@media (min-width: 1140px) { aside.side-modal.active.fixed-top { top: 0; } }
@media (min-width: 1140px) and (min-height: 670px) { aside.side-modal.active.fixed-top { top: 95px; } }

aside.side-modal.active.fixed-bottom { position: fixed; bottom: 35px; top: auto; }
aside.side-modal.fixed { position: fixed; bottom: 40px; transform: translate3d(100%, 0, 0); transition: transform 300ms ease-in-out; top: 0; }
@media (min-width: 768px) and (min-height: 670px) { aside.side-modal.fixed { top: 84px; } }

@media (min-width: 1140px) and (min-height: 670px) { aside.side-modal.fixed { top: 95px; } }

aside.side-modal.active.fixed { transform: translate3d(0, 0, 0); }

aside .side-modal-inner { position: relative; }
@media (min-width: 768px) { aside .side-modal-inner { padding: 30px; } }

#modalContent { /* adjust font sizes so that mobiles don't auto zoom when inputting information */ }
#modalContent .login-modal { padding: 30px 0 0 0; margin: 0 auto; width: 100%; overflow: hidden; }
@media (min-width: 768px) { #modalContent .login-modal { width: 340px; } }
#modalContent .login-modal h2 { text-transform: uppercase; text-align: center; margin: 20px 0 40px 0; font-size: 30px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
#modalContent .login-modal div.login-container { padding: 0 5px; text-align: center; margin: 0 auto; max-width: 300px; }
@media (min-width: 768px) { #modalContent .login-modal div.login-container { padding: 0 25px; max-width: 100%; } }
#modalContent .login-modal button.cta { width: 100%; margin: 0 0 20px; }
#modalContent .login-modal.reauthenticate { padding: 30px 0 30px 0; }
#modalContent .login-modal.reauthenticate button.cta.google-plus, #modalContent .login-modal.reauthenticate button.cta.facebook { margin-top: 20px; }
#modalContent .login-modal.reauthenticate a.change-user { margin-bottom: 20px; display: inline-block; }
#modalContent .login-modal.reauthenticate #jvhLogin { margin-bottom: 0; }
#modalContent .login-modal.reauthenticate h2 { margin: 20px 0; }
#modalContent button.cta.email-sign-up-link { margin: 20px auto; }
#modalContent .login-modal form input[type="email"], #modalContent .login-modal form input[type="password"], #modalContent .login-modal form input[type="text"] { background-color: #f8f8f8; font-size: 16px; line-height: 16px; }
@media (min-width: 1140px) { #modalContent .login-modal form input[type="email"], #modalContent .login-modal form input[type="password"], #modalContent .login-modal form input[type="text"] { font-size: 14px; line-height: 14px; } }
#modalContent .login-modal #jvhResetPassword { margin-top: 20px; clear: both; }
#modalContent .login-modal.agent-login-modal .confirmation p { margin-bottom: 20px; }
#modalContent .login-modal.agent-login-modal #jvhResetPassword { margin-top: 0px; clear: both; }
#modalContent .other-pax-login > p { margin-bottom: 20px; }
#modalContent .other-pax-login #jvhOtherPaxLogin { margin: 0 auto 20px; }
#modalContent .other-pax-login .login-link { font-size: 13px; margin-bottom: 20px; display: inline-block; }
#modalContent #jvhLoginForm { margin: 20px auto 20px auto; max-width: 400px; clear: both; display: block; }
#modalContent .forgot-password-link, #modalContent .other-pax-login-link { font-size: 13px; line-height: 17px; display: block; margin-bottom: 20px; }
#modalContent .forgot-password-link span, #modalContent .other-pax-login-link span { text-decoration: underline; }
#modalContent .other-pax-login-link { margin-bottom: 20px; }
#modalContent .login-container > span { text-transform: uppercase; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 15px; }
#modalContent #jvhLoginForm .password .input-replacement, #modalContent #jvhLoginForm .password label { margin-bottom: 5px; }
#modalContent .login-modal .dotted-grey-strip { margin: 25px 0; background: #f8f8f8; border-top: 2px dashed #EEEEEE; border-bottom: 2px dashed #EEEEEE; padding: 15px 0; text-align: center; width: 100%; font-size: 13px; }
#modalContent .login-modal div.dotted-grey-strip > a { display: block; text-transform: uppercase; margin-bottom: 10px; }
#modalContent .login-modal div.dotted-grey-strip a.email-sign-up-link { font-size: 14px; }
#modalContent .login-modal.client-login .dotted-grey-strip { margin: 0; }
#modalContent .login-modal .password-reset p { font-size: 14px; }
#modalContent .login-modal button.cta.google-plus, #modalContent .login-modal button.cta.facebook { margin: 0 auto 20px; }
#modalContent .login-modal .error.message { margin-top: 20px; }
#modalContent .login-modal .error.message.google-error-message, #modalContent .login-modal .error.message.facebook-error-message { margin-top: 0; margin-bottom: 20px; }
#modalContent .reset-password-form h2 { margin-bottom: 30px; }
#modalContent .reset-password-form p { font-size: 11px; line-height: 15px; margin-bottom: 20px; }
#modalContent .reset-password-form .confirmation, #modalContent .agent-reset-password-form .confirmation { display: none; padding: 0 0 30px; }
#modalContent .reset-password-form .confirmation h3, #modalContent .agent-reset-password-form .confirmation h3 { text-transform: uppercase; text-align: center; }
#modalContent .email-sign-up-form form p { font-size: 11px; text-align: left; margin-bottom: 0; margin-top: 15px; clear: both; }
#modalContent .email-sign-up-form .login-container > p { margin-bottom: 20px; }
#modalContent .email-sign-up-form h2 { margin-bottom: 20px; }
#modalContent .email-sign-up-form input[type="text"] { background: url("/images/jvh/ui/user.svg") no-repeat right 5px center; background-size: 35px 26px; padding-right: 40px; }
#modalContent .email-sign-up-form .email-opt-in { clear: both; margin-top: 12px; }
#modalContent .email-sign-up-form form > div.email-opt-in label { float: left; margin-left: 10px; clear: none; font-size: 13px; }
#modalContent .email-sign-up-form .email-opt-in .check-replacement { float: left; margin-top: -3px; }
#modalContent #jvhSignUp { margin-top: 20px; }
#modalContent .email-signup-confirmation { display: none; }
#modalContent .change-password { margin: 0 auto; max-width: 600px; padding: 40px 0; }
#modalContent .change-password .error-summary { display: none; }
#modalContent .change-password h2 { margin: 0 0 20px; }
#modalContent .change-password p { margin: 0 0 20px; }
#modalContent .change-password #submitChangePassword { margin: 0 auto 20px; display: block; }
#modalContent .switch-login-type { background-color: #FD8A52; padding: 5px 10px; position: relative; text-align: center; color: white; width: 100%; overflow: hidden; display: block; text-transform: uppercase; }
#modalContent .switch-login-type:after { content: ''; background: url("/images/jvh/ui/cta-arrow.svg") no-repeat center center; color: #FFFFFF; border-radius: 21px; display: inline-block; height: 27px; width: 27px; line-height: 27px; border: 1px solid #FFFFFF; vertical-align: middle; margin-left: 15px; }
#modalContent .agent-login-modal { padding: 20px; text-align: center; }
#modalContent .agent-login-modal > p { margin-bottom: 20px; text-align: left; }
#modalContent .agent-login-modal > p a.tel { color: #000000; }
#modalContent .agent-login-modal .forgot-password-link { margin-bottom: 20px; display: inline-block; }
#modalContent .agent-login-modal .tipto-logo { width: 75px; margin-top: 20px; }
#modalContent .agent-login-modal .found-it { margin-bottom: 20px; }
#modalContent .agent-login-modal.agent-reset-password-form .request-password-reset p, #modalContent .agent-login-modal.confirmation .request-password-reset p { margin-bottom: 20px; }

button.cta.facebook { background-color: #3b5999; border: 1px solid #3b5999; }

button.cta.twitter { background-color: #1DA1F2; border: 1px solid #1DA1F2; }

button.cta.google-plus { background-color: #db4834; border: 1px solid #db4834; }

button.cta.with-logo { padding: 0 16px 0 45px; }
button.cta.with-logo:after { right: auto; left: 15px; border: none; border-radius: 0; top: 9px; width: 25px; height: 20px; }
button.cta.with-logo:hover:after { border: none; border-radius: 0; }
button.cta.with-logo.with-logo:after, button.cta.with-logo.with-logo:hover:after { background-image: url("/images/jvh/ui/icon-social-facebook-alt.svg"); background-size: 21px auto; }
button.cta.with-logo.with-logo:after { background-position: 0 0; }
button.cta.with-logo.with-logo:hover:after { border: none; background-position: 0 -31px; }

button.cta.with-logo.google-plus.with-logo:after, button.cta.with-logo.google-plus.with-logo:hover:after { background-image: url("/images/jvh/ui/icon-social-google-plus-alt.svg"); }
button.cta.with-logo.google-plus.with-logo:hover:after { background-position: 0 -23px; }

button.cta.facebook:hover, button.cta.twitter:hover, button.cta.google-plus:hover { background-color: #FFFFFF; }

button.cta.facebook:hover { color: #3b5999; }

button.cta.twitter:hover { color: #1DA1F2; }

button.cta.google-plus:hover { color: #db4834; }

button.cta.facebook:hover:after { background: url("/images/jvh/ui/cta-arrow-fb.svg") no-repeat center center; border: 1px solid #3b5999; }

button.cta.twitter:hover:after { background: url("/images/jvh/ui/cta-arrow-twitter.svg") no-repeat center center; border: 1px solid #1DA1F2; }

button.cta.google-plus:hover:after { background: url("/images/jvh/ui/cta-arrow-gplus.svg") no-repeat center center; border: 1px solid #db4834; }

.error404 section { width: 100%; text-align: center; position: absolute; top: 5%; }
@media (min-width: 768px) { .error404 section { top: 15%; } }
@media (min-width: 1140px) { .error404 section { width: 50%; left: 7%; top: 22%; } }

.error404 .page { background-color: #129acc; background-image: url("/images/jvh/error/404.svg"); background-repeat: no-repeat; background-position: center bottom; background-size: 130%; width: 100%; height: 100%; min-height: 800px; color: #ffffff; }
@media (min-width: 1140px) { .error404 .page { background-position: center center; } }

.error404 section h1 { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 60px; }
@media (min-width: 768px) { .error404 section h1 { font-size: 80px; } }

.error404 section .sub-heading { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 40px; line-height: 40px; }
@media (min-width: 768px) { .error404 section .sub-heading { font-size: 56px; line-height: 56px; } }

.error404 .error-text { width: 70%; margin: 35px auto 20px auto; }

.error404 .cta { margin: 15px 3px 0 3px; }
@media (min-width: 768px) { .error404 .cta { margin: 15px 3px 0 3px; } }

.error .page { background: url("/images/jvh/error/err-bg.jpg") #129acc; width: 100%; height: 100%; min-height: 800px; color: #ffffff; }

.error section.error-main { width: 100%; background-color: #129acc; text-align: center; position: absolute; top: 15%; padding: 2% 0 5% 0; }
@media (min-width: 768px) { .error section.error-main { padding: 2% 0 5% 0; top: 15%; } }
@media (min-width: 1140px) { .error section.error-main { width: 40%; top: 17%; left: 30%; min-width: 580px; } }

.error section.error-sub { width: 100%; background-color: #129acc; text-align: center; position: absolute; top: 35%; padding: 2% 0 5% 0; }
@media (min-width: 768px) { .error section.error-sub { padding: 2% 0 5% 0; top: 35%; } }
@media (min-width: 1140px) { .error section.error-sub { width: 5%; top: 50%; left: 45%; } }

.error section h1 { font-family: 'Montserrat Semi Bold', Arial, Helvetica, sans-serif; text-transform: uppercase; color: #ffffff; -webkit-text-stroke: 2px #ffffff; -webkit-text-fill-color: #129acc; font-size: 80px; }
@media (min-width: 768px) { .error section h1 { font-size: 150px; } }

.error .error-text { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 25px; line-height: 30px; margin: 0px auto 40px auto; width: 80%; }
@media (min-width: 768px) { .error .error-text { font-size: 30px; } }

.upload-error section { padding: 40px; min-height: 300px; }
.upload-error section p { margin-bottom: 20px; }

.review-disclaimer { font-size: 12px; line-height: 14px; margin: 15px; padding-bottom: 10px; }

.reevoo-score { color: #FFA000; font-family: "ForzaBold", Arial, Helvetica, sans-serif; }

.sub-text { display: block; }

.reevoo-score-one-large { font-size: 55px; }

.reevoo-score-two-large { font-size: 45px; }

.reevoo-score-one-medium { font-size: 35px; }

.reevoo-score-two-medium { font-size: 30px; }

.reevoo-score-one-small { font-size: 18px; }

.reevoo-score-two-small { font-size: 16px; }

.reevoo-score-one-search { font-size: 25px; }

.reevoo-score-two-search { font-size: 20px; }

.reevoo-sub-score { font-family: "RobotoLight", Arial, Helvetica, sans-serif; display: block; text-align: left; display: inline-block; vertical-align: top; }

.reevoo-sub-score-large { font-size: 22px; padding-top: 6px; width: 108px; line-height: 22px; }

.reevoo-sub-score-medium { font-size: 16px; margin-right: 14px; }

.reevoo-sub-score-small { font-size: 9px; line-height: 80%; }

.reevoo-sub-score-search { vertical-align: baseline; font-size: 11px; display: block; line-height: 80%; font-weight: bold; text-indent: 3px; }

.review a, .review a:hover { text-decoration: none; }

.reevoo-quotes { display: inline-block; background-repeat: no-repeat; background-image: url("/images/reevoo/reevoo-quotes.svg"); }

.reevoo-quotes-large { background-size: 18px; height: 18px; width: 18px; padding-bottom: 34px; }

.reevoo-quotes-medium { background-size: 12px; height: 12px; width: 12px; padding-bottom: 20px; }

.reevoo-quotes-small { background-size: 10px; height: 10px; width: 10px; padding-bottom: 2px; }

.reevoo-read-reviews { display: inline-block; }

.reevoo-read-reviews-large { font-size: 14px; }

.reevoo-read-reviews-medium { font-size: 14px; }

.reevoo-read-reviews-small { font-size: 16px; }

.reevoo-logo { display: inline-block; height: 25px; background-repeat: no-repeat; background-image: url("/images/reevoo/reevoo-logo.svg"); background-position: 0px 0px; vertical-align: top; color: transparent; }

.reevoo-logo-large { background-size: 100px; width: 100px; margin-top: 0; }

.reevoo-logo-homepage { background-size: 130px; width: 110px; height: 23px; display: block; margin: 6px auto 4px auto; }

.reevoo-logo-medium { background-size: 100px; width: 100px; }

.reevoo-logo-small { background-size: 70px; width: 70px; }

.reevoo-bg-box-large, .reevoo-bg-box-medium { margin-top: 12px; padding-bottom: 6px; }

.reevoo-bg-box-small { margin-top: 0px; padding-bottom: 0px; }

.reevoos-small a, .reevoos-small a:hover { text-decoration: none; padding: 10px 5px 0px 5px; }

.reevoo-link { display: none; }
@media (min-height: 670px) { .reevoo-link { display: block; padding: 15px 15px 15px 15px; position: relative; } }
@media (min-width: 768px) { .reevoo-link { padding: 10px 20px 10px 20px; } }
@media (min-width: 1140px) and (min-height: 770px) { .reevoo-link { padding: 10px 20px 10px 20px; } }

.reevoos-large > div { margin-bottom: 0; }

.reevoos-large > div > div { display: inline-block; width: 108px; }

.reevoos-large a { color: #000000; }

.reevoo-read-reviews:after { content: ''; background: url("/images/jvh/ui/cta-arrow-black.svg") transparent no-repeat center center; width: 15px; height: 15px; padding: 0px 0 2px 15px; background-size: 50%; }

.reevoo-summary { position: relative; min-height: 75px; }

.reevoo-summary-text { position: absolute; font-size: 12px; top: 25px; width: 55%; }
@media (min-width: 768px) { .reevoo-summary-text { width: 290px; } }

.reevoo-link { min-height: 75px; }

.reevoo-link .reevoo-summary-header { position: absolute; font-size: 12px; top: 5px; }

.reevoo-summary .reevoo-logo { display: block; left: 0px; position: relative; margin-top: 8px; }

.reevoo-summary-score { position: absolute; width: 108px; top: 0px; left: 65%; }
@media (min-width: 768px) { .reevoo-summary-score { left: 295px; } }

.reevoo-summary-score .reevoo-sub-score-large { padding-top: 0px; }

.reevoo-summary-text .reevoo-logo-medium { margin-top: 3px; }

.temperature { display: none; }
.temperature.active { display: block; visibility: visible; color: #FFFFFF; position: relative; }
.temperature.active p { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 18px; line-height: 20px; display: block; }
.temperature.active div { display: inline-block; vertical-align: top; padding-top: 15px; }
@media (min-width: 1140px) { .temperature.active div { padding-top: 25px; } }
.temperature.active div span { font-size: 30px; }
@media (min-width: 1140px) { .temperature.active div span { font-size: 42px; } }

.weather { width: 80px; height: 80px; display: inline-block; background-size: 120%; background-position: center; background-repeat: no-repeat; }
@media (min-width: 1140px) { .weather { width: 120px; height: 120px; } }

.weather-800 { background-image: url("/images/jvh/ui/weather/day/sunny.svg"); }

.weather-801, .weather-802, .weather-803, .weather-804 { background-image: url("/images/jvh/ui/weather/day/cloudy.svg"); }

.weather-200, .weather-201, .weather-202, .weather-210, .weather-211, .weather-212, .weather-221, .weather-230, .weather-231, .weather-232, .weather-901 { background-image: url("/images/jvh/ui/weather/day/tstorms.svg"); }

.weather-300, .weather-301, .weather-302, .weather-310, .weather-311, .weather-312, .weather-313, .weather-314, .weather-321, .weather-500, .weather-501, .weather-502, .weather-503, .weather-504, .weather-511, .weather-520, .weather-521, .weather-522, .weather-531, .weather-611, .weather-612, .weather-615, .weather-616, .weather-620, .weather-701 { background-image: url("/images/jvh/ui/weather/day/rain.svg"); }

.weather-600, .weather-601, .weather-621, .weather-622 { background-image: url("/images/jvh/ui/weather/day/snow.svg"); }

.weather-711, .weather-731, .weather-761, .weather-762 { background-image: url("/images/jvh/ui/weather/day/unknown.svg"); }

.weather-721 { background-image: url("/images/jvh/ui/weather/day/hazy.svg"); }

.weather-741 { background-image: url("/images/jvh/ui/weather/day/fog.svg"); }

.weather-771, .weather-781, .weather-900, .weather-902, .weather-905, .weather-957, .weather-751 { background-image: url("/images/jvh/ui/weather/day/wind.svg"); }

.weather-904 { background-image: url("/images/jvh/ui/weather/day/veryhot.svg"); }

.weather-906 { background-image: url("/images/jvh/ui/weather/day/hail.svg"); }

.weather-night-800 { background-image: url("/images/jvh/ui/weather/night/sunny.svg"); }

.weather-night-801, .weather-night-802, .weather-night-803, .weather-night-804 { background-image: url("/images/jvh/ui/weather/night/cloudy.svg"); }

.weather-night-200, .weather-night-201, .weather-night-202, .weather-night-210, .weather-night-211, .weather-night-212, .weather-night-221, .weather-night-230, .weather-night-231, .weather-night-232, .weather-night-901 { background-image: url("/images/jvh/ui/weather/night/tstorms.svg"); }

.weather-night-300, .weather-night-301, .weather-night-302, .weather-night-310, .weather-night-311, .weather-night-312, .weather-night-313, .weather-night-314, .weather-night-321, .weather-night-500, .weather-night-501, .weather-night-502, .weather-night-503, .weather-night-504, .weather-night-511, .weather-night-520, .weather-night-521, .weather-night-522, .weather-night-531, .weather-night-611, .weather-night-612, .weather-night-615, .weather-night-616, .weather-night-620, .weather-night-701 { background-image: url("/images/jvh/ui/weather/night/rain.svg"); }

.weather-night-600, .weather-night-601, .weather-night-621, .weather-night-622 { background-image: url("/images/jvh/ui/weather/night/snow.svg"); }

.weather-711, .weather-731, .weather-761, .weather-762 { background-image: url("/images/jvh/ui/weather/night/unknown.svg"); }

.weather-721 { background-image: url("/images/jvh/ui/weather/night/hazy.svg"); }

.weather-741 { background-image: url("/images/jvh/ui/weather/night/fog.svg"); }

.weather-771, .weather-781, .weather-900, .weather-902, .weather-905, .weather-957 { background-image: url("/images/jvh/ui/weather/night/wind.svg"); }

.weather-904 { background-image: url("/images/jvh/ui/weather/night/veryhot.svg"); }

.weather-906 { background-image: url("/images/jvh/ui/weather/night/hail.svg"); }

.coloured-weather .weather-800 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/sunny.svg"); }
.coloured-weather .weather-801, .coloured-weather .weather-802, .coloured-weather .weather-803, .coloured-weather .weather-804 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/cloudy.svg"); }
.coloured-weather .weather-200, .coloured-weather .weather-201, .coloured-weather .weather-202, .coloured-weather .weather-210, .coloured-weather .weather-211, .coloured-weather .weather-212, .coloured-weather .weather-221, .coloured-weather .weather-230, .coloured-weather .weather-231, .coloured-weather .weather-232, .coloured-weather .weather-901 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/tstorms.svg"); }
.coloured-weather .weather-300, .coloured-weather .weather-301, .coloured-weather .weather-302, .coloured-weather .weather-310, .coloured-weather .weather-311, .coloured-weather .weather-312, .coloured-weather .weather-313, .coloured-weather .weather-314, .coloured-weather .weather-321, .coloured-weather .weather-500, .coloured-weather .weather-501, .coloured-weather .weather-502, .coloured-weather .weather-503, .coloured-weather .weather-504, .coloured-weather .weather-511, .coloured-weather .weather-520, .coloured-weather .weather-521, .coloured-weather .weather-522, .coloured-weather .weather-531, .coloured-weather .weather-611, .coloured-weather .weather-612, .coloured-weather .weather-615, .coloured-weather .weather-616, .coloured-weather .weather-620, .coloured-weather .weather-701 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/rain.svg"); }
.coloured-weather .weather-600, .coloured-weather .weather-601, .coloured-weather .weather-621, .coloured-weather .weather-622 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/snow.svg"); }
.coloured-weather .weather-711, .coloured-weather .weather-731, .coloured-weather .weather-761, .coloured-weather .weather-762 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/unknown.svg"); }
.coloured-weather .weather-721 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/hazy.svg"); }
.coloured-weather .weather-741 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/fog.svg"); }
.coloured-weather .weather-771, .coloured-weather .weather-781, .coloured-weather .weather-900, .coloured-weather .weather-902, .coloured-weather .weather-905, .coloured-weather .weather-957 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/wind.svg"); }
.coloured-weather .weather-904 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/veryhot.svg"); }
.coloured-weather .weather-906 { background-image: url("/images/jvh/ui/weather/coloured-icons/day/hail.svg"); }
.coloured-weather .weather-night-800 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/sunny.svg"); }
.coloured-weather .weather-night-801, .coloured-weather .weather-night-802, .coloured-weather .weather-night-803, .coloured-weather .weather-night-804 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/cloudy.svg"); }
.coloured-weather .weather-night-200, .coloured-weather .weather-night-201, .coloured-weather .weather-night-202, .coloured-weather .weather-night-210, .coloured-weather .weather-night-211, .coloured-weather .weather-night-212, .coloured-weather .weather-night-221, .coloured-weather .weather-night-230, .coloured-weather .weather-night-231, .coloured-weather .weather-night-232, .coloured-weather .weather-night-901 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/tstorms.svg"); }
.coloured-weather .weather-night-300, .coloured-weather .weather-night-301, .coloured-weather .weather-night-302, .coloured-weather .weather-night-310, .coloured-weather .weather-night-311, .coloured-weather .weather-night-312, .coloured-weather .weather-night-313, .coloured-weather .weather-night-314, .coloured-weather .weather-night-321, .coloured-weather .weather-night-500, .coloured-weather .weather-night-501, .coloured-weather .weather-night-502, .coloured-weather .weather-night-503, .coloured-weather .weather-night-504, .coloured-weather .weather-night-511, .coloured-weather .weather-night-520, .coloured-weather .weather-night-521, .coloured-weather .weather-night-522, .coloured-weather .weather-night-531, .coloured-weather .weather-night-611, .coloured-weather .weather-night-612, .coloured-weather .weather-night-615, .coloured-weather .weather-night-616, .coloured-weather .weather-night-620, .coloured-weather .weather-night-701 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/rain.svg"); }
.coloured-weather .weather-night-600, .coloured-weather .weather-night-601, .coloured-weather .weather-night-621, .coloured-weather .weather-night-622 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/snow.svg"); }
.coloured-weather .weather-711, .coloured-weather .weather-731, .coloured-weather .weather-761, .coloured-weather .weather-762 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/unknown.svg"); }
.coloured-weather .weather-721 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/hazy.svg"); }
.coloured-weather .weather-741 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/fog.svg"); }
.coloured-weather .weather-771, .coloured-weather .weather-781, .coloured-weather .weather-900, .coloured-weather .weather-902, .coloured-weather .weather-905, .coloured-weather .weather-957 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/wind.svg"); }
.coloured-weather .weather-904 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/veryhot.svg"); }
.coloured-weather .weather-906 { background-image: url("/images/jvh/ui/weather/coloured-icons/night/hail.svg"); }

.stat-counter { border: 1px solid #000000; border-radius: 50%; width: 40px; height: 40px; line-height: 38px; display: inline-block; text-align: center; font-weight: bold; font-size: 16px; }
.stat-counter.white { border: 1px solid #FFFFFF; }
.stat-counter.small { width: 30px; height: 30px; line-height: 28px; font-size: 14px; }
.stat-counter.small.hundred { font-size: 12px; line-height: 19px; }
.stat-counter.small.thousand { font-size: 9px; line-height: 19px; }
.stat-counter.medium { width: 50px; height: 50px; line-height: 46px; font-size: 14px; }
.stat-counter.large { width: 85px; height: 85px; line-height: 85px; font-size: 26px; }

.wide-rhs-aside aside .stat-counter { border-color: white; }

.disclaimer { text-align: center; color: #FFFFFF; font-size: 12px; line-height: 16px; }

.social-buttons .facebook, .social-buttons .fb-send, .social-buttons .twitter, .social-buttons .gplus, .social-buttons .pinterest { float: left; width: 49px; }
.social-buttons .fb-send { min-width: 62px; }
.social-buttons .twitter { width: 63px; overflow: hidden; }
.social-buttons .gplus { width: 40px; overflow: hidden; }
.social-buttons .pinterest { overflow: hidden; }

.villa-shortlist-panel { vertical-align: bottom; display: inline-block; vertical-align: top; background-color: #4D637E; color: white; font-size: 10px; padding: 2px 7px 0px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: uppercase; min-height: 35px; }
.villa-shortlist-panel .shortlist-heart:BEFORE { width: 13px; height: 13px; }
.villa-shortlist-panel .shortlist-copy-wrapper { display: inline-block; white-space: nowrap; }
.villa-shortlist-panel .copy { display: none; line-height: 11px; }
@media (min-width: 768px) { .villa-shortlist-panel .copy { display: inlne; } }
@media (min-width: 850px) { .villa-shortlist-panel .copy { display: none; } }
@media (min-width: 1140px) { .villa-shortlist-panel .copy { display: inline; } }
.villa-shortlist-panel > span.populate-likes { font-size: 17px; display: inline-block; vertical-align: top; float: left; padding-right: 5px; display: none; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .villa-shortlist-panel > span.populate-likes { display: inlne-block; } }
@media (min-width: 850px) { .villa-shortlist-panel > span.populate-likes { display: none; } }
@media (min-width: 1140px) { .villa-shortlist-panel > span.populate-likes { display: inline-block; } }

.info-hint { position: relative; padding: 0 0 0 5px; display: inline-block; cursor: pointer; text-transform: none; }
.info-hint > span:first-of-type { border: 1px solid black; border-radius: 50%; width: 15px; height: 15px; display: inline-block; padding: 0; text-align: center; line-height: 1.2; font-size: 12px; }
.info-hint:hover table { display: block; }

.info-hint table { display: none; position: absolute; bottom: 32px; right: -20px; background-color: #0A0A0A; color: white; font-size: 11px; line-height: 14px; z-index: 11; padding: 4px; min-width: 150px; }
.info-hint table:after { content: ' '; border: 12px solid #0A0A0A; border-color: #0A0A0A transparent transparent; width: 1px; display: inline-block; height: 1px; position: absolute; bottom: -25px; right: 15px; }
.info-hint table td { padding: 2px 5px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
.info-hint table th { padding: 2px 5px; }
.info-hint table a { color: white; }
.info-hint table .total { border-top: 1px solid white; padding-top: 1px; }
.info-hint table .total td { padding: 5px 5px 2px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }

.info-hint.below:hover table { bottom: auto; top: 32px; }
.info-hint.below:hover table:after { bottom: auto; top: -25px; border-color: transparent transparent #0A0A0A; }

.collection-colour .info-hint > span { border-color: inherit; }

.photo-sprite:before { background: url("/images/jvh/ui/camera-printer.svg") no-repeat left center; }

.photo-sprite.photos.salmon:before { background-position: -77px 4px; width: 35px; height: 35px; }

.photo-sprite.photos.salmon:after { background: -webkit-radial-gradient(center, ellipse cover, #fd6d52 0%, rgba(253, 109, 82, 0) 100%); background: radial-gradient(ellipse at center, #fd6d52 0%, rgba(253, 109, 82, 0) 100%); }

.photo-sprite.photos.black:before { background-position: -115px 4px; width: 35px; height: 35px; }

.photo-sprite.photos { text-transform: uppercase; position: relative; }

.photo-sprite.photos.cta { padding: 0 16px 0 16px; }

.photo-sprite.photos.cta:hover:before { background: url("/images/jvh/ui/camera-printer.svg") no-repeat -65px center; background-size: cover; }

.photo-sprite.photos:before { display: inline-block; vertical-align: middle; content: ''; width: 35px; height: 30px; background-size: cover; margin: 0 5px 0 0; }

.photo-sprite.photos:after { content: ''; width: 50px; display: block; height: 50px; border-radius: 50%; background: -webkit-radial-gradient(center, ellipse cover, white 0%, rgba(255, 255, 255, 0) 100%); background: radial-gradient(ellipse at center, white 0%, rgba(255, 255, 255, 0) 100%); position: absolute; top: -17px; left: 2px; opacity: 0; }

.photo-sprite.photos.camera-centre:after { right: 0; margin: 0 auto; }

.photo-sprite.photos:hover:after { -webkit-animation: 0.4s ease-in 0s flash; -webkit-animation-fill-mode: both; animation: 0.4s ease-in 0s flash; animation-fill-mode: both; }

div.content-tile.review-block.lazy-loaded { position: relative; background-color: #95B5CB; overflow: hidden; height: auto; }
@media (min-width: 768px) { div.content-tile.review-block.lazy-loaded { background: url("/images/jvh/customer-reviews/refresh/review-bg.jpg") no-repeat fixed top left; } }

.reevoos-container { background-color: #FFFFFF; position: relative; width: 95%; margin: auto; z-index: 1; padding: 60px 0 0 0; }
@media (min-width: 768px) { .reevoos-container { width: 60%; margin: 0 auto 0 4%; padding: 60px 0 3% 0; } }
@media (min-width: 1140px) { .reevoos-container { margin: 0 auto 0 4%; } }
@media (min-width: 1400px) { .reevoos-container { width: 50%; margin: auto; } }

.reevoos-container h3 { text-transform: uppercase; text-align: center; margin-bottom: 30px; }

.reevoos-container h3 span { display: block; font-weight: bold; }

.review-block aside { min-height: 100px; color: #FFFFFF; z-index: 1; }
@media (min-width: 768px) { .review-block aside { width: 25%; } }
@media (min-width: 1140px) { .review-block aside { width: 18%; } }

aside.reviews-left { display: none; }
@media (min-width: 1400px) { aside.reviews-left { display: block; position: absolute; left: 4%; top: 10%; } }

aside.reviews-right { display: none; }
@media (min-width: 768px) { aside.reviews-right { display: block; position: absolute; right: 8%; top: 2%; } }
@media (min-width: 1140px) { aside.reviews-right { right: 15%; top: 5%; } }
@media (min-width: 1400px) { aside.reviews-right { right: 5%; top: 8%; } }

.review-block aside ul { position: relative; }

.review-block aside li { opacity: 0; background: url("/images/jvh/customer-reviews/refresh/reviews bubbles.svg") top left no-repeat; color: transparent; position: absolute; }

.review-block aside li.in-view { opacity: 1; }

.review-block aside li.visited { background-position: -30px -20px; width: 330px; height: 160px; background-size: 240%; color: #FFFFFF; }

.review-block aside li.must-see { background-position: -23px -135px; width: 130px; height: 120px; top: 130px; }

.review-block aside li.great-escape { background-position: -21px -280px; width: 220px; height: 100px; left: 110px; top: 155px; }

.review-block aside li.stay-again { background-position: -250px -292px; width: 220px; height: 110px; left: 70px; top: 0; }

.review-block aside li.thanks { background-position: -260px -10px; width: 220px; height: 110px; left: -80px; top: 60px; }

.review-block aside li.book-again { cursor: pointer; background-position: -260px -145px; width: 160px; height: 120px; left: 90px; top: 98px; }

.visited-text { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 28px; position: relative; top: 25px; left: 00px; text-align: center; display: block; width: 180px; }

.num-visited { display: block; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; font-size: 40px; }

.so-far { font-size: 26px; position: absolute; top: 25px; left: 160px; width: 120px; text-transform: uppercase; text-align: center; }

.pop-in-0.in-view { -webkit-animation: 0.5s ease-in-out 0s bounceIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0s bounceIn; animation-fill-mode: both; }

.pop-in-1.in-view { -webkit-animation: 0.5s ease-in-out 0.2s bounceIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0.2s bounceIn; animation-fill-mode: both; }

.pop-in-2.in-view { -webkit-animation: 0.5s ease-in-out 0.5s bounceIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0.5s bounceIn; animation-fill-mode: both; }

.pop-in-3.in-view { -webkit-animation: 0.5s ease-in-out 0.7s bounceIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0.7s bounceIn; animation-fill-mode: both; }

.pop-in-4.in-view { -webkit-animation: 0.5s ease-in-out 0.8s bounceIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0.8s bounceIn; animation-fill-mode: both; }

.pop-in-5.in-view { -webkit-animation: 0.5s ease-in-out 1s bounceIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 1s bounceIn; animation-fill-mode: both; }

#galleryViewer { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translate3d(0px, 0px, 0px) scale3d(0.1,0.1,0.1); -ms-transform: translate3d(0px, 0px, 0px) scale3d(0.1,0.1,0.1); transform: translate3d(0px, 0px, 0px) scale3d(0.1,0.1,0.1); background-color: white; z-index: 210; padding: 0 10px; opacity: 0; overflow: hidden; -webkit-transition: all 1000ms ease-in-out; transition: all 1000ms ease-in-out; }
@media (min-width: 768px) { #galleryViewer { padding: 0px 40px; } }
@media (min-width: 1140px) { #galleryViewer { padding: 0px 50px; } }

#galleryViewer.show { display: block; opacity: 1; -webkit-transform: translate3d(0px, 0px, 0px) scale3d(1,1,1); -ms-transform: translate3d(0px, 0px, 0px) scale3d(1,1,1); transform: translate3d(0px, 0px, 0px) scale3d(1,1,1); }

#galleryViewer button.close { top: 5px; right: 5px; }

#galleryViewer .transition, #galleryViewer .slide-panel img { -webkit-transition: all 300ms; transition: all 300ms; }

#galleryViewer .slide-panel-container { margin: 40px auto 0; position: relative; height: calc(100% - 100px); min-width: 280px; }

#galleryViewer .slide-panel-container:before, #galleryViewer .slide-panel-container:after { background-color: rgba(255, 255, 255, 0.7); height: 100%; position: absolute; width: 1000px; left: -1000px; top: 0; content: ''; z-index: 1; }

#galleryViewer .slide-panel-container:after { right: -1000px; left: auto; }

#galleryViewer .slide-panel { display: block; height: 100%; }

#galleryViewer .slide-panel li { display: inline-block; height: 100%; vertical-align: top; padding: 0px 5px; }
@media (min-width: 768px) { #galleryViewer .slide-panel li { padding: 0px 20px; } }
@media (min-width: 1140px) { #galleryViewer .slide-panel li { padding: 0px 40px; } }

#galleryViewer .slide-panel li img { margin: 0 auto; display: block; width: 100%; max-height: 100%; max-width: 100%; }

#galleryViewer .slide-panel li:first-child img { width: auto; }

#galleryViewer .gallery-control { position: absolute; width: 100%; left: 0; text-align: center; padding-top: 10px; z-index: 2; background-color: white; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

#galleryViewer .gallery-control button { text-transform: uppercase; }

#galleryViewer .gallery-progress-controls { text-align: right; margin-bottom: 20px; margin-top: -60px; background: rgba(0, 0, 0, 0.25); padding: 4px; }
@media (min-width: 768px) { #galleryViewer .gallery-progress-controls { margin-bottom: 28px; } }

#galleryViewer .image-progress { display: none; }
@media (min-width: 768px) { #galleryViewer .image-progress.active { display: inline-block; } }
#galleryViewer .image-progress li { display: inline-block; margin: 0 4px; width: 6px; height: 6px; cursor: pointer; background-color: rgba(255, 255, 255, 0.5); border-radius: 50%; }
@media (min-width: 768px) { #galleryViewer .image-progress li { width: 10px; height: 10px; } }
@media (min-width: 1140px) { #galleryViewer .image-progress li { width: 12px; height: 12px; } }
#galleryViewer .image-progress li.selected { background-color: white; }

#galleryViewer .gallery-progress-controls .next, #galleryViewer .gallery-progress-controls .prev { background: url("/images/jvh/ui/cta-arrow.svg") center center no-repeat transparent; background-size: 50%; border: 1px solid white; width: 32px; height: 32px; text-indent: 50px; overflow: hidden; }

#galleryViewer .gallery-progress-controls .prev { -webkit-transform: scaleX(-1); -ms-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH"; }

#galleryViewer .next.disable, #galleryViewer .prev.disable { border: 1px solid rgba(255, 255, 255, 0.3); }

#galleryViewer .thumb-panel-container { -webkit-transform: translate3d(0px, 100px, 0px); -ms-transform: translate3d(0px, 100px, 0px); transform: translate3d(0px, 100px, 0px); padding: 20px; background-color: white; margin-top: 10px; position: relative; }

#galleryViewer .thumb-panel-container.more { -webkit-transform: translate3d(0px, 300px, 0px); -ms-transform: translate3d(0px, 300px, 0px); transform: translate3d(0px, 300px, 0px); }

#galleryViewer .active .thumb-panel-container.more, #galleryViewer .active .thumb-panel-container { -webkit-transform: translate3d(0px, 0px, 0px); -ms-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); }

#galleryViewer .thumb-panel { display: block; min-width: 100%; }

#galleryViewer .thumb-panel li { padding: 0 5px; max-height: 87px; overflow: hidden; display: inline-block; }
@media (min-width: 768px) { #galleryViewer .thumb-panel li { padding: 0 10px; } }

#galleryViewer .thumb-panel li img { width: 62px; cursor: pointer; }
@media (min-width: 768px) { #galleryViewer .thumb-panel li img { width: 128px; } }

#galleryViewer .thumb-panel li.selected img { border: 1px solid black; }

#galleryViewer .thumb-panel-container .next, #galleryViewer .thumb-panel-container .prev { width: 30px; height: 86px; background-color: rgba(0, 0, 0, 0.5); position: absolute; right: 0; top: 0; margin: 20px 0 0; text-indent: 30px; overflow: hidden; }

#galleryViewer .thumb-panel-container .prev { right: auto; left: 0; }

#galleryViewer .thumb-panel-container .next:after, #galleryViewer .thumb-panel-container .prev:after { content: ''; display: inline-block; width: 10px; height: 20px; position: absolute; top: 45%; left: 10px; background: url("/images/jvh/holiday-destinations/thumbnail-arrow-right.svg") center center no-repeat transparent; }

#galleryViewer .img-n-of { float: left; display: inline; color: white; font-size: 13px; line-height: 32px; }

#galleryViewer .desc { text-shadow: 1px 1px 1px black; color: white; font-size: 10px; clear: both; }
@media (min-width: 768px) { #galleryViewer .desc { font-size: 12px; } }

#galleryViewer .thumb-panel-container .prev:after { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }

.tab-container, .sub-tab-container { background: rgba(255, 255, 255, 0.8); }

.tab-container > h2, .sub-tab-container h2 { margin-bottom: 0; }

.mobile-tab { display: block; width: 100%; text-align: center; border: 1px solid #000000; padding: 8px 0; }
@media (min-width: 768px) { .mobile-tab { display: none; } }

ul.tabs { display: none; }
@media (min-width: 768px) { ul.tabs { text-align: center; display: block; border-width: 1px 1px 0px 1px; border-style: solid; border-color: #000000; } }

.tabs > li { position: relative; display: block; text-align: center; vertical-align: bottom; font-size: 14px; color: #FD8A52; }
@media (min-width: 768px) { .tabs > li { padding-top: 5px; width: auto; display: inline-block; } }
@media (min-width: 1140px) { .tabs > li { font-size: 18px; } }

.tabs > li button::after, .mobile-tab::after { content: ''; background: url("/images/jvh/ui/drop-down-arrow-salmon.svg") no-repeat center center; padding: 0 0 0 15px; height: 20px; width: 20px; display: inline-block; vertical-align: text-bottom; }
@media (min-width: 768px) { .tabs > li button::after, .mobile-tab::after { background: none; padding: 0; height: 0; width: 0; } }

.tabs > li button.active::after, .mobile-tab.active::after { content: ''; background: url("/images/jvh/ui/drop-down-arrow-white.svg") no-repeat center center; padding: 0 0 0 15px; height: 20px; width: 20px; display: inline-block; vertical-align: text-bottom; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }
@media (min-width: 768px) { .tabs > li button.active::after, .mobile-tab.active::after { background: none; padding: 0; height: 0; width: 0; } }

.tabs > li button.active, .mobile-tab.active { width: 100%; background: #606060; color: #FFFFFF; }

.tabs button { display: none; }
@media (min-width: 768px) { .tabs button { display: block; width: 100%; background: transparent; min-height: 40px; padding: 0 20px; } }

.tabbed-content { position: relative; width: 100%; display: none; opacity: 0; -webkit-animation: 0.5s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0s fadeIn; animation-fill-mode: both; border: 1px solid #000000; background: #FFFFFF; padding: 10px; }

.no-js .tabbed-content { display: block; }

.tabbed-content.active { display: block; opacity: 1; }

.pagination-controls { text-align: center; display: block; }
@media (min-width: 480px) { .pagination-controls { display: inline-block; min-height: 40px; text-align: left; padding: 0; } }
@media (min-width: 768px) { .pagination-controls { padding: 0 8px 0 0; } }
@media (min-width: 1140px) { .pagination-controls { padding: 0 12px 0 0; } }
.pagination-controls.truncate li { display: none; }
.pagination-controls.truncate li:nth-of-type(-n+2) { display: inline-block; }
.pagination-controls.truncate li:nth-of-type(-n+2).page-separator { display: none; }
.pagination-controls.truncate li:nth-last-child(-n+2) { display: inline-block; }
.pagination-controls.truncate li:nth-last-child(-n+2).page-separator { display: none; }
.pagination-controls.truncate li.current, .pagination-controls.truncate li.page-separator, .pagination-controls.truncate li.surrounding { display: inline-block; }
.pagination-controls.truncate li.page-separator { border: none; min-width: auto; }
.pagination-controls li { position: relative; display: none; min-width: 40px; height: 40px; background: #FFFFFF; margin: 0 4px 12px 0; line-height: 40px; text-transform: uppercase; text-align: center; cursor: pointer; border: 1px solid #D9D9D9; }
@media (min-width: 480px) { .pagination-controls li { margin: 0 8px 12px 0; } }
.pagination-controls li.current { color: #FD8A52; }
.pagination-controls li.next-prev { padding: 0 5px; }
@media (min-width: 850px) { .pagination-controls li.next-prev { padding: 0 12px; } }
.pagination-controls li.next-prev.disabled { color: #d9d9d9; cursor: default; }
.pagination-controls li:nth-of-type(-n+2) { display: inline-block; }
.pagination-controls li:nth-last-child(-n+2) { display: inline-block; }
.pagination-controls li.current, .pagination-controls li.page-separator, .pagination-controls li.surrounding { display: inline-block; }
.pagination-controls li.page-separator { border: none; min-width: auto; }

.no-js .pagination-controls { display: none; }

.results-count { display: inline-block; height: 40px; line-height: 40px; }

.video-wrapper { padding: 20px 20px 20px 20px; text-align: center; }

.pagination-container { position: absolute; z-index: 2; width: 100%; text-align: center; bottom: 10px; }
@media (min-width: 1140px) { .pagination-container { bottom: 30px; } }
.pagination-container .pagination { display: inline-block; height: 10px; padding: 0; }
.pagination-container .pagination li { position: relative; display: inline-block; height: 10px; width: 10px; min-width: 10px; padding: 0; border-radius: 50%; background-color: transparent; border: 2px solid #FFFFFF; margin-right: 5px; cursor: pointer; }
.pagination-container .pagination li.current.disabled { background-color: #FFFFFF; cursor: default; -webkit-transition: all 1500ms ease-in; transition: all 1500ms ease-in; }
.pagination-container .pagination li:last-child { margin-right: 0; }

.countdown { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-direction: normal; -webkit-box-orient: horizontal; -webkit-flex-direction: normal; -moz-flex-direction: normal; -ms-flex-direction: normal; flex-direction: normal; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; -moz-align-items: center; align-items: center; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; color: #000000; }
.countdown li { display: inline-block; text-align: center; font-size: 25px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; line-height: 25px; border: 1px solid #D9D9D9; width: 24%; padding: 5px 0; background-color: #FFFFFF; }
@media (min-width: 768px) { .countdown li { font-size: 35px; line-height: 35px; } }
.countdown li span:nth-child(2) { display: block; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 9px; line-height: 9px; text-transform: uppercase; }
@media (min-width: 768px) { .countdown li span:nth-child(2) { font-size: 12px; line-height: 12px; } }

.featured-promo { background-color: #252525; color: #FFFFFF; position: relative; overflow: hidden; cursor: pointer; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; align-items: center; justify-content: center; }
.featured-promo > div { text-align: center; }
.featured-promo > div > p { padding-left: 10px; padding-right: 10px; }
.featured-promo .promo-image { display: none; }
.featured-promo .promo-image > h2 { display: none; }
.featured-promo .promo-image > p { display: none; }
.featured-promo .image-attribution { display: none; }
.featured-promo .counting-down { padding: 0px; background: white; color: black; margin-top: 5px; margin-bottom: 5px; line-height: 120%; }
.featured-promo .countdown { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-direction: normal; -webkit-box-orient: horizontal; -webkit-flex-direction: normal; -moz-flex-direction: normal; -ms-flex-direction: normal; flex-direction: normal; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -moz-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; -moz-align-items: center; align-items: center; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; color: #000000; }
.featured-promo .countdown li { display: inline-block; min-width: 24%; padding: 5px 0; margin: 0 10px; background-color: transparent; border: none; }
.featured-promo .countdown li span:nth-child(2) { display: block; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: uppercase; background-color: transparent; color: #FFFFFF; padding: 6px; }
.featured-promo .countdown li span:first-of-type { font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; text-align: center; display: block; background-color: #000000; color: #FFFFFF; border: 1px solid #000000; border-radius: 5%; width: auto; height: 44px; line-height: 44px; margin: 0 0 5px 0; }
.featured-promo.resort-promo { background-position: center center; background-size: cover; background-repeat: no-repeat; }
.featured-promo.resort-promo > div { text-transform: uppercase; position: relative; width: 100%; height: 100%; }
.featured-promo.resort-promo > div .resort-details { position: absolute; bottom: 70px; left: 0; width: 100%; padding: 0 10px; }
@media (min-width: 768px) { .featured-promo.resort-promo > div .resort-details { bottom: 50px; } }
@media (min-width: 1140px) { .featured-promo.resort-promo > div .resort-details { bottom: 35px; } }
.featured-promo.resort-promo > div:before { content: ' '; position: absolute; top: 40px; left: 0; right: 0; bottom: 0; background: transparent; background: -webkit-linear-gradient(legacy-direction(to bottom), transparent 20%, rgba(0, 0, 0, 0.85) 100%); background: linear-gradient(to bottom, transparent 20%, rgba(0, 0, 0, 0.85) 100%); pointer-events: none; }
.featured-promo.resort-promo p.terms { display: none; }
.featured-promo.resort-promo.small-promo p.terms { display: block; text-transform: none; }
.featured-promo.small-promo h2 { font-size: 24px; font-weight: bold; text-transform: uppercase; margin-bottom: 0; }
.featured-promo.small-promo p.main-text { display: none; }
.featured-promo.small-promo p.terms { text-align: right; font-size: 12px; color: #000000; background-color: #FFFFFF; position: absolute; bottom: -19px; right: 0; width: 100%; padding-right: 0px; padding-left: 0px; }
@media (min-width: 768px) { .featured-promo.small-promo p.terms { font-size: 10px; } }
@media (min-width: 1140px) { .featured-promo.small-promo p.terms { font-size: 12px; } }
.featured-promo.small-promo a.cta { display: none; }
.featured-promo.small-promo .counting-down { margin-left: 10px; margin-right: 10px; }
.featured-promo.small-promo.resort-promo > div .resort-details { font-size: 15px; }
.featured-promo.medium-promo h2 { font-size: 24px; font-weight: bold; text-transform: uppercase; margin-bottom: 6px; }
@media (min-width: 1140px) { .featured-promo.medium-promo h2 { font-size: 22px; } }
@media (min-width: 1400px) { .featured-promo.medium-promo h2 { font-size: 24px; } }
.featured-promo.medium-promo p { font-size: 14px; margin-bottom: 6px; }
@media (min-width: 1140px) { .featured-promo.medium-promo p { font-size: 12px; } }
@media (min-width: 1400px) { .featured-promo.medium-promo p { font-size: 14px; } }
.featured-promo.medium-promo p.terms { font-size: 12px; text-transform: uppercase; }
.featured-promo.medium-promo .countdown li span { font-size: 9px; }
@media (min-width: 768px) { .featured-promo.medium-promo .countdown li span { font-size: 12px; } }
.featured-promo.medium-promo .countdown li span:first-of-type { font-size: 25px; }
@media (min-width: 768px) { .featured-promo.medium-promo .countdown li span:first-of-type { font-size: 30px; } }
@media (min-width: 1400px) { .featured-promo.medium-promo .countdown li span:first-of-type { font-size: 35px; } }
.featured-promo.medium-promo.resort-promo > div .resort-details { font-size: 22px; }
.featured-promo.medium-promo.resort-promo > div .resort-details p { font-size: 18px; }
.featured-promo.large-promo div { padding: 20px; }
.featured-promo.large-promo h2 { font-size: 32px; font-weight: bold; text-transform: uppercase; }
.featured-promo.large-promo p { font-size: 20px; margin-bottom: 8px; }
.featured-promo.large-promo p.terms { font-size: 15px; text-transform: uppercase; margin: 15px 0; }
.featured-promo.large-promo .countdown { margin-bottom: 0; }
@media (min-width: 1400px) { .featured-promo.large-promo .countdown { margin-bottom: 5px; } }
.featured-promo.large-promo .countdown li span { font-size: 9px; }
@media (min-width: 768px) { .featured-promo.large-promo .countdown li span { font-size: 12px; } }
.featured-promo.large-promo .countdown li span:first-of-type { font-size: 25px; }
@media (min-width: 768px) { .featured-promo.large-promo .countdown li span:first-of-type { font-size: 35px; } }
@media (min-width: 1400px) { .featured-promo.large-promo .countdown li span:first-of-type { font-size: 45px; } }
.featured-promo.large-promo.resort-promo > div { min-height: 200px; }
.featured-promo.large-promo.resort-promo > div .resort-details { font-size: 25px; }

.lt-ie10 .featured-promo { display: inline-block; }

.accom-container .featured-promo.small-promo { line-height: normal; padding: 10px 0; }
.accom-container .featured-promo.small-promo p.terms { display: none; }
.accom-container .featured-promo.small-promo a.cta { display: inline-block; margin-top: 10px; }

.booking .featured-promo { cursor: auto; }
.booking .featured-promo .promo-snippet, .booking .featured-promo .image-attribution, .booking .featured-promo .image-attribution-resort { display: none; }
.booking .featured-promo .promo-image, .booking .featured-promo .promo-image > h2, .booking .featured-promo .promo-image > p { display: block; padding-top: 0; }
.booking .featured-promo .promo-image.no-background { background-image: none; }
.booking .featured-promo.small-promo p.terms { text-align: center; text-transform: uppercase; color: #FFFFFF; background-color: transparent; position: relative; bottom: auto; right: auto; }
.booking .featured-promo.small-promo a.cta { display: none; }

.promos { background-color: #E9573E; color: #FFFFFF; padding: 5px 15px; line-height: 19px; }
.promos ul { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: uppercase; margin: 5px 0 0 0; }
.promos ul li { margin: 2px 0 2px 0; padding: 0 0 0 10px; position: relative; }
.promos ul li:before { content: '- '; position: absolute; top: 0; left: 0; }
.promos em { font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; font-weight: bold; }

ul.resort-promos { position: relative; width: 95%; margin: auto; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-direction: normal; -webkit-box-orient: horizontal; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-pack: start; -ms-flex-pack: start; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; justify-content: flex-start; -webkit-box-align: stretch; -ms-flex-align: stretch; -webkit-align-items: stretch; -moz-align-items: stretch; align-items: stretch; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
@media (min-width: 768px) { ul.resort-promos { margin: 0; width: 100%; } }
ul.resort-promos li { background: transparent; color: #000000; text-align: center; visibility: hidden; opacity: 0; -webkit-transition: all 600ms; transition: all 600ms; -webkit-transform: rotateY(180deg); -ms-transform: rotateY(180deg); transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden; width: 95%; margin: 0 auto 15px auto; }
@media (min-width: 768px) { ul.resort-promos li { width: 230px; margin: 0 15px 15px 0; } }
@media (min-width: 1140px) { ul.resort-promos li { width: 250px; margin: 0 30px 30px 0; } }
ul.resort-promos .promo-block { background: #FFFFFF; padding: 15px; }
ul.resort-promos li.visible { visibility: visible; opacity: 1; -webkit-transform: rotateY(360deg); -ms-transform: rotateY(360deg); transform: rotateY(360deg); }
ul.resort-promos .table-wrap { display: table; width: 100%; }
ul.resort-promos li.image.image-block { float: left; }
ul.resort-promos li.image.promo-block { float: right; }
ul.resort-promos li div div:first-of-type > div { text-align: center; width: 100%; display: table-cell; }
@media (min-width: 768px) { ul.resort-promos li div div:first-of-type > div { width: 195px; height: 140px; } }
@media (min-width: 1140px) { ul.resort-promos li div div:first-of-type > div { width: 230px; height: 135px; } }
ul.resort-promos time { display: block; }
ul.resort-promos .ts-and-cs { cursor: pointer; font-size: 14px; margin: 10px 0 0 0; }
@media (min-width: 768px) { ul.resort-promos .ts-and-cs { font-size: 12px; } }
@media (min-width: 1140px) { ul.resort-promos .ts-and-cs { font-size: 14px; } }
ul.resort-promos .ts-and-cs.chevron-link { font-size: 12px; color: black; }
ul.resort-promos .ts-and-cs.chevron-link:after { background-size: 35%; }
ul.resort-promos .ts-and-cs-details { display: none; }
ul.resort-promos span { display: block; }
ul.resort-promos .light { font-size: 18px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: uppercase; }
ul.resort-promos .title { font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; font-size: 50px; text-transform: uppercase; }
ul.resort-promos .standard-promo { font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; font-size: 22px; text-transform: uppercase; vertical-align: middle; }
@media (min-width: 1140px) { ul.resort-promos .standard-promo { font-size: 25px; } }
ul.resort-promos .up-to { text-align: left; margin-left: 20px; }
ul.resort-promos .percent { font-size: 100px; }
ul.resort-promos .percent-off { position: relative; display: inline-block; font-size: 25px; width: 50px; text-align: left; text-transform: uppercase; }
@media (min-width: 768px) { ul.resort-promos .percent-off { font-size: 30px; } }
ul.resort-promos .depart-dates { margin: 10px 0; text-transform: uppercase; font-size: 18px; }
@media (min-width: 768px) { ul.resort-promos .depart-dates { min-height: 60px; } }
ul.resort-promos .depart-dates p:first-of-type { font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; }
ul.resort-promos .cta { margin-bottom: 15px; }

.promo-apply { display: none; }

.promo-terms-modal { text-align: left; line-height: 19px; }
.promo-terms-modal p { margin-bottom: 8px; }
.promo-terms-modal h2 { line-height: 29px; }

.impulse { text-align: center; color: #FFFFFF; padding: 20px 20px 180px 20px; }
.impulse h3 { text-transform: uppercase; margin: 0 0 20px 0; }
.impulse p { margin: 0 0 20px 0; }
.impulse.baggage { background: url("/images/jvh/ui/suitcase.jpg") center 130px no-repeat #E57979; }

.homepage .promo-comp-block li.comp-block, .big-menu.active .offers-comp-pick > ul > li.comp-block { display: none; background-position: center center; background-size: cover; background-repeat: no-repeat; background-color: #DCDCDC; position: relative; height: 170px; }
.homepage .promo-comp-block li.comp-block.active, .big-menu.active .offers-comp-pick > ul > li.comp-block.active { display: flex; }
.homepage .promo-comp-block li.comp-block .inner, .big-menu.active .offers-comp-pick > ul > li.comp-block .inner { text-align: center; position: absolute; bottom: 15px; left: 0; width: 100%; }
.homepage .promo-comp-block li.comp-block .expired, .big-menu.active .offers-comp-pick > ul > li.comp-block .expired { display: none; }
.homepage .promo-comp-block li.comp-block h4, .big-menu.active .offers-comp-pick > ul > li.comp-block h4 { font-size: 28px; line-height: 28px; color: white; margin-bottom: 10px; }
.homepage .promo-comp-block li.comp-block p, .big-menu.active .offers-comp-pick > ul > li.comp-block p { color: #ffffff; font-size: 15px; line-height: 16px; margin-bottom: 10px; padding: 0 20px; }
.homepage .promo-comp-block li.comp-block a.terms, .big-menu.active .offers-comp-pick > ul > li.comp-block a.terms { color: #ffffff; }
.homepage .promo-comp-block li.comp-block:before, .big-menu.active .offers-comp-pick > ul > li.comp-block:before { content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: transparent; background: -webkit-linear-gradient(legacy-direction(to bottom), transparent, rgba(0, 0, 0, 0.66)); background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.66)); }
.homepage .promo-comp-block li.comp-block span.status, .big-menu.active .offers-comp-pick > ul > li.comp-block span.status { position: absolute; font-size: 18px; margin: 0; line-height: 26px; padding: 0 10px 0 10px; text-transform: uppercase; background: #FD8A52; color: #FFFFFF; top: 12px; left: 12px; }
.homepage .promo-comp-block li.comp-block span.status.lapsed, .big-menu.active .offers-comp-pick > ul > li.comp-block span.status.lapsed { background: #000000; }
.homepage .promo-comp-block li.comp-block a.cta, .big-menu.active .offers-comp-pick > ul > li.comp-block a.cta { margin: 0 auto 10px auto; font-size: 13px; display: block; width: 240px; }

.big-menu.active .offers-comp-pick > ul > li.comp-block.active:nth-child(even) { display: none; }
@media (min-width: 1140px) { .big-menu.active .offers-comp-pick > ul > li.comp-block.active { display: flex; }
  .big-menu.active .offers-comp-pick > ul > li.comp-block.active:nth-child(even) { display: flex; } }
.big-menu.active .offers-comp-pick > ul > li.comp-block .inner { bottom: 30px; }
.big-menu.active .offers-comp-pick > ul > li.comp-block span.status, .big-menu.active .offers-comp-pick > ul > li.comp-block p { display: none; }
.big-menu.active .offers-comp-pick > ul > li.comp-block a.cta { margin: 20px auto 0; font-size: 13px; }
.big-menu.active .offers-comp-pick > ul > li.comp-block a.terms { text-align: right; font-size: 12px; color: #000000; background-color: #FFFFFF; position: absolute; bottom: -46px; right: 0; width: 100%; padding-right: 0px; padding-left: 0px; }

.james-recommends-container { background-image: url("/images/jvh/james-recommends/refresh/backgrounds/james-recommends-landing-bg.jpg"); background-repeat: no-repeat; background-position: top left; background-size: cover; position: relative; width: 100%; height: 100%; color: #FFFFFF; text-align: center; overflow: hidden; }
.james-recommends-container.fixed { background-attachment: fixed; }
.james-recommends-container .intro-copy { width: 95%; margin: 0 auto 20px auto; }
@media (min-width: 768px) { .james-recommends-container .intro-copy { width: 90%; } }
@media (min-width: 1140px) { .james-recommends-container .intro-copy { width: 50%; } }
.james-recommends-container ul.jr-categories { margin: 0 0 30px 0; max-width: 100%; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-direction: normal; -webkit-box-orient: horizontal; -webkit-flex-direction: normal; -moz-flex-direction: normal; -ms-flex-direction: normal; flex-direction: normal; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -moz-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; -moz-align-items: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.james-recommends-container ul.jr-categories li { display: block; position: relative; width: 95%; margin: 20px; min-height: 250px; border: 1px solid #FFFFFF; background-size: cover; cursor: pointer; opacity: 0; visibility: hidden; overflow: hidden; -webkit-transition: all 0.3s linear; transition: all 0.3s linear; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); }
@media (min-width: 480px) { .james-recommends-container ul.jr-categories li { width: 40%; min-width: 225px; } }
@media (min-width: 768px) { .james-recommends-container ul.jr-categories li { width: 42%; min-width: 280px; } }
@media (min-width: 1140px) { .james-recommends-container ul.jr-categories li { width: 17%; cursor: default; } }
@media (min-width: 1400px) { .james-recommends-container ul.jr-categories li { width: 21.25%; } }
.james-recommends-container ul.jr-categories li.visible { opacity: 1; visibility: visible; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
.james-recommends-container ul.jr-categories li:before { content: ' '; position: absolute; top: 40px; left: 0; right: 0; bottom: 0; background: -webkit-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 50%, black 100%); background: linear-gradient(to bottom, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 50%, black 100%); pointer-events: none; }
.james-recommends-container .info-link { pointer-events: none; position: absolute; top: 120px; left: 0; right: 0; width: 100%; height: 100%; padding: 20px; -webkit-transition: all 300ms; transition: all 300ms; }
.james-recommends-container .info-link .stat-counter { margin-bottom: 5px; -webkit-animation: 0.5s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0s fadeIn; animation-fill-mode: both; }
.james-recommends-container .jr-cat-heading { display: block; text-transform: uppercase; font-size: 18px; margin-bottom: 15px; }
.james-recommends-container .info-link > p { font-size: 14px; display: none; opacity: 0; }
.james-recommends-container .info-link .cta { margin-top: 15px; display: none; opacity: 0; }
.james-recommends-container .jr-categories li:hover .info-link { pointer-events: all; top: 0px; bottom: 0px; background: rgba(0, 0, 0, 0.6); }
.james-recommends-container .jr-categories li:hover p, .james-recommends-container .jr-categories li:hover a.cta { display: inline-block; opacity: 1; -webkit-animation: 0.5s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0s fadeIn; animation-fill-mode: both; }
.james-recommends-container .jr-categories li:hover .stat-counter { display: none; }

.james-recommends-container:before { content: ' '; position: absolute; left: 0; right: 0; bottom: 0; height: 80%; background: -moz-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 40%, black 100%); background: -webkit-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 40%, black 100%); background: linear-gradient(to bottom, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 40%, black 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e5799', endColorstr='#000000',GradientType=0 ); pointer-events: none; }

#jr-intro header h2 { padding: 30px 30px 0 50px; }
@media (min-width: 768px) { #jr-intro header h2 { padding: 10px 0 0 0; } }

@media (min-width: 768px) { #jr-intro { background-size: auto 950px; } }

#jr-intro header { padding-top: 75px; }
@media (min-width: 768px) { #jr-intro header { padding-top: 115px; } }

.jr-count-name { color: #FFFFFF; font-size: 12px; width: 100px; text-align: center; }
@media (min-width: 1140px) { .jr-count-name { float: right; } }

.jr-count-name span { margin: auto; }

.james-recommends .content-tile .accom-block { width: 100%; position: relative; min-height: 250px; width: 85%; margin: auto; z-index: 1; padding: 0 0 15px 0; top: auto; margin-left: 0; }
@media (max-width: 767px) { .james-recommends .content-tile .accom-block { margin-left: 45px; } }
@media (min-width: 768px) { .james-recommends .content-tile .accom-block { position: absolute; padding: 0; bottom: 80px; left: 8%; width: 85%; min-height: 380px; } }
@media (min-width: 1140px) { .james-recommends .content-tile .accom-block { left: 37%; width: 60%; min-height: 420px; } }

.james-recommends .content-tile .accom-block.tall { min-height: 350px; }
@media (min-width: 768px) { .james-recommends .content-tile .accom-block.tall { min-height: 490px; } }
@media (min-width: 1140px) { .james-recommends .content-tile .accom-block.tall { min-height: 530px; } }

.james-recommends .content-tile .accom-block .accom-welcome { text-align: center; color: #FFFFFF; left: 0; right: 0; }
.james-recommends .content-tile .accom-block .accom-welcome .icons { display: inline-block; }
.james-recommends .content-tile .accom-block .accom-welcome p { display: none; }
@media (min-height: 670px) { .james-recommends .content-tile .accom-block .accom-welcome p { display: block; height: 120px; overflow-y: scroll; } }
@media (min-width: 768px) { .james-recommends .content-tile .accom-block .accom-welcome p { min-height: 120px; max-height: 200px; margin: 20px 0  0 0; } }
.james-recommends .content-tile .accom-block .accom-welcome button { margin: auto; display: block; }
.james-recommends .content-tile .accom-block .accom-welcome a { margin: 20px 0 0 0; }

.left-nav .search-button { margin: 0px 15px 15px 15px; }
@media (min-height: 670px) { .left-nav .search-button { display: block; } }
@media (min-width: 768px) { .left-nav .search-button { margin: 0px 20px 30px 20px; } }
@media (min-width: 1140px) { .left-nav .search-button { margin: 0px 20px 30px 20px; } }

.james-recommends div.content-tile { background-position: bottom right; }

.james-recommends-links { width: 50%; }

.james-recommends-links h2 a:after { content: ''; background: url("/images/jvh/ui/cta-arrow-black.svg") transparent no-repeat center center; width: 15px; height: 15px; padding: 0px 0 2px 25px; background-size: 40%; }

.jr-feature-container { height: 100px; }
@media (min-width: 768px) { .jr-feature-container { height: 130px; } }

.james-recommends-links .jr-feature-list li { overflow: hidden; display: inline-block; float: left; margin: 0 20px 0 0; position: relative; width: 100px; height: 100px; }
@media (min-width: 768px) { .james-recommends-links .jr-feature-list li { width: 130px; height: 130px; } }
.james-recommends-links .jr-feature-list a { display: block; color: #000000; font-size: 12px; text-transform: uppercase; }
.james-recommends-links .jr-feature-list span { color: #ffffff; display: block; text-align: center; margin: 10px 0 0 0; line-height: 16px; position: absolute; bottom: 8px; z-index: 1; padding: 0 2px; width: 100px; }
@media (min-width: 768px) { .james-recommends-links .jr-feature-list span { width: 130px; } }
.james-recommends-links .jr-feature-list a:after { content: ''; position: absolute; top: 5px; left: 0; background: -moz-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 40%, black 100%); background: -webkit-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 40%, black 100%); background: linear-gradient(to bottom, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 40%, black 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e5799', endColorstr='#000000',GradientType=0 ); width: 100px; height: 100px; }
@media (min-width: 768px) { .james-recommends-links .jr-feature-list a:after { width: 130px; height: 130px; } }

.nonbeta { display: none !important; }

.left-nav-intro { padding: 15px 15px 15px 15px; position: relative; display: none; }
@media (min-height: 670px) { .left-nav-intro { display: block; } }
@media (min-width: 768px) { .left-nav-intro { padding: 20px; } }
@media (min-width: 1140px) { .left-nav-intro { padding: 40px 20px 20px 20px; } }

.left-nav-intro h1 { margin-bottom: 0px; font-size: 25px; }
@media (min-width: 768px) { .left-nav-intro h1 { margin-bottom: 20px; } }
@media (min-width: 1140px) { .left-nav-intro h1 { font-size: 30px; } }

.left-nav.active { left: 0; width: 85%; }

.left-nav { height: 100%; display: block; width: 80%; position: absolute; top: auto; background: #ffffff; z-index: 2; left: -80%; border-right: solid 1px #d9d9d9; -webkit-transition: all 300ms; transition: all 300ms; -webkit-backface-visibility: hidden; }
@media (min-width: 768px) { .left-nav { width: 50%; height: auto; } }
@media (min-width: 1140px) { .left-nav { left: 0; width: 32%; display: inline-block; position: absolute; bottom: 0px; padding-top: 72px; } }

.left-nav.no-slide { width: 100%; position: relative; left: 0; border-right: none; }
@media (min-width: 768px) { .left-nav.no-slide { position: absolute; width: 40%; } }
@media (min-width: 1140px) { .left-nav.no-slide { width: 32%; } }

.show-menu .left-nav.fixed { top: 105px; }
@media (min-width: 768px) { .show-menu .left-nav.fixed { top: 170px; } }
@media (min-width: 1140px) { .show-menu .left-nav.fixed { top: 0px; padding-top: 186px; } }

.left-nav.fixed { position: fixed; height: 100%; top: 56px; padding-top: 0px; }
@media (min-width: 768px) { .left-nav.fixed { position: fixed; height: 100%; top: 56px; } }
@media (min-width: 1140px) { .left-nav.fixed { top: 0; } }
@media (min-width: 1140px) and (min-height: 770px) { .left-nav.fixed { top: 0px; padding-top: 52px; transition: padding-top 300ms; } }

.left-nav.map-top { top: 95px; padding-top: 0; min-height: 850px; }
@media (min-width: 1140px) { .left-nav.map-top { top: 95px; padding-top: 0; min-height: 850px; } }

.left-nav.fixed .categories { -webkit-transition: all 400ms; transition: all 400ms; margin: 15px 15px 15px 15px; overflow-y: auto; clear: both; }
@media (min-width: 768px) { .left-nav.fixed .categories { margin: 0px 20px 15px 20px; } }
@media (min-width: 1140px) { .left-nav.fixed .categories { margin: 0px 20px 15px 20px; } }

.left-nav .categories { width: auto; height: auto; margin: 15px 15px 15px 15px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
@media (min-width: 1140px) { .left-nav .categories { margin: 0px 20px 15px 20px; } }
@media (min-width: 1140px) { .left-nav .categories { margin: 0px 20px 15px 20px; } }

.faq-container .left-nav .categories { margin: 0; }

.category-headers { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-align: right; text-transform: uppercase; display: none; -webkit-transition: all 400ms; transition: all 400ms; margin-top: 50px; }
@media (min-height: 670px) { .category-headers { margin-top: 0px; } }
@media (min-width: 768px) { .category-headers { position: relative; margin-right: 20px; display: block; } }
@media (min-width: 1140px) { .category-headers { margin-right: 20px; } }
.category-headers p { display: inline-block; }
.category-headers .info-hint { padding: 0 5px; }
.category-headers .info-hint > span:first-child { border: 1px solid #FD8A52; color: #FD8A52; }

.product-range-header { position: relative; display: none; }
@media (min-width: 768px) { .product-range-header { display: block; } }
.product-range-header li { display: inline-block; position: relative; width: 30px; height: 25px; vertical-align: top; text-align: center; line-height: 11px; text-transform: uppercase; border-right: 1px solid #d9d9d9; }
.product-range-header li span:first-of-type { display: block; width: 15px; height: 15px; margin: auto; margin-top: 5px; }
.product-range-header li:nth-child(6) { border-right: none; }

.product-range { position: absolute; right: 0; top: 0; bottom: 0; display: none; }
@media (min-width: 768px) { .product-range { display: block; } }
.product-range li { position: relative; text-indent: 100%; white-space: nowrap; overflow: hidden; display: inline-block; width: 30px; height: 100%; border-bottom: none; border-right: 1px solid #d9d9d9; }
.product-range li:nth-child(6) { border-right: none; }
.product-range li span { display: block; }
.product-range li span:before, .product-range li span:after { content: ''; display: block; height: 10%; width: 50%; position: absolute; top: 42%; left: 25%; -webkit-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out; -webkit-transform: rotateZ(45deg); -ms-transform: rotate(45deg); transform: rotateZ(45deg); }
.product-range li span:before { height: 2px; width: 12px; -webkit-transform: rotateZ(135deg); -ms-transform: rotate(135deg); transform: rotateZ(135deg); top: 50%; left: 10px; }
.product-range li span:after { height: 2px; width: 7px; -webkit-transform: rotateZ(45deg); -ms-transform: rotate(45deg); transform: rotateZ(45deg); top: 55%; left: 7px; }
.product-range li.collection-1 span:before, .product-range li.collection-1 span:after, .product-range li.collection-2 span:before, .product-range li.collection-2 span:after, .product-range li.collection-3 span:before, .product-range li.collection-3 span:after, .product-range li.collection-4 span:before, .product-range li.collection-4 span:after, .product-range li.collection-5 span:before, .product-range li.collection-5 span:after, .product-range li.collection-6 span:before, .product-range li.collection-6 span:after { background-color: #59687F; }

.triggers { position: absolute; width: 450px; top: 130px; left: 35px; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); transform-origin: left top; -ms-transform-origin: left top; -webkit-transform-origin: left top; margin: 0; z-index: 1; }
@media (max-width: 767px) { .triggers { z-index: 2; } }
@media (min-width: 768px) { .triggers { width: 100%; max-width: 600px; } }
@media (min-width: 1140px) { .triggers { margin: 0 0 0 35px; left: 100%; width: 120%; } }

.show-menu .triggers.fixed { -webkit-transition: all 200ms; transition: all 200ms; }
@media (min-width: 768px) { .show-menu .triggers.fixed { top: 225px; } }
@media (min-width: 1140px) { .show-menu .triggers.fixed { top: 275px; } }

.triggers.fixed { opacity: 1; position: fixed; }
@media (min-width: 768px) { .triggers.fixed { top: 140px; } }
@media (min-width: 1140px) { .triggers.fixed { left: 32%; top: 40px; } }
@media (min-width: 1140px) and (min-height: 770px) { .triggers.fixed { top: 150px; } }

.triggers li { -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); float: left; margin: 0 10px 0 0; display: inline-block; }

.triggers button { height: 45px; line-height: 45px; background: #FD8A52; color: #FFFFFF; border: none; text-transform: uppercase; font-size: 16px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; margin: -10px 0 0 0; padding: 0; }
@media (min-height: 670px) { .triggers button { padding: 0 13px 0 13px; margin: 0; height: 35px; line-height: 35px; } }

.triggers button.active { height: 46px; line-height: 45px; color: #FD8A52; background: #FFFFFF; margin: -10px 0 0 0; border-right: solid 1px #d9d9d9; border-top: solid 1px #d9d9d9; border-left: solid 1px #d9d9d9; }
@media (min-height: 670px) { .triggers button.active { margin: -4px 0 0 0; height: 40px; line-height: 40px; } }

.triggers .desktop { display: none; }
@media (min-width: 1140px) { .triggers .desktop { display: block; } }

.triggers .mobile { display: block; }
@media (min-width: 1140px) { .triggers .mobile { display: none; } }

.triggers.mobile-open { left: 85%; width: 150%; margin: 0 0 0 35px; }

@media (min-width: 1140px) { .triggers.map-top { top: 145px; } }

.tab-icon { display: block; background-image: url("/images/jvh/ui/destinations/destination-map-jrecommends-icons.svg"); background-repeat: no-repeat; height: 50px; width: 45px; -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); }
@media (min-height: 670px) { .tab-icon { display: none; } }

.tab-name, .tab-gallery, .tab-map, .tab-jr, tab- { display: none; }
@media (min-height: 670px) { .tab-name, .tab-gallery, .tab-map, .tab-jr, tab- { display: block; } }

.trigger-view.active .tab-icon.dests-icon { background-position: 3px -56px; }

.trigger-view.active .tab-icon.map-icon { background-position: -62px -58px; }

.trigger-view.active .tab-icon.jr-icon { background-position: -127px -58px; }

.trigger-view.active .tab-icon.accoms-icon { background-position: -184px -58px; }

.trigger-view .tab-icon.dests-icon { background-position: 2px -2px; }

.trigger-view .tab-icon.map-icon { background-position: -61px -3px; }

.trigger-view .tab-icon.jr-icon { background-position: -127px -4px; }

.trigger-view .tab-icon.accoms-icon { background-position: -184px -2px; }

.map-not-available { position: relative; top: calc(50vh - 200px); text-align: center; }

#mapButton { display: none; }

#mapButton.shown { display: inline-block; }

.james-recommends #mapPanel, .modal-container #mapPanel { position: relative; background: #BCDEFE; top: 0px; left: 0px; width: 100%; height: 100%; display: none; }
@media (min-width: 768px) { .james-recommends #mapPanel, .modal-container #mapPanel { width: 100%; height: 850px; } }
@media (min-width: 1140px) { .james-recommends #mapPanel, .modal-container #mapPanel { width: 68%; left: 32%; height: 850px; } }

#mapDisplay { width: 100%; height: 100%; }

#mapPanel.active, #mapPanel.active #mapDisplay { display: block; }

#mapPanel .curtains { position: absolute; z-index: 1; }

#mapPanel:after { content: ""; position: absolute; top: 50%; left: 50%; transform: translateY(-50%); background: url("/images/jvh/ui/flip-flops.svg") no-repeat center 0; background-position: 0 67%; -webkit-animation: 400ms steps(2) 0s flipFlopsBlack; -webkit-animation-fill-mode: both; animation: 400ms steps(2) 0s flipFlopsBlack; animation-fill-mode: both; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; background-size: 100% auto; }
@media (min-width: 768px) { #mapPanel:after { width: 165px; height: 200px; } }
#mapPanel.active:after { content: ""; display: none; }

.map-marker-accom { width: 190px; margin: 20px 0 0 0; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-weight: normal; font-size: 15px; -webkit-font-smoothing: antialiased; text-align: left; overflow: hidden; }
@media (min-width: 768px) { .map-marker-accom { margin: 20px 0 5px 5px; width: 500px; min-height: 460px; } }
.map-marker-accom img, .map-marker-accom p, .map-marker-accom a { margin-bottom: 10px; }
.map-marker-accom h3 { border-bottom: 1px solid #d9d9d9; padding: 0 0 15px 0; margin-bottom: 20px; }
.map-marker-accom > ul .accom-left { width: 100%; }
@media (min-width: 768px) { .map-marker-accom > ul .accom-left { display: inline-block; vertical-align: top; width: 205px; } }
.map-marker-accom > ul .accom-left img { max-width: 100%; }
.map-marker-accom > ul .accom-left .counter-container { display: none; }
@media (min-width: 768px) { .map-marker-accom > ul .accom-left .counter-container { display: block; } }
.map-marker-accom > ul .accom-left .counter-container p { display: inline-block; width: 140px; vertical-align: top; margin: 0 0 15px 10px; }
.map-marker-accom > ul .accom-left .contractor-box { background-color: #DC3A6D; width: 100%; min-height: 150px; color: #FFFFFF; padding: 10px; font-size: 12px; display: none; }
@media (min-width: 768px) { .map-marker-accom > ul .accom-left .contractor-box { display: block; } }
.map-marker-accom > ul .accom-left .contractor-box img { border: 2px solid #FFFFFF; border-radius: 50%; width: 60px; float: left; margin: 0 10px 0 0; }
.map-marker-accom > ul .accom-left .contractor-box div { height: 60px; padding: 10px 0 0 0; margin: 0 0 5px 0; }
.map-marker-accom > ul .accom-left .contractor-box h4 { margin: 0 0 6px 0; font-size: 14px; }
.map-marker-accom > ul .accom-left .contractor-box p.quote { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
.map-marker-accom > ul .accom-left .contractor-box p.sub-text { font-size: 11px; line-height: 11px; }
.map-marker-accom > ul .accom-left .contractor-box p.sub-text span { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 18px; display: inline-block; margin: 0 0 0 3px; }
.map-marker-accom > ul .accom-right { width: 100%; }
@media (min-width: 768px) { .map-marker-accom > ul .accom-right { display: inline-block; vertical-align: top; width: 280px; margin-left: 15px; } }
.map-marker-accom > ul .accom-right > span { display: none; }
@media (min-width: 768px) { .map-marker-accom > ul .accom-right > span { display: block; font-weight: bold; line-height: 20px; margin: 0 0 10px 0; } }
.map-marker-accom > ul .accom-right > span a { display: block; }
.map-marker-accom > ul .accom-right .reevoo-wrapper-large { display: none; }
@media (min-width: 768px) { .map-marker-accom > ul .accom-right .reevoo-wrapper-large { display: block; margin: 0 0 15px 0; } }
.map-marker-accom > ul .accom-right .icons, .map-marker-accom > ul .accom-right > p { display: none; }
@media (min-width: 768px) { .map-marker-accom > ul .accom-right .icons, .map-marker-accom > ul .accom-right > p { display: block; } }

#map1 span { background-position: -365px -3px; }

#map1.active span, .no-touch #map1:hover span { background-position: -327px -3px; }

#map6 span { background-position: -139px 0px; }

#map6.active span, .no-touch #map6:hover span { background-position: -139px -44px; }

#map6.disabled span { background-position: -139px -91px; }

#map7 span { background-position: 2px 0px; }

#map7.active span, .no-touch #map7:hover span { background-position: 2px -44px; }

#map7.disabled span { background-position: 2px -91px; }

#map5 span { background-position: -174px 0px; }

#map5.active span, .no-touch #map5:hover span { background-position: -174px -44px; }

#map5.disabled span { background-position: -174px -91px; }

#map10 span { background-position: -104px 0px; }

#map10.active span, .no-touch #map10:hover span { background-position: -104px -44px; }

#map10.disabled span { background-position: -104px -91px; }

#map8 span { background-position: -33px 0px; }

#map8.active span, .no-touch #map8:hover span { background-position: -33px -44px; }

#map8.disabled span { background-position: -33px -91px; }

#map9 span { background-position: -69px 0px; }

#map9.active span, .no-touch #map9:hover span { background-position: -69px -44px; }

#map9.disabled span { background-position: -69px -91px; }

#map11 span { background-position: -210px 0px; }

#map11.active span, .no-touch #map11:hover span { background-position: -210px -44px; }

#map11.disabled span { background-position: -210px -91px; }

.jvh-map { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 15px; overflow-x: hidden; }

.current-heading { width: 200px; min-height: 50px; padding: 20px; }

.map-marker-comment { position: relative; width: 190px; }
@media (min-width: 768px) { .map-marker-comment { width: 550px; padding: 15px; } }
@media (min-width: 1140px) { .map-marker-comment { width: 654px; } }
.map-marker-comment p { text-align: left; font-size: 13px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; text-align: left; margin: 0 0 10px 0; }
.map-marker-comment header { overflow: hidden; border-bottom: 1px solid #DDDDDD; margin: 0 0 10px 0; width: 100%; }
@media (min-width: 768px) { .map-marker-comment header { padding: 20px 0 10px 0; } }
.map-marker-comment header > div { display: inline-block; width: 48%; vertical-align: top; }
.map-marker-comment header + p { font-size: 13px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; text-align: left; margin: 0 0 10px 0; max-height: 80px; overflow: auto; display: none; }
@media (min-width: 768px) { .map-marker-comment header + p { display: block; text-align: left; } }
.map-marker-comment header h2 { padding: 0; margin: 0; }
@media (min-width: 768px) { .map-marker-comment header h2 { display: inline-block; text-align: left; margin: 0 0 10px 0; width: 48%; } }
.map-marker-comment header p { display: none; font-size: 11px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .map-marker-comment header p { display: block; margin: 0; text-align: right; } }
.map-marker-comment img { width: auto; max-width: 100%; height: auto; max-height: 120px; margin: 0 auto 10px auto; display: block; }
@media (min-width: 768px) { .map-marker-comment img { max-height: 240px; } }
.map-marker-comment .icon { display: none; width: 40px; height: 56px; position: absolute; margin: -60px 0 0 20px; background-image: url("/images/jvh/ui/map/mapsprite2.svg"); text-indent: -9999px; overflow: hidden; }
@media (min-width: 768px) { .map-marker-comment .icon { display: block; margin: 0; } }
.map-marker-comment .icon.activities { background-position: -197px -399px; }
.map-marker-comment .icon.bars-and-nightlife { background-position: 0px -399px; }
.map-marker-comment .icon.beaches { background-position: -247px -399px; }
.map-marker-comment .icon.holiday-snaps { background-position: -294px -399px; }
.map-marker-comment .icon.places-of-interest { background-position: -148px -399px; }
.map-marker-comment .icon.restaurants { background-position: -49px -399px; }
.map-marker-comment .icon.shopping { background-position: -295px -399px; }
.map-marker-comment .icon.villa { background-position: -116px -454px; }
.map-marker-comment footer { display: none; }
@media (min-width: 768px) { .map-marker-comment footer { padding: 10px 0 10px 60px; display: block; } }
.map-marker-comment footer h3 { font-size: 15px; text-transform: uppercase; margin: 0; }
.map-marker-comment footer p { font-size: 13px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-align: left; }
.map-marker-comment .grid-content { display: none; }
.map-marker-comment .modal-nav { top: 140px; }
@media (min-width: 768px) { .map-marker-comment .modal-nav { top: 50%; } }

.map-marker { width: 100%; padding: 10px 0 10px 10px; }
@media (min-width: 768px) { .map-marker { width: 580px; min-height: 230px; padding: 20px 0 20px 20px; } }
.map-marker div { overflow: auto; clear: none; min-width: 200px; min-height: 190px; }
.map-marker div p { max-height: 120px; overflow-y: auto; font-size: 14px; }
@media (min-width: 768px) { .map-marker div p { max-height: 200px; } }
.map-marker img { display: block; width: auto; height: 150px; padding: 0 10px 20px 0; margin: auto; }
@media (min-width: 768px) { .map-marker img { width: 200px; height: auto; float: left; padding: 0 20px 20px 0; } }
.map-marker span { display: block; }
.map-marker p.heading-small { display: none; }
@media (min-width: 768px) { .map-marker p.heading-small { display: block; border-top: 1px solid #d9d9d9; padding: 10px 0; margin-top: 10px; clear: both; } }
.map-marker div h3, .map-marker div p, .map-marker a { margin-bottom: 10px; }
.map-marker .sub-dests { display: none; }
@media (min-width: 768px) { .map-marker .sub-dests { display: block; max-height: 250px; overflow-y: auto; } }
.map-marker .sub-dests li { min-width: 150px; width: 50%; font-size: 14px; float: left; }
.map-marker .map-link { text-transform: none; color: #000000; display: block; }

@media (min-width: 1140px) { .james-recommends .content-container { margin: -50px 0 0 0; -webkit-transition: all 300ms; transition: all 300ms; }
  .james-recommends.show-menu .content-container { margin: 0 0 0 0; -webkit-transition: all 300ms; transition: all 300ms; } }
.james-recommends .map-show-all { position: fixed; left: 5px; right: 5px; top: 80px; background-color: #FFFFFF; padding: 10px; text-transform: uppercase; box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px; overflow: hidden; z-index: 1; font-size: 12px; -webkit-transition: opacity 300ms ease-in-out; transition: opacity 300ms ease-in-out; }
@media (min-width: 768px) { .james-recommends .map-show-all { position: absolute; right: 30px; top: 125px; left: auto; font-size: 15px; } }
.james-recommends .map-show-all.hide { opacity: 0; }
.james-recommends .map-show-all > div { float: left; margin: 0 6px 0 0; }
.james-recommends #accomFilter { left: 5px; width: 30px; height: 250px; position: fixed; background-color: transparent; display: none; pointer-events: none; z-index: 150; top: 125px; -webkit-animation: 0.2s ease-in-out 0.2s fadeIn; -webkit-animation-fill-mode: both; animation: 0.2s ease-in-out 0.2s fadeIn; animation-fill-mode: both; }
@media (min-width: 768px) { .james-recommends #accomFilter { position: absolute; top: 175px; right: 30px; pointer-events: auto; left: auto; z-index: 1; } }
.james-recommends #accomFilter.active { display: block; -webkit-animation: 0.2s ease-in-out 0.2s fadeIn; -webkit-animation-fill-mode: both; animation: 0.2s ease-in-out 0.2s fadeIn; animation-fill-mode: both; }
.james-recommends #accomFilter .info-hint { padding-left: 0; }
.james-recommends #accomFilter .info-hint > span { border: 1px solid #FD8A52; color: #FD8A52; }
.james-recommends #accomFilter ul li { cursor: pointer; text-align: center; background-color: #FFFFFF; text-transform: uppercase; pointer-events: auto; pointer-events: initial; -webkit-transition: all 600ms; transition: all 600ms; width: 100%; height: 30px; padding-top: 8px; font-size: 11px; }
@media (min-width: 1140px) { .james-recommends #accomFilter ul li { width: 100%; height: 30px; padding-top: 8px; font-size: 11px; } }
.james-recommends #accomFilter ul li.disabled { background-color: #FFFFFF; color: #d4d4d4; }
.james-recommends #accomFilter ul li.disabled:hover, .james-recommends #accomFilter ul li.disabled .active { background-color: #FFFFFF; color: #d4d4d4; cursor: auto; }
.james-recommends #accomFilter ul li .collection-modal-load:before { margin: 0; color: #FD8A52; border: 1px solid #FD8A52; line-height: 15px; }
@media (min-width: 1140px) { .james-recommends #accomFilter ul li[data-filter-type]:hover { background-color: #FD8A52; -webkit-transition: all 600ms; transition: all 600ms; color: #FFFFFF; } }
.james-recommends #accomFilter ul li[data-filter-type].active { background-color: #FD8A52; -webkit-transition: all 600ms; transition: all 600ms; color: #FFFFFF; }
.james-recommends #accomFilter ul li[data-filter-type].disabled:hover, .james-recommends #accomFilter ul li[data-filter-type].disabled.active { background-color: #FFFFFF; cursor: auto; }
.james-recommends #accomFilter ul li[data-filter-type].disabled span { background-color: #d4d4d4 !important; }
.james-recommends #accomFilter ul li[data-filter-type] span { display: block; margin: 0 auto 4px auto; width: 15px; height: 15px; }
@media (min-width: 1140px) { .james-recommends #accomFilter ul li[data-filter-type] span { width: 15px; height: 15px; } }

.content-container { position: relative; }

.content-tile-wrapper { vertical-align: top; width: 100%; }
@media (min-width: 768px) { .content-tile-wrapper { display: inline-block; vertical-align: top; } }
@media (min-width: 1140px) { .content-tile-wrapper { display: inline-block; vertical-align: top; } }

.content-tile-wrapper.inactive { display: none; }

div.content-tile { background-color: #FFFFFF; background-size: cover; background-position: top right; background-repeat: no-repeat; display: block; position: relative; }
@media (min-width: 768px) { div.content-tile { height: calc(100vh - 200px); min-height: 620px; overflow: hidden; } }

div.content-tile::after { content: ''; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; width: 100%; background: rgba(0, 0, 0, 0.3); pointer-events: none; }

div.content-tile header { position: relative; display: block; z-index: 1; padding-bottom: 20px; width: 100%; }
@media (min-width: 1140px) { div.content-tile header { position: absolute; } }

div.content-tile header .content-left { width: 100%; position: relative; }
@media (min-width: 768px) { div.content-tile header .content-left { width: 88%; left: 8%; } }
@media (min-width: 1140px) { div.content-tile header .content-left { width: 35%; left: 37%; } }

div.content-tile header h2 { width: auto; position: relative; }
@media (min-width: 768px) { div.content-tile header h2 { margin-left: 8%; } }
@media (min-width: 1140px) { div.content-tile header h2 { margin-left: 37%; } }

.content-rhs .breadcrumb { margin: 0 30px 0 55px; }
@media (min-width: 768px) { .content-rhs .breadcrumb { margin-left: 8%; } }
@media (min-width: 1140px) { .content-rhs .breadcrumb { margin-left: 37%; } }

div.content-tile header h2 { padding: 80px 30px 0 55px; font-size: 30px; color: #ffffff; margin-bottom: 20px; }
@media (min-width: 768px) { div.content-tile header h2 { font-size: 35px; padding: 70px 0 0 0; } }

div.content-tile header .content-left { display: inline-block; position: relative; z-index: 1; }

div.content-tile header .content-left p { padding: 0 30px 0 55px; font-size: 15px; margin: 0 0 40px 0; color: #ffffff; display: inline-block; }
@media (min-width: 768px) { div.content-tile header .content-left p { padding: 0px; } }

div.content-tile header .content-right { padding: 0 30px 0 55px; }
@media (min-width: 768px) { div.content-tile header .content-right { padding: 0 30px 0 8%; display: block; position: relative; width: auto; } }
@media (min-width: 1140px) { div.content-tile header .content-right { padding: 0; display: inline-block; width: 55%; text-align: right; vertical-align: top; } }

div.content-tile footer, .promo-creative footer { position: absolute; bottom: 0; width: 100%; height: 50%; background: black; background: -webkit-linear-gradient(legacy-direction(rgba(13, 38, 67, 0)), black); background: linear-gradient(rgba(13, 38, 67, 0), black); }

.promo-creative .scroller { height: 100px; bottom: 20px; }
@media (min-width: 768px) { .promo-creative .scroller { height: 130px; bottom: 9px; } }

@media (min-width: 768px) { .promo-creative { min-height: 785px !important; } }
@media (min-height: 670px) { .promo-creative { min-height: auto; } }

.content-container .scroller:hover, .promo-creative .scroller:hover { -webkit-transition: all 300ms; transition: all 300ms; background-color: #2e3235; }

.content-container .scroller.left::after, .promo-creative .scroller.left::after { content: ''; position: absolute; top: 45%; right: 3px; width: 22px; height: 24px; background: url("/images/jvh/holiday-destinations/thumbnail-arrow-right.svg") center center no-repeat transparent; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }

.content-container .scroller.right::after, .promo-creative .scroller.right::after { content: ''; position: absolute; top: 45%; right: 3px; width: 22px; height: 24px; background: url("/images/jvh/holiday-destinations/thumbnail-arrow-right.svg") center center no-repeat transparent; }

.content-container .scroller.right, .promo-creative .scroller.right { right: 0; }

.content-container .scroller.left, .promo-creative .scroller.left { left: 0; }

.content-container .scroller.active, .promo-creative .scroller.active { display: block; }

.your-loves { background: #9eceda; color: #FFFFFF; text-align: center; padding: 30px 0; }
.your-loves > h4 { text-transform: uppercase; padding: 0 15px; }
.your-loves > h4 > span { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 25px; margin-right: 10px; }
.your-loves > h4 span.heart-icon { width: 40px; height: 40px; background: url("/images/jvh/ui/your-love/heart.svg") no-repeat; display: inline-block; }
.your-loves > ul { font-size: 0; }
.your-loves > ul > li { width: 15%; margin: 2.3%; height: 100px; width: 100px; display: inline-block; border: 1px solid white; font-size: 11px; text-transform: uppercase; position: relative; }
@media (min-width: 1140px) { .your-loves > ul > li { margin: 1.3%; } }
.your-loves > ul > li > label { display: block; width: 100%; height: 100%; margin: 0; position: relative; padding-bottom: 16px; background-repeat: no-repeat; background-position: center top; cursor: pointer; }
.your-loves > ul > li > label > span { position: absolute; bottom: 10px; left: 0; width: 100%; text-align: center; display: block; font-size: 11px; }
.your-loves > ul > li > label.selected { background-color: #FFFFFF; color: #9eceda; }
.your-loves > ul > li .check-replacement { display: none; }
.your-loves > ul > li > label { background-image: url("/images/jvh/ui/your-love/your-loves.svg"); }
.your-loves > ul > li.your-love-36 label { background-position: 0 0; }
.your-loves > ul > li.your-love-36 label.selected { background-position: 0 -200px; }
.your-loves > ul > li.your-love-37 label { background-position: -100px 0; }
.your-loves > ul > li.your-love-37 label.selected { background-position: -100px -200px; }
.your-loves > ul > li.your-love-38 label { background-position: -200px 0; }
.your-loves > ul > li.your-love-38 label.selected { background-position: -200px -200px; }
.your-loves > ul > li.your-love-39 label { background-position: -300px 0; }
.your-loves > ul > li.your-love-39 label.selected { background-position: -300px -200px; }
.your-loves > ul > li.your-love-40 label { background-position: -400px 0; }
.your-loves > ul > li.your-love-40 label.selected { background-position: -400px -200px; }
.your-loves > ul > li.your-love-41 label { background-position: -500px 0; }
.your-loves > ul > li.your-love-41 label.selected { background-position: -500px -200px; }
.your-loves > ul > li.your-love-42 label { background-position: 0 -100px; }
.your-loves > ul > li.your-love-42 label.selected { background-position: 0 -300px; }
.your-loves > ul > li.your-love-43 label { background-position: -100px -100px; }
.your-loves > ul > li.your-love-43 label.selected { background-position: -100px -300px; }
.your-loves > ul > li.your-love-44 label { background-position: -200px -100px; }
.your-loves > ul > li.your-love-44 label.selected { background-position: -200px -300px; }
.your-loves > ul > li.your-love-45 label { background-position: -300px -100px; }
.your-loves > ul > li.your-love-45 label.selected { background-position: -300px -300px; }
.your-loves > ul > li.your-love-46 label { background-position: -400px -100px; }
.your-loves > ul > li.your-love-46 label.selected { background-position: -400px -300px; }
.your-loves > ul > li.your-love-47 label { background-position: -500px -100px; }
.your-loves > ul > li.your-love-47 label.selected { background-position: -500px -300px; }

.signup-about-you-modal { overflow: hidden; padding: 30px 20px 20px; text-align: center; }
.signup-about-you-modal > h3 { color: #9eceda; }
@media (min-width: 768px) { .signup-about-you-modal { padding: 50px 30px 30px; } }
.signup-about-you-modal #aboutYouForm { margin-top: 20px; }
.signup-about-you-modal #aboutYouForm .client-details { text-align: left; }
.signup-about-you-modal #aboutYouForm .client-details .travelling-with > p.radio-group-container .field-label { display: block; }
.signup-about-you-modal #aboutYouForm .client-details .field-label-inline { line-height: 15px; margin-bottom: 10px; }
@media (min-width: 480px) { .signup-about-you-modal #aboutYouForm .client-details > .field-label-inline { clear: right; float: left; margin-top: 10px; line-height: 46px; }
  .signup-about-you-modal #aboutYouForm .client-details .travelling-with > label.field-label-inline { clear: right; float: left; width: 60%; margin-top: 0; padding-right: 10px; }
  .signup-about-you-modal #aboutYouForm .client-details .travelling-with > .select-replacement { float: right; width: 40%; clear: none; }
  .signup-about-you-modal #aboutYouForm .client-details .travelling-with > p.radio-group-container { clear: both; }
  .signup-about-you-modal #aboutYouForm .client-details .travelling-with > p.radio-group-container .field-label { display: inline; }
  .signup-about-you-modal #aboutYouForm .client-details .travelling-with > p.radio-group-container .radio-label { margin-left: 15px; margin-right: 0; } }
@media (min-width: 768px) { .signup-about-you-modal #aboutYouForm .client-details { float: left; width: 50%; padding-right: 30px; } }
.signup-about-you-modal .your-loves { clear: both; }
@media (min-width: 768px) { .signup-about-you-modal .your-loves { width: 50%; float: right; clear: none; } }
.signup-about-you-modal .your-loves h4 > span { display: block; line-height: 40px; }
@media (min-width: 768px) { .signup-about-you-modal .your-loves h4 > span { display: inline; line-height: 24px; } }
.signup-about-you-modal form > button.cta { float: right; margin: 20px 0 0; clear: both; }

.signup-confirmation-modal { padding: 40px 30px 30px; text-align: center; }

.unsubscribe-modal { padding: 30px 20px 20px; max-width: 700px; overflow: hidden; }
@media (min-width: 768px) { .unsubscribe-modal { padding: 50px 30px 30px; } }
.unsubscribe-modal > h2 { text-transform: uppercase; }
.unsubscribe-modal form label { display: block; position: relative; }
.unsubscribe-modal form .enter-email-field input[type="email"] { background-image: none; }
.unsubscribe-modal form .enter-email-field button.cta { float: right; }
@media (min-width: 768px) { .unsubscribe-modal form .enter-email-field button.cta { float: none; position: absolute; bottom: 2px; right: 2px; } }
.unsubscribe-modal form .radio-replacement, .unsubscribe-modal form .check-replacement { margin: 0 6px 15px 0; }
.unsubscribe-modal form li:last-child { margin-bottom: 20px; }
.unsubscribe-modal form .unsubscribe-from { display: none; margin-left: 20px; }
.unsubscribe-modal form .unsubscribe-from.active { display: inline-block; }
.unsubscribe-modal form .unsubscribe-comment { display: none; margin-top: 20px; margin-left: 20px; }
.unsubscribe-modal form .unsubscribe-comment.active { display: block; }

.brochure-request-modal { padding: 30px; overflow: hidden; margin: 0 auto; max-width: 600px; }
@media (min-width: 768px) { .brochure-request-modal { max-width: 700px; width: 700px; } }
@media (min-width: 1140px) { .brochure-request-modal { max-width: 100%; min-width: 955px; width: auto; } }
.brochure-request-modal .cta.auto-fill-reauthenticate { margin: 0 0 20px 0; }
@media (min-width: 1140px) { .brochure-request-modal .cta.auto-fill-reauthenticate { position: absolute; top: 17px; right: 34px; } }
.brochure-request-modal .profile { line-height: 50px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 20px; overflow: hidden; margin-bottom: 20px; width: auto; }
@media (min-width: 768px) { .brochure-request-modal .profile { position: absolute; top: 17px; right: 34px; } }
.brochure-request-modal .profile .avatar { float: right; margin-left: 10px; border-radius: 50%; width: 53px; height: 53px; }
.brochure-request-modal .profile div.avatar { background-color: #F0A22E; text-align: center; color: #FFFFFF; display: inline-block; line-height: 53px; font-size: 17px; }
@media (min-width: 1140px) { .brochure-request-modal > form > div > div { float: left; width: 50%; }
  .brochure-request-modal > form > div > div:first-child { padding-right: 30px; } }
.brochure-request-modal > form > div > div ul.brochure-issues { overflow: hidden; }
.brochure-request-modal > form > div > div ul.brochure-issues > li { width: 100%; margin: 0 10px 10px 0; min-width: 180px; }
@media (min-width: 480px) { .brochure-request-modal > form > div > div ul.brochure-issues > li { width: 48%; float: left; margin-right: 1%; } }
@media (min-width: 1140px) { .brochure-request-modal > form > div > div ul.brochure-issues > li { float: left; min-width: 205px; } }
.brochure-request-modal > form > div > div ul.brochure-issues > li label { font-size: 12px; text-transform: uppercase; text-align: center; position: relative; padding: 5px; }
.brochure-request-modal > form > div > div ul.brochure-issues > li label > img { display: block; cursor: pointer; max-height: 122px; margin: 0 auto; }
.brochure-request-modal > form > div > div ul.brochure-issues > li label.disabled { filter: alpha(opacity=60); opacity: 0.6; }
.brochure-request-modal > form > div > div ul.brochure-issues > li label .check-replacement { margin: 10px 6px 0 0; }
.brochure-request-modal > form > div > div ul.brochure-issues > li label.error { padding: 5px; }
.brochure-request-modal > form > div > div ul.brochure-issues > li label.error .check-replacement { margin: 10px 6px 0 0; }
.brochure-request-modal > form > div > div ul.brochure-issues > li:last-child { margin-right: 0; }
.brochure-request-modal > form > div > div button.submit-brochure-request { width: 100%; }
@media (min-width: 1140px) { .brochure-request-modal > form > div > div button.submit-brochure-request { width: auto; } }

.brochure-confirmation-modal { padding: 30px 15px; max-width: 900px; }
@media (min-width: 1140px) { .brochure-confirmation-modal { padding: 30px; } }
.brochure-confirmation-modal h2 { text-transform: uppercase; }
.brochure-confirmation-modal > div { overflow: hidden; }
.brochure-confirmation-modal > .confirmation-message > div:first-child { margin-bottom: 15px; }
@media (min-width: 480px) { .brochure-confirmation-modal > .confirmation-message > div:first-child { float: left; width: 40%; } }
@media (min-width: 768px) { .brochure-confirmation-modal > .confirmation-message > div:first-child { width: 60%; } }
.brochure-confirmation-modal > .confirmation-message div.brochures { max-width: 250px; margin: 0 auto; }
@media (min-width: 480px) { .brochure-confirmation-modal > .confirmation-message div.brochures { float: right; width: 30%; min-width: 220px; } }
.brochure-confirmation-modal > .confirmation-message div.brochures div { text-align: center; margin: 0 auto 15px; width: 220px; }
@media (min-width: 480px) { .brochure-confirmation-modal > .confirmation-message div.brochures div { float: left; } }
.brochure-confirmation-modal > .confirmation-message div.brochures div .cta { margin-top: 15px; }
.brochure-confirmation-modal > .confirmation-message .close-window { width: 100%; }
@media (min-width: 480px) { .brochure-confirmation-modal > .confirmation-message .close-window { float: left; clear: both; width: auto; } }
.brochure-confirmation-modal > .confirmation-message.multiple-brochures > div:first-child { width: 100%; }
.brochure-confirmation-modal > .confirmation-message.multiple-brochures div.brochures { width: 100%; max-width: none; }
.brochure-confirmation-modal > .cta { margin-bottom: 15px; }
.brochure-confirmation-modal.fully-authenticated { max-width: 500px; padding-bottom: 300px; background-image: url("/images/jvh/ui/brochure/mother-and-daughter.jpg"); background-position: bottom center; background-repeat: no-repeat; margin: 0 auto; }
.brochure-confirmation-modal.fully-authenticated > h2 { text-align: center; }
.brochure-confirmation-modal.fully-authenticated > .confirmation-message > div:first-child { width: 100%; text-align: center; }
.brochure-confirmation-modal.fully-authenticated > .confirmation-message div.brochures { float: none; max-width: 250px; }
.brochure-confirmation-modal.fully-authenticated > .confirmation-message div.brochures div { float: none; width: 100%; }
.brochure-confirmation-modal.fully-authenticated > .confirmation-message .close-window { width: 100%; }
.brochure-confirmation-modal.fully-authenticated > .cta { width: 100%; }
.brochure-confirmation-modal .why-register { background-image: url("/images/jvh/ui/brochure/lady-walking-on-the-beach.jpg"); background-repeat: no-repeat; background-position: top left; }
@media (min-width: 768px) { .brochure-confirmation-modal .why-register { float: left; width: 60%; } }
.brochure-confirmation-modal .why-register > div { background-color: #5bb1c7; padding: 30px 15px; }
@media (min-width: 768px) { .brochure-confirmation-modal .why-register > div { float: right; max-width: 330px; height: 370px; } }
.brochure-confirmation-modal .why-register > div > p { color: #FFFFFF; font-size: 12px; margin-bottom: 10px; }
.brochure-confirmation-modal .why-register > div > ul { font-size: 11px; }
.brochure-confirmation-modal .sign-up { padding-top: 30px; margin-top: 30px; text-align: center; border: 1px solid #d9d9d9; }
@media (min-width: 768px) { .brochure-confirmation-modal .sign-up { margin-top: 0; width: 37%; max-width: 360px; min-height: 370px; float: right; } }
.brochure-confirmation-modal .sign-up button { display: block; margin: 0 auto 20px; }
.brochure-confirmation-modal .sign-up button > span { display: none; }
@media (min-width: 480px) { .brochure-confirmation-modal .sign-up button > span { display: inline; } }
.brochure-confirmation-modal .sign-up .sign-up-choice > span { display: block; text-transform: uppercase; margin-bottom: 20px; }
.brochure-confirmation-modal .sign-up .dotted-grey-strip { margin-top: 10px; background: #f8f8f8; border-top: 2px dashed #EEEEEE; border-bottom: 2px dashed #EEEEEE; padding: 15px 0; text-align: center; width: 100%; font-size: 13px; }
.brochure-confirmation-modal .sign-up .dotted-grey-strip > a { display: block; text-transform: uppercase; margin-bottom: 10px; }

#postcodeLookupWrapper { position: relative; }

#btnFindAddr { width: 100%; margin-bottom: 20px; }
@media (min-width: 480px) { #btnFindAddr { width: auto; position: absolute; bottom: 5px; right: 5px; margin: 0; } }

#postcodeOnlyWrapper { display: none; }
#postcodeOnlyWrapper.active { display: block; }

@media (min-width: 480px) { #addressPostcode { padding-right: 190px; } }

#addressLookup { width: 100%; }

#addressLookupBox { display: none; }
#addressLookupBox > p { margin: 0 0 10px 0; }

.calendar-grid-container { position: relative; height: 235px; overflow: hidden; background-color: #FFFFFF; }

/* Classes related to villa categories to make them more generically available */
.collection-colour.collection-1 { color: #D42017; border-color: #D42017; }
.collection-colour.collection-2 { color: #A07F8A; border-color: #A07F8A; }
.collection-colour.collection-3 { color: #7E95A4; border-color: #7E95A4; }
.collection-colour.collection-4 { color: #CCC9C8; border-color: #CCC9C8; }
.collection-colour.collection-5 { color: #CBAE8C; border-color: #CBAE8C; }
.collection-colour.collection-6 { color: #DC3A6D; border-color: #DC3A6D; }

.collections span.strip { border-bottom: 0; position: relative; z-index: 2; display: block; margin-top: 56px; }
@media (min-width: 768px) { .collections span.strip { margin-top: 83px; } }
@media (min-width: 1140px) { .collections span.strip { margin-top: 95px; } }
.collections span.strip:after { content: ''; width: 210px; height: 40px; background-size: contain; position: absolute; right: 0; top: 0; }
.collections span.inline { position: relative; display: inline-block; width: 110px; height: 16px; overflow: hidden; text-indent: -200px; margin-bottom: -3px; }
.collections span.inline:after { content: ''; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; }

.collection-1 .collection-bg { background-color: #D42017; }
.collection-1 .collection-colour { color: #D42017; border-color: #D42017; }
.collection-1 span.strip { border-top: 6px solid #D42017; }
.collection-1 span.strip:after { background: url("/images/jvh/ui/villa-category-tabs/simply.svg") #D42017 no-repeat center; }
.collection-1 span.inline { width: 85px; }
.collection-1 span.inline:after { background: url("/images/jvh/ui/villa-category-tabs/simply.svg") #D42017 no-repeat center; background-size: cover; }

.collection-2 .collection-bg { background-color: #A07F8A; }
.collection-2 .collection-colour { color: #A07F8A; border-color: #A07F8A; }
.collection-2 span.strip { border-top: 6px solid #A07F8A; }
.collection-2 span.strip:after { background: url("/images/jvh/ui/villa-category-tabs/classic.svg") #A07F8A no-repeat center; }
.collection-2 span.inline:after { background: url("/images/jvh/ui/villa-category-tabs/classic.svg") #A07F8A no-repeat center; background-size: cover; }

.collection-3 .collection-bg { background-color: #7E95A4; }
.collection-3 .collection-colour { color: #7E95A4; border-color: #7E95A4; }
.collection-3 span.strip { border-top: 6px solid #7E95A4; }
.collection-3 span.strip:after { background: url("/images/jvh/ui/villa-category-tabs/signature.svg") #7E95A4 no-repeat center; }
.collection-3 span.inline:after { background: url("/images/jvh/ui/villa-category-tabs/signature.svg") #7E95A4 no-repeat center; background-size: cover; }

.collection-4 .collection-bg { background-color: #CCC9C8; }
.collection-4 .collection-colour { color: #CCC9C8; border-color: #CCC9C8; }
.collection-4 span.strip { border-top: 6px solid #CCC9C8; }
.collection-4 span.strip:after { background: url("/images/jvh/ui/villa-category-tabs/luxury.svg") #CCC9C8 no-repeat center; }
.collection-4 span.inline:after { background: url("/images/jvh/ui/villa-category-tabs/luxury.svg") #CCC9C8 no-repeat center; background-size: cover; }

.collection-5 .collection-bg { background-color: #CBAE8C; }
.collection-5 .collection-colour { color: #CBAE8C; border-color: #CBAE8C; }
.collection-5 span.strip { border-top: 6px solid #CBAE8C; }
.collection-5 span.strip:after { background: url("/images/jvh/ui/villa-category-tabs/ultimate.svg") #CBAE8C no-repeat center; }
.collection-5 span.inline:after { background: url("/images/jvh/ui/villa-category-tabs/ultimate.svg") #CBAE8C no-repeat center; background-size: cover; }

.collection-6 .collection-bg { background-color: #DC3A6D; }
.collection-6 .collection-colour { color: #DC3A6D; border-color: #DC3A6D; }
.collection-6 span.strip { border-top: 6px solid #DC3A6D; }
.collection-6 span.strip:after { background: url("/images/jvh/ui/villa-category-tabs/individual.svg") #DC3A6D no-repeat center; }
.collection-6 span.inline:after { background: url("/images/jvh/ui/villa-category-tabs/individual.svg") #DC3A6D no-repeat center; background-size: cover; }

.collection-bg.collection-1 { background-color: #D42017; }
.collection-bg.collection-2 { background-color: #A07F8A; }
.collection-bg.collection-3 { background-color: #7E95A4; }
.collection-bg.collection-4 { background-color: #CCC9C8; }
.collection-bg.collection-5 { background-color: #CBAE8C; }
.collection-bg.collection-6 { background-color: #DC3A6D; }

.collection .badge { position: absolute; top: -1px; right: 0; width: 120px; text-indent: -900px; overflow: hidden; z-index: 1; }
@media (min-width: 768px) { .collection .badge { width: 140px; padding: 5px 0; } }
@media (min-width: 1400px) { .collection .badge { width: 165px; padding: 10px 0; } }
.collection .badge.small-badge { height: 18px; width: 115px; padding: 0px 0 1px; top: -6px; }
.collection.collection-1 { border-top: 6px solid #D42017; }
.collection.collection-1 .badge { background: #D42017 url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-category-tabs/simply.svg") no-repeat center center; background-size: 100%; }
.collection.collection-2 { border-top: 6px solid #A07F8A; }
.collection.collection-2 .badge { background: #A07F8A url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-category-tabs/classic.svg") no-repeat center center; background-size: 100%; }
.collection.collection-6 { border-top: 6px solid #DC3A6D; }
.collection.collection-6 .badge { background: #DC3A6D url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-category-tabs/individual.svg") no-repeat center center; background-size: 100%; }
.collection.collection-3 { border-top: 6px solid #7E95A4; }
.collection.collection-3 .badge { background: #7E95A4 url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-category-tabs/signature.svg") no-repeat center center; background-size: 100%; }
.collection.collection-4 { border-top: 6px solid #CCC9C8; }
.collection.collection-4 .badge { background: #CCC9C8 url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-category-tabs/luxury.svg") no-repeat center center; background-size: 100%; }
.collection.collection-5 { border-top: 6px solid #CBAE8C; }
.collection.collection-5 .badge { background: #CBAE8C url("https://i.jamesvillas.co.uk/images/jvh/ui/villa-category-tabs/ultimate.svg") no-repeat center center; background-size: 100%; }

.collection-tooltip span { cursor: pointer; }
.collection-tooltip.collection-1:hover div.collection-tooltip-hover.collection-1, .collection-tooltip.collection-2:hover div.collection-tooltip-hover.collection-2, .collection-tooltip.collection-3:hover div.collection-tooltip-hover.collection-3, .collection-tooltip.collection-4:hover div.collection-tooltip-hover.collection-4, .collection-tooltip.collection-5:hover div.collection-tooltip-hover.collection-5, .collection-tooltip.collection-6:hover div.collection-tooltip-hover.collection-6 { visibility: visible; top: 32px; bottom: auto; }
@media (min-height: 670px) { .collection-tooltip.collection-1:hover div.collection-tooltip-hover.collection-1, .collection-tooltip.collection-2:hover div.collection-tooltip-hover.collection-2, .collection-tooltip.collection-3:hover div.collection-tooltip-hover.collection-3, .collection-tooltip.collection-4:hover div.collection-tooltip-hover.collection-4, .collection-tooltip.collection-5:hover div.collection-tooltip-hover.collection-5, .collection-tooltip.collection-6:hover div.collection-tooltip-hover.collection-6 { top: auto; bottom: 32px; } }
.collection-tooltip .collection-tooltip-hover { visibility: hidden; z-index: 2; background-color: #0A0A0A; color: white; padding: 9px; font-size: 13px; width: 300px; text-align: left; text-transform: none; bottom: 0; right: -20px; position: absolute; }
@media (min-width: 768px) { .collection-tooltip .collection-tooltip-hover { margin-left: -258px; } }
@media (min-width: 1140px) { .collection-tooltip .collection-tooltip-hover { margin-left: -220px; width: 250px; } }
@media (min-width: 1140px) and (min-height: 670px) { .collection-tooltip .collection-tooltip-hover { margin-left: -13px; width: 300px; } }

.collection-tooltip .collection-tooltip-hover:after { content: ' '; border: 12px solid black; border-color: transparent transparent black; width: 1px; display: inline-block; height: 1px; position: absolute; bottom: -25px; right: 21px; left: auto; }
@media (min-width: 768px) { .collection-tooltip .collection-tooltip-hover:after { bottom: auto; top: -25px; } }
@media (min-height: 670px) { .collection-tooltip .collection-tooltip-hover:after { border-color: black transparent transparent; top: auto; bottom: -25px; } }
.collection-tooltip .collection-tooltip-hover h5 { margin-bottom: 4px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
.collection-tooltip .collection-tooltip-hover p { margin: 0; line-height: 15px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

/* End of classes related to villa categories */
/*Tiles related classes */
/* Common classes moved from homepage.scss with regards Villa Highlights and Destination Maps */
.fixed-width-wide { position: relative; }
@media (min-width: 1140px) { .fixed-width-wide { max-width: 95%; margin: 0 auto; } }
@media (min-width: 1400px) { .fixed-width-wide { max-width: 1680px; } }

.fixed-width-narrow { position: relative; }
@media (min-width: 1140px) { .fixed-width-narrow { max-width: 1080px; margin: 0 auto; } }
@media (min-width: 1400px) { .fixed-width-narrow { max-width: 1140px; } }

.james-recommends-section h2, .villa-collection-highlights h2 { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: uppercase; margin: 0 0 20px 0; font-size: 22px; text-align: center; }
@media (min-width: 768px) { .james-recommends-section h2, .villa-collection-highlights h2 { font-size: 30px; } }
.james-recommends-section p, .villa-collection-highlights p { max-width: 1400px; margin: 0 auto 15px auto; text-align: center; }

ul.james-recommends-bar { margin: auto; position: relative; width: 76%; }
@media (min-width: 480px) { ul.james-recommends-bar { width: 85%; } }
@media (min-width: 768px) { ul.james-recommends-bar { width: 90%; } }
ul.james-recommends-bar.jr-carousel .owl-item { display: inline-block; }
@media (min-width: 480px) { ul.james-recommends-bar.jr-carousel .owl-item { border-left: 1px solid #D9D9D9; } }
ul.james-recommends-bar.jr-carousel .owl-prev, ul.james-recommends-bar.jr-carousel .owl-next { position: absolute; top: 0; transform: none; padding: 0; background-color: #FFFFFF; width: 30px; height: 100%; max-height: 220px; bottom: 0; }
ul.james-recommends-bar.jr-carousel .owl-prev:after, ul.james-recommends-bar.jr-carousel .owl-next:after { background: url(/images/jvh/ui/chevron-right-salmon.svg) center center no-repeat transparent; background-size: contain; height: 100%; }
ul.james-recommends-bar.jr-carousel .owl-prev:hover, ul.james-recommends-bar.jr-carousel .owl-next:hover { background-color: white; }
ul.james-recommends-bar.jr-carousel .owl-prev { left: -26px; }
@media (min-width: 768px) { ul.james-recommends-bar.jr-carousel .owl-prev { left: -45px; } }
ul.james-recommends-bar.jr-carousel .owl-next { right: -30px; }
@media (min-width: 768px) { ul.james-recommends-bar.jr-carousel .owl-next { right: -50px; } }
ul.james-recommends-bar.jr-carousel li { margin: 0; display: inline-block; height: auto; padding: 10px; width: 100%; vertical-align: top; }
@media (min-width: 480px) { ul.james-recommends-bar.jr-carousel li { min-width: 130px; } }
@media (min-width: 768px) { ul.james-recommends-bar.jr-carousel li { min-width: none; } }
ul.james-recommends-bar.jr-carousel li a { display: block; width: 100%; position: relative; background-size: auto 50%; background-repeat: no-repeat; height: auto; padding: 120px 0 0 0; }
@media (min-width: 480px) { ul.james-recommends-bar.jr-carousel li a { padding: 85px 0 0 0; } }
ul.james-recommends-bar.jr-carousel li a span { display: block; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: none; visibility: visible; position: relative; background: none; text-align: center; font-size: 18px; line-height: 22px; margin-top: 20px; }
@media (min-width: 480px) { ul.james-recommends-bar.jr-carousel li a span { margin-top: 0px; font-size: 14px; line-height: 20px; max-width: 89px; } }
@media (min-width: 768px) { ul.james-recommends-bar.jr-carousel li a span { font-size: 12px; line-height: 18px; max-width: none; } }
ul.james-recommends-bar.jr-carousel li a.jr-feature-1 { background-position: 0px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-2 { background-position: -157.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-3 { background-position: -315px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-4 { background-position: -472.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-5 { background-position: -630px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-6 { background-position: -787.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-7 { background-position: -945px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-8 { background-position: -1102.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-9 { background-position: -1260px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-10 { background-position: -1417.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-11 { background-position: -1575px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-12 { background-position: -1732.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-13 { background-position: -1890px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-14 { background-position: -2047.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-15 { background-position: -2205px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-16 { background-position: -2362.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-17 { background-position: -2520px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-18 { background-position: -2677.5px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-19 { background-position: -2835px 0px; }
ul.james-recommends-bar.jr-carousel li a.jr-feature-20 { background-position: -2992.5px 0px; }
@media (min-width: 480px) { ul.james-recommends-bar.jr-carousel li a.jr-feature-1 { background-position: 0px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-2 { background-position: -105px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-3 { background-position: -210px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-4 { background-position: -315px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-5 { background-position: -420px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-6 { background-position: -525px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-7 { background-position: -630px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-8 { background-position: -735px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-9 { background-position: -840px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-10 { background-position: -945px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-11 { background-position: -1050px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-12 { background-position: -1155px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-13 { background-position: -1260px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-14 { background-position: -1365px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-15 { background-position: -1470px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-16 { background-position: -1575px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-17 { background-position: -1680px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-18 { background-position: -1785px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-19 { background-position: -1890px 0px; }
  ul.james-recommends-bar.jr-carousel li a.jr-feature-20 { background-position: -1995px 0px; } }
ul.james-recommends-bar.jr-carousel.jr-override { width: 400px; }
@media (min-width: 768px) { ul.james-recommends-bar.jr-carousel.jr-override { width: 656px; } }
@media (min-width: 850px) { ul.james-recommends-bar.jr-carousel.jr-override { width: 820px; } }
@media (min-width: 1140px) { ul.james-recommends-bar.jr-carousel.jr-override { width: 972px; } }
@media (min-width: 1400px) { ul.james-recommends-bar.jr-carousel.jr-override { width: 1026px; } }
ul.james-recommends-bar.jr-carousel.jr-override li { width: 133.333px; border-left: 1px solid #D9D9D9; }
ul.james-recommends-bar.jr-carousel.jr-override li:first-child { border-left: none; }
@media (min-width: 768px) { ul.james-recommends-bar.jr-carousel.jr-override li { width: 164px; } }
@media (min-width: 1140px) { ul.james-recommends-bar.jr-carousel.jr-override li { width: 162px; } }
@media (min-width: 1400px) { ul.james-recommends-bar.jr-carousel.jr-override li { width: 171px; } }
ul.james-recommends-bar.jr-carousel li a { background-image: url("/images/jvh/ui/james-recommends-icons-2017-105.svg"); margin: auto; background-size: auto 112px; width: 155px; }
@media (min-width: 480px) { ul.james-recommends-bar.jr-carousel li a { background-size: auto 75px; width: 105px; } }
ul.james-recommends-bar.james-recommends-list li a span::after { position: absolute; left: -47px; top: 2px; height: 50px; width: 40px; padding-left: 0px; background-size: auto 60%; background-image: url("/images/jvh/ui/james-recommends-icons-2017-105.svg"); }
@media (min-width: 1140px) { ul.james-recommends-bar.james-recommends-list li a span::after { height: 75px; width: 60px; left: -75px; top: -10px; } }
ul.james-recommends-bar.james-recommends-list a.jr-feature-1 span::after { background-position: 0px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-2 span::after { background-position: -42px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-3 span::after { background-position: -84px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-4 span::after { background-position: -126px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-5 span::after { background-position: -168px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-6 span::after { background-position: -210px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-7 span::after { background-position: -252px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-8 span::after { background-position: -294px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-9 span::after { background-position: -336px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-10 span::after { background-position: -378px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-11 span::after { background-position: -420px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-12 span::after { background-position: -462px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-13 span::after { background-position: -504px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-14 span::after { background-position: -546px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-15 span::after { background-position: -588px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-16 span::after { background-position: -630px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-17 span::after { background-position: -672px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-18 span::after { background-position: -714px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-19 span::after { background-position: -756px 0px; }
ul.james-recommends-bar.james-recommends-list a.jr-feature-20 span::after { background-position: -798px 0px; }
@media (min-width: 1140px) { ul.james-recommends-bar.james-recommends-list a.jr-feature-1 span::after { background-position: 0px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-2 span::after { background-position: -63px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-3 span::after { background-position: -126px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-4 span::after { background-position: -189px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-5 span::after { background-position: -252px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-6 span::after { background-position: -315px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-7 span::after { background-position: -378px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-8 span::after { background-position: -441px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-9 span::after { background-position: -504px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-10 span::after { background-position: -567px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-11 span::after { background-position: -630px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-12 span::after { background-position: -693px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-13 span::after { background-position: -756px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-14 span::after { background-position: -819px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-15 span::after { background-position: -882px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-16 span::after { background-position: -945px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-17 span::after { background-position: -1008px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-18 span::after { background-position: -1071px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-19 span::after { background-position: -1134px 0px; }
  ul.james-recommends-bar.james-recommends-list a.jr-feature-20 span::after { background-position: -1197px 0px; } }

.no-js ul.james-recommends-bar li { width: 155px; height: 165px; }

.villa-collection-highlights { position: relative; text-align: center; margin: 0 auto 40px auto; padding: 0 20px 0 20px; }
.villa-collection-highlights > p > a { display: block; }

section.holiday-resorts.tile { overflow: hidden; padding: 30px 20px; margin: 0 auto 50px auto; padding: 50px 20px; border: solid #D9D9D9; border-width: 1px 0 1px 0; }
@media (min-width: 768px) { section.holiday-resorts.tile { max-width: 1700px; } }
@media (min-width: 850px) { section.holiday-resorts.tile { margin: 20px auto; } }
@media (min-width: 1140px) { section.holiday-resorts.tile { padding: 50px 20px; } }
@media (min-width: 1400px) { section.holiday-resorts.tile { padding: 50px 0; } }
section.holiday-resorts.tile div { max-width: 500px; margin: 0 auto; text-align: center; }
@media (min-width: 480px) { section.holiday-resorts.tile div { width: 50%; float: left; } }
@media (min-width: 1140px) { section.holiday-resorts.tile div { max-width: none; width: 27%; } }
section.holiday-resorts.tile div .holiday-resort-badge { margin: 10px 0 0 0; width: 55px; height: 40px; }
@media (min-width: 768px) { section.holiday-resorts.tile div .holiday-resort-badge { margin: 8px 0 20px 0; } }
@media (min-width: 1140px) { section.holiday-resorts.tile div .holiday-resort-badge { margin: 10px 0 20px 0; } }
section.holiday-resorts.tile div h2 { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: uppercase; display: inline-block; vertical-align: top; margin: 15px 0 20px 0; font-size: 28px; }
@media (min-width: 480px) { section.holiday-resorts.tile div h2 { font-size: 26px; } }
@media (min-width: 768px) { section.holiday-resorts.tile div h2 { margin: 0 0 20px 5px; font-size: 30px; } }
@media (min-width: 1140px) { section.holiday-resorts.tile div h2 { font-size: 24px; } }
@media (min-width: 1400px) { section.holiday-resorts.tile div h2 { margin: 0 0 20px 20px; font-size: 30px; } }
section.holiday-resorts.tile div p { margin-bottom: 20px; }
section.holiday-resorts.tile ul { overflow: hidden; max-width: 500px; margin: 0 auto; }
@media (min-width: 480px) { section.holiday-resorts.tile ul { width: calc(50% - 20px); float: right; padding: 20px 0 0 0; } }
@media (min-width: 768px) { section.holiday-resorts.tile ul { padding: 0; } }
@media (min-width: 1140px) { section.holiday-resorts.tile ul { max-width: none; width: calc(73% - 20px); } }
section.holiday-resorts.tile ul li { display: none; float: left; }
@media (min-width: 1140px) { section.holiday-resorts.tile ul li { display: block; width: calc(50% - 20px); margin-left: 20px; } }
@media (min-width: 1400px) { section.holiday-resorts.tile ul li { width: calc(33.3% - 50px); margin-left: 50px; } }
@media (min-width: 1140px) { section.holiday-resorts.tile ul li:nth-of-type(3) { display: none; } }
@media (min-width: 1400px) { section.holiday-resorts.tile ul li:nth-of-type(3) { display: block; } }
section.holiday-resorts.tile ul li:first-child { display: block; }
section.holiday-resorts.tile ul li img { width: 100%; }

.destination-map { background: #C1CBCD; background-position: center center; background-size: cover; background-repeat: no-repeat; text-align: center; padding: 80px 0 80px 0; }
@media (min-width: 1400px) { .destination-map { max-height: 800px; } }
.destination-map.lazy-loaded { background-image: url("https://i.jamesvillas.co.uk/images/jvh/homepage/2016/map_mob.png"); background-image: url("https://i.jamesvillas.co.uk/images/jvh/homepage/2016/map_mob.png"), linear-gradient(#dde7e9, #c1cbcd); }
@media (min-width: 768px) { .destination-map.lazy-loaded { background-image: url("https://i.jamesvillas.co.uk/images/jvh/homepage/2016/map.png"); background-image: url("https://i.jamesvillas.co.uk/images/jvh/homepage/2016/map.png"), linear-gradient(#dde7e9, #c1cbcd); } }
.destination-map div h2 { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; font-size: 30px; text-transform: uppercase; margin: 0 0 12px 0; }
.destination-map div h3 { font-size: 20px; line-height: 40px; margin: 0 0 40px 0; }
@media (min-width: 768px) { .destination-map div h3 { font-size: 30px; line-height: 50px; } }
.destination-map div h3 span { font-family: "Black Jack", Arial, Helvetica, sans-serif; font-size: 40px; display: block; }
@media (min-width: 768px) { .destination-map div h3 span { font-size: 50px; display: inline-block; } }
.destination-map ul.pointers { width: 90%; margin: 0 5% 40px 5%; overflow: hidden; position: relative; }
@media (min-width: 768px) { .destination-map ul.pointers { width: 60%; margin: 0 20% 20px 20%; } }
@media (min-width: 1140px) { .destination-map ul.pointers { width: 100%; margin: 0 0 20px 0; height: 445px; } }
.destination-map ul.pointers li { background: #003057; text-transform: uppercase; width: 48%; float: left; line-height: 30px; margin: 0 0 10px 0; }
@media (min-width: 1140px) { .destination-map ul.pointers li { width: auto; float: none; padding: 0 10px; position: absolute; opacity: 0; } }
@media (min-width: 1400px) { .destination-map ul.pointers li:after { top: 100%; left: 30%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: transparent; border-top-color: #003057; border-width: 10px; margin-left: -10px; -webkit-transition: all 0.5s cubic-bezier(0.64, 0.57, 0.67, 1.53); transition: all 0.5s cubic-bezier(0.64, 0.57, 0.67, 1.53); } }
.destination-map ul.pointers li:hover { background: #91b9d3; -webkit-transition: all 0.5s cubic-bezier(0.64, 0.57, 0.67, 1.53); transition: all 0.5s cubic-bezier(0.64, 0.57, 0.67, 1.53); }
@media (min-width: 1400px) { .destination-map ul.pointers li:hover:after { border-top-color: #91b9d3; -webkit-transition: all 0.5s cubic-bezier(0.64, 0.57, 0.67, 1.53); transition: all 0.5s cubic-bezier(0.64, 0.57, 0.67, 1.53); } }
.destination-map ul.pointers li.active { opacity: 1; -webkit-transition: all 0.5s cubic-bezier(0.64, 0.57, 0.67, 1.53); transition: all 0.5s cubic-bezier(0.64, 0.57, 0.67, 1.53); }
.destination-map ul.pointers li:nth-child(even) { float: right; }
@media (min-width: 1140px) { .destination-map ul.pointers li:nth-child(even) { float: none; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-17 { left: 16%; top: 69%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-17.active { top: 79%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-24 { left: 64%; top: 3%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-24.active { top: 13%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-6 { left: 73%; top: 29%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-6.active { top: 39%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-21 { left: 70.5%; top: 51%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-21.active { top: 61%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-10 { left: 56%; top: -2%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-10.active { top: 8%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-14 { left: 67%; top: 24%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-14.active { top: 34%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-15 { left: 64%; top: 13%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-15.active { top: 23%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-7 { left: 56.5%; top: 17%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-7.active { top: 27%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-132 { left: 51%; top: 39%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-132.active { top: 49%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-5 { left: 54%; top: 11%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-5.active { top: 21%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-3 { left: 51.5%; top: 24%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-3.active { top: 34%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-16 { left: 71%; top: 23%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-16.active { top: 33%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-8 { left: 12%; top: 0%; } }
@media (min-width: 1140px) { .destination-map ul.pointers li.country-8.active { top: 9%; } }
.destination-map ul.pointers li a { color: #FFFFFF; display: block; }

@media (max-width: 767px) { .modal-content.dest-map #modalContent { padding: 40px 0 0 0; background-color: #273F65; }
  .modal-content.dest-map #modalClose { top: 5px; }
  .modal-content.dest-map #modalClose:before, .modal-content.dest-map #modalClose:after { background-color: #FFFFFF; } }

.hero.gallery.carousel.transition > ul:first-of-type { -webkit-transition: transform 500ms ease-out; transition: transform 500ms ease-out; }
.hero.gallery.carousel:after { display: none; }
.hero.gallery.carousel > ul:first-of-type { height: 100%; }
.hero.gallery.carousel > ul:first-of-type > li { background-size: cover; width: 100%; height: 100%; position: relative; }
.hero.gallery.carousel > ul:first-of-type > li:before { position: absolute; left: 0; right: 0; bottom: 0; content: ''; height: 60%; background: black; background: -webkit-linear-gradient(legacy-direction(transparent), black); background: linear-gradient(transparent, black); }

.hero-copy-container { display: none; padding: 0 55px; }
@media (min-width: 480px) { .hero-copy-container { display: block; } }
@media (min-width: 768px) { .hero-copy-container { width: 80%; left: 10%; padding: 0; } }
.hero-copy-container > ul { display: block; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }
.hero-copy-container > ul > li { display: block; float: left; width: 32%; margin: 0 1%; color: #FFFFFF; -webkit-box-flex: 1; -webkit-flex: 1; -moz-box-flex: 1; -moz-flex: 1; -ms-flex: 1; flex: 1; }
.hero-copy-container > ul > li h2 { text-align: center; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; -moz-align-items: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -moz-justify-content: center; justify-content: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; height: 40px; }
@media (min-width: 768px) { .hero-copy-container > ul > li h2 { height: 60px; } }
@media (min-width: 1140px) { .hero-copy-container > ul > li h2 { height: 80px; margin-bottom: 40px; } }
.hero-copy-container > ul > li p { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 15px; }
.hero-copy-container > ul > li:first-child { margin-left: 0; }
.hero-copy-container > ul > li:nth-last-child(2) { display: none; }
@media (min-width: 768px) { .hero-copy-container > ul > li:nth-last-child(2) { display: block; } }
.hero-copy-container > ul > li:last-child { margin-right: 0; display: none; }
@media (min-width: 1140px) { .hero-copy-container > ul > li:last-child { display: block; } }
.hero-copy-container > ul.countdown > li { color: #000000; }

.hr-badge { background: url("/images/jvh/ui/villa-category-tabs/hr-label.svg") no-repeat center center; background-size: cover; background-color: #f8AC23; text-indent: 100px; overflow: hidden; }
.hr-badge.position { padding-left: 3px; width: 45px; height: 35px; position: absolute; bottom: 13px; left: 13px; z-index: 2; }
.hr-badge.position.hr-plus-apartment { bottom: 20px; }
.hr-badge.dest-block { /* Used on destination pages dest blocks */ height: 30px; width: 40px; display: block; position: absolute; bottom: 90px; left: 15px; text-indent: -9999px; -webkit-animation: 0.5s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.5s ease-in-out 0s fadeIn; animation-fill-mode: both; }

.hr-badge-pseudo:before { content: ""; background: url("/images/jvh/ui/villa-category-tabs/hr-label.svg") no-repeat; width: 44px; height: 34px; background-size: cover; display: block; overflow: hidden; vertical-align: inherit; margin: 0 auto 15px auto; }
@media (min-width: 480px) { .hr-badge-pseudo:before { margin: 0 10px 0 0; display: inline-block; vertical-align: text-top; } }
@media (min-width: 768px) { .hr-badge-pseudo:before { vertical-align: inherit; } }

.holiday-resort-badge { background: url("/images/jvh/ui/villa-category-tabs/hr-label.svg") no-repeat; width: 44px; height: 34px; background-size: cover; display: inline-block; overflow: hidden; text-indent: -9999px; margin: 0px auto 20px auto; }

.apartment-badge { position: absolute; bottom: 0px; left: 13px; font-size: 13px; display: inline-block; padding: 2px 5px 5px; background-color: white; color: #000000; z-index: 2; }

/* reusable villa blocks */
ul.auto-villa-blocks.owl-carousel { flex-wrap: nowrap; max-height: 620px; overflow: hidden; -webkit-box-pack: initial; -ms-flex-pack: initial; -webkit-justify-content: initial; -moz-justify-content: initial; justify-content: initial; }
ul.auto-villa-blocks.owl-carousel .owl-item > li { min-width: 100%; width: 100%; margin: 0; min-height: 500px; }
@media (min-width: 1140px) { ul.auto-villa-blocks.owl-carousel .owl-item > li { min-height: 620px; } }

ul.auto-villa-blocks { text-align: center; max-width: 1820px; margin: 0 auto; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-pack: distribute; -webkit-justify-content: space-around; -moz-justify-content: space-around; justify-content: space-around; flex-wrap: wrap; }
ul.auto-villa-blocks.lazy-load > li { display: none; }
ul.auto-villa-blocks.image-block-only { -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -moz-justify-content: center; justify-content: center; }
@media (min-width: 480px) { ul.auto-villa-blocks.image-block-only { -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between; } }
ul.auto-villa-blocks.image-block-only > li { margin: 0 0 20px 0; }
@media (max-width: 767px) { ul.auto-villa-blocks.image-block-only > li { width: 100%; } }
@media (min-width: 480px) { ul.auto-villa-blocks.image-block-only > li { width: 47%; max-width: 47%; } }
@media (min-width: 768px) { ul.auto-villa-blocks.image-block-only > li { width: 31%; max-width: 31%; } }
@media (min-width: 1140px) { ul.auto-villa-blocks.image-block-only > li { max-width: 24%; } }
@media (min-width: 1140px) { ul.auto-villa-blocks.image-block-only > li:nth-child(5), ul.auto-villa-blocks.image-block-only > li:nth-child(6) { display: none; } }
ul.auto-villa-blocks.image-block-only > li .image-block { height: 180px; max-height: none; background-size: cover; }
@media (min-width: 1140px) { ul.auto-villa-blocks.image-block-only > li .image-block { height: 200px; } }
ul.auto-villa-blocks.image-block-only > li .image-block .image-text { position: absolute; bottom: 15px; color: #FFFFFF; z-index: 2; text-transform: uppercase; padding: 0 5px; width: 100%; }
ul.auto-villa-blocks.image-block-only > li .image-block .image-text p { padding: 0; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
ul.auto-villa-blocks.stacked { display: block; max-width: 480px; margin: auto; }
@media (min-width: 768px) { ul.auto-villa-blocks.stacked { max-width: 100%; } }
ul.auto-villa-blocks.stacked > li { width: 100%; min-width: 100%; max-width: 100%; margin: 0 0 20px 0; padding: 0 0 20px 0; overflow: hidden; }
@media (min-width: 768px) { ul.auto-villa-blocks.stacked > li { text-align: left; border: none; border-bottom: 1px solid #DCDCDC; } }
ul.auto-villa-blocks.stacked > li:last-child { margin: 0; }
@media (min-width: 768px) { ul.auto-villa-blocks.stacked > li:last-child { border-bottom: none; padding: 0; } }
ul.auto-villa-blocks.stacked > li:last-child .cta { bottom: 0; }
ul.auto-villa-blocks.stacked > li .image-block { max-height: 100%; margin: 0 0 20px 0; }
@media (min-width: 768px) { ul.auto-villa-blocks.stacked > li .image-block { width: 50%; float: left; margin: 0 20px 0 0; } }
@media (min-width: 1140px) { ul.auto-villa-blocks.stacked > li .image-block { width: 50%; } }
ul.auto-villa-blocks.stacked > li .image-block img { margin: 0; }
@media (min-width: 768px) { ul.auto-villa-blocks.stacked > li .info-block p { min-height: 145px; } }
@media (min-width: 1140px) { ul.auto-villa-blocks.stacked > li .info-block p { min-height: 128px; } }
ul.auto-villa-blocks.stacked > li .reevoo-wrapper-large { display: block; margin: 0 20px 0 20px; }
@media (min-width: 768px) { ul.auto-villa-blocks.stacked > li .reevoo-wrapper-large { margin: 0; float: left; } }
ul.auto-villa-blocks.stacked > li h3 { padding: 0; }
ul.auto-villa-blocks.stacked > li .cta { position: relative; margin: 20px auto 0 auto; bottom: 0; left: auto; }
@media (min-width: 768px) { ul.auto-villa-blocks.stacked > li .cta { float: right; clear: right; } }
ul.auto-villa-blocks > li, ul.auto-villa-blocks .owl-item > li { margin: 15px auto; font-size: 15px; position: relative; text-align: center; border: 1px solid #DCDCDC; padding-bottom: 60px; max-width: 400px; width: 100%; -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -moz-box-flex: 1; -moz-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; }
ul.auto-villa-blocks > li.filler-li, ul.auto-villa-blocks .owl-item > li.filler-li { border: none; height: 1px; margin: 0; }
@media (min-width: 768px) { ul.auto-villa-blocks > li, ul.auto-villa-blocks .owl-item > li { margin: 15px 5px; width: 48%; } }
@media (min-width: 1140px) { ul.auto-villa-blocks > li, ul.auto-villa-blocks .owl-item > li { width: 30%; margin: 15px 15px; padding-bottom: 75px; } }
ul.auto-villa-blocks > li .icons, ul.auto-villa-blocks .owl-item > li .icons { margin: 0 auto; display: inline-block; padding: 0 0 10px 0; }
ul.auto-villa-blocks > li .icons .bath, ul.auto-villa-blocks .owl-item > li .icons .bath { display: none; }
@media (min-width: 480px) { ul.auto-villa-blocks > li .icons .bath, ul.auto-villa-blocks .owl-item > li .icons .bath { display: inline-block; } }
@media (min-width: 768px) { ul.auto-villa-blocks > li .icons .bath, ul.auto-villa-blocks .owl-item > li .icons .bath { display: none; } }
@media (min-width: 850px) { ul.auto-villa-blocks > li .icons .bath, ul.auto-villa-blocks .owl-item > li .icons .bath { display: inline-block; } }
@media (min-width: 1140px) { ul.auto-villa-blocks > li .icons, ul.auto-villa-blocks .owl-item > li .icons { padding: 0 0 18px 0; }
  ul.auto-villa-blocks > li .icons .bath, ul.auto-villa-blocks .owl-item > li .icons .bath { display: none; } }
@media (min-width: 1400px) { ul.auto-villa-blocks > li .icons .bath, ul.auto-villa-blocks .owl-item > li .icons .bath { display: inline-block; } }
ul.auto-villa-blocks > li > div.image-block, ul.auto-villa-blocks .owl-item > li > div.image-block { position: relative; max-height: 180px; overflow: hidden; }
ul.auto-villa-blocks > li > div.image-block > img, ul.auto-villa-blocks .owl-item > li > div.image-block > img { width: 100%; margin-top: -10px; }
@media (min-width: 1140px) { ul.auto-villa-blocks > li > div.image-block, ul.auto-villa-blocks .owl-item > li > div.image-block { max-height: 300px; }
  ul.auto-villa-blocks > li > div.image-block > img, ul.auto-villa-blocks .owl-item > li > div.image-block > img { margin-top: 0px; } }
ul.auto-villa-blocks > li > div.image-block:after, ul.auto-villa-blocks .owl-item > li > div.image-block:after { position: absolute; left: 0; right: 0; content: ''; bottom: 0px; height: 50%; z-index: 1; background: rgba(0, 0, 0, 0.66); background: -webkit-linear-gradient(legacy-direction(transparent), rgba(0, 0, 0, 0.66)); background: linear-gradient(transparent, rgba(0, 0, 0, 0.66)); }
ul.auto-villa-blocks > li .photo-gallery-link, ul.auto-villa-blocks .owl-item > li .photo-gallery-link { position: absolute; display: block; bottom: 0px; left: 0; width: 100%; text-align: center; padding: 20px 0 20px; color: white; cursor: pointer; z-index: 2; }
@media (min-width: 1140px) { ul.auto-villa-blocks > li .photo-gallery-link, ul.auto-villa-blocks .owl-item > li .photo-gallery-link { padding: 20px 0 26px; } }
ul.auto-villa-blocks > li h3, ul.auto-villa-blocks .owl-item > li h3 { padding-top: 14px; margin-bottom: 1px; }
ul.auto-villa-blocks > li h4, ul.auto-villa-blocks .owl-item > li h4 { display: block; margin-bottom: 10px; }
ul.auto-villa-blocks > li p, ul.auto-villa-blocks .owl-item > li p { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; padding: 0 18px; }
@media (min-width: 1140px) { ul.auto-villa-blocks > li p, ul.auto-villa-blocks .owl-item > li p { padding: 0 28px; } }
ul.auto-villa-blocks > li .reevoo-search-wrapper, ul.auto-villa-blocks .owl-item > li .reevoo-search-wrapper { display: inline-block; vertical-align: top; margin-left: 10px; max-width: 66px; }
ul.auto-villa-blocks > li .reevoo-wrapper-large, ul.auto-villa-blocks .owl-item > li .reevoo-wrapper-large { text-align: left; margin: 0 20px 20px 20px; }
ul.auto-villa-blocks > li .reevoo-read-reviews-large, ul.auto-villa-blocks .owl-item > li .reevoo-read-reviews-large { margin: -21px 0 0 110px; position: absolute; }
ul.auto-villa-blocks > li a.cta, ul.auto-villa-blocks .owl-item > li a.cta { position: absolute; bottom: 18px; left: calc(50% - 78px); }
@media (min-width: 1140px) { ul.auto-villa-blocks > li a.cta, ul.auto-villa-blocks .owl-item > li a.cta { bottom: 27px; } }

ul.auto-villa-blocks.image-block-only > li { padding-bottom: 0; }

.lt-ie10 .auto-villa-blocks > li { display: inline-block; }
.lt-ie10 .auto-villa-blocks.image-block-only > li { margin: 0 5px; }

/* Common classes related to homepage sections */
.villa-collections { padding: 20px; overflow: hidden; }
.villa-collections.case-sensitive { text-transform: none; }

.click-able { cursor: pointer; }

.category-labels-basic { display: inline-block; overflow: hidden; text-indent: 136px; }
.category-labels-basic.badge-small { position: absolute; top: 0px; right: 0px; width: 105px; height: 18px; }
.category-labels-basic.collection-1 { background: #D42017 url("/images/jvh/ui/villa-category-tabs/simply.svg") no-repeat center center; background-size: 100%; }
.category-labels-basic.collection-1.active:after { border-top-color: #D42017; }
.category-labels-basic.collection-2 { background: #A07F8A url("/images/jvh/ui/villa-category-tabs/classic.svg") no-repeat center center; background-size: 100%; }
.category-labels-basic.collection-2.active:after { border-top-color: #A07F8A; }
.category-labels-basic.collection-6 { background: #DC3A6D url("/images/jvh/ui/villa-category-tabs/individual.svg") no-repeat center center; background-size: 100%; }
.category-labels-basic.collection-6.active:after { border-top-color: #DC3A6D; }
.category-labels-basic.collection-3 { background: #7E95A4 url("/images/jvh/ui/villa-category-tabs/signature.svg") no-repeat center center; background-size: 100%; }
.category-labels-basic.collection-3.active:after { border-top-color: #7E95A4; }
.category-labels-basic.collection-4 { background: #CCC9C8 url("/images/jvh/ui/villa-category-tabs/luxury.svg") no-repeat center center; background-size: 100%; }
.category-labels-basic.collection-4.active:after { border-top-color: #CCC9C8; }
.category-labels-basic.collection-5 { background: #CBAE8C url("/images/jvh/ui/villa-category-tabs/ultimate.svg") no-repeat center center; background-size: 100%; }
.category-labels-basic.collection-5.active:after { border-top-color: #CBAE8C; }

.small-case { text-transform: none; }

.contractor-img { border-radius: 50px; border: 1px solid #ffffff; }

.holiday-you-like-it { width: 100%; overflow: hidden; margin-bottom: 75px; }
.holiday-you-like-it .inspiration-section, .holiday-you-like-it .way-you-like-section { background: url("/images/jvh/ui/Villa collection/assets/villa-category-amenity-pic2.png") no-repeat 0 0; width: 100%; float: none; margin: 10px 0; height: 100%; max-width: 950px; min-height: 500px; max-height: 820px; overflow: hidden; border-right: 1px solid #ffffff; background-size: cover; color: #ffffff; text-align: center; position: relative; }
@media (min-width: 768px) { .holiday-you-like-it .inspiration-section, .holiday-you-like-it .way-you-like-section { width: 50%; float: left; margin: 0px; } }
.holiday-you-like-it .inspiration-section:before, .holiday-you-like-it .way-you-like-section:before { position: absolute; left: 0; right: 0; bottom: 0; content: ''; height: 100%; background: black; background: -webkit-linear-gradient(legacy-direction(transparent), black); background: linear-gradient(transparent, black); }
@media (min-width: 768px) { .holiday-you-like-it .inspiration-section:before, .holiday-you-like-it .way-you-like-section:before { height: 60%; } }
.holiday-you-like-it .inspiration-section .content-position, .holiday-you-like-it .way-you-like-section .content-position { text-align: center; width: 100%; margin: 0 auto; color: #ffffff; padding: 300px 0 30px; position: relative; display: table-cell; vertical-align: bottom; }
.holiday-you-like-it .inspiration-section .content-position h2, .holiday-you-like-it .way-you-like-section .content-position h2 { text-transform: uppercase; }
.holiday-you-like-it .inspiration-section .content-position h3, .holiday-you-like-it .way-you-like-section .content-position h3 { text-transform: uppercase; }
.holiday-you-like-it .inspiration-section .content-position p, .holiday-you-like-it .way-you-like-section .content-position p { padding: 0 20px 24px; }
@media (min-width: 768px) { .holiday-you-like-it .inspiration-section .content-position p, .holiday-you-like-it .way-you-like-section .content-position p { padding: 0 50px 24px; } }
.holiday-you-like-it .inspiration-section .content-position p.cta-position, .holiday-you-like-it .way-you-like-section .content-position p.cta-position { padding: 32px 0; border-top: 1px solid #737963; }

.position-btn { margin: 30px 0 20px; }

/* Villa collections Hover State styles */
ul.collections > li, ul.villa-collections > li { position: relative; overflow: hidden; }

ul.collections > li:hover, ul.villa-collections > li:hover { cursor: pointer; }

ul.collections > li > .hover-text, ul.villa-collections > li > .hover-text { display: block; text-align: center; position: absolute; margin: 0px; -webkit-transform: translate3d(0, 100%, 0); -ms-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; left: 0; right: 0; bottom: 0; z-index: 2; background-color: #FFFFFF; color: #000000; width: 100%; }

ul.collections > li:hover > .hover-text, ul.villa-collections > li:hover > .hover-text { width: 100%; margin: 0px; }
@media (min-width: 1140px) { ul.collections > li:hover > .hover-text, ul.villa-collections > li:hover > .hover-text { -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; bottom: 0; background: #ffffff; color: #000000; width: 100%; } }

ul.collections > li > .hover-text { padding: 10px; font-size: 13px; line-height: 17px; }

.lt-ie10 ul.collections > li > .hover-text { min-height: 125px; }

/* End of Villa collections Hover State styles */
.villa-collection-highlights a.cta { margin: 25px 0 0; }

.clearfix:before, .clearfix:after { content: " "; display: table; }

.clearfix:after { clear: both; }

.clearfix { *zoom: 1; }

.lates-content-group { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-direction: normal; -webkit-box-orient: horizontal; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between; overflow: hidden; }
.lates-content-group li { background: #FFFFFF; margin: 0 0 10px 0; display: inline-block; float: left; text-align: center; position: relative; color: #000000; width: 100%; border-bottom: 1px dotted #000000; cursor: pointer; }
@media (min-width: 480px) { .lates-content-group li { width: 50%; } }
@media (min-width: 768px) { .lates-content-group li { width: 250px; } }
.lates-content-group li img { width: 100%; height: auto; }
.lates-content-group li .price { text-transform: uppercase; position: relative; display: block; background: url("/images/jvh/ui/deals-and-offers/circle.svg") top center no-repeat; width: 140px; height: 55px; margin: -57px auto 0 auto; padding: 9px 6px 0 6px; color: #FFFFFF; font-size: 15px; }
.lates-content-group li .price span { display: block; font-size: 28px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; }
.lates-content-group li .price span span { display: inline-block; text-transform: lowercase; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; font-size: 16px; }
.lates-content-group li h4 { font-size: 17px; margin: 10px 0 0 0; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; text-transform: uppercase; }
.lates-content-group li h5 { font-size: 15px; margin: 0 0 10px 0; text-transform: uppercase; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
.lates-content-group li p { font-family: "Montserrat Light", Arial, Helvetica, sans-serif; padding: 0 0 10px 0; font-size: 15px; }

.image-attribution { overflow: hidden; clear: both; text-align: center; overflow: hidden; clear: both; }
@media (min-width: 768px) { .image-attribution { width: 88%; display: block; z-index: 1; opacity: 1; margin: 0; position: absolute; } }
@media (min-width: 1140px) { .image-attribution { width: 58%; bottom: 40px; } }

@media (min-width: 768px) { .holiday-resort-offers ul.resort-promos > li .promo-block { min-height: 425px; } }
.holiday-resort-offers ul.resort-promos > li .resort-display { padding-top: 10px; display: table-cell; vertical-align: middle; width: 100vw; }
@media (min-width: 768px) { .holiday-resort-offers ul.resort-promos > li .resort-display { width: 275px; height: 65px; } }
@media (min-width: 1140px) { .holiday-resort-offers ul.resort-promos > li .resort-display { width: 350px; } }
@media (min-width: 768px) { .holiday-resort-offers ul.resort-promos > li.wide { width: 275px; } }
@media (min-width: 1140px) { .holiday-resort-offers ul.resort-promos > li.wide { width: 350px; } }
.holiday-resort-offers ul.resort-promos > li.wide .promo-block { display: inline-block; }
.holiday-resort-offers ul.resort-promos > li.image { padding: 0; max-width: 420px; }
@media (min-width: 768px) { .holiday-resort-offers ul.resort-promos > li.image { max-width: none; width: 750px; } }
.holiday-resort-offers ul.resort-promos > li.image .promo-block { padding: 15px; width: 100%; }
@media (min-width: 768px) { .holiday-resort-offers ul.resort-promos > li.image .promo-block { float: right; width: 45%; } }
@media (min-width: 1140px) { .holiday-resort-offers ul.resort-promos > li.image .promo-block { width: 275px; } }
.holiday-resort-offers ul.resort-promos > li.image .offer-image-block { float: left; height: 405px; background-size: cover; background-position: center center; background-repeat: no-repeat; width: 100%; height: 175px; }
@media (min-width: 768px) { .holiday-resort-offers ul.resort-promos > li.image .offer-image-block { width: 55%; height: 425px; } }
@media (min-width: 1140px) { .holiday-resort-offers ul.resort-promos > li.image .offer-image-block { width: 475px; } }

div.collection-modal { padding: 0 20px 20px 20px; }
@media (min-width: 768px) { div.collection-modal { padding: 35px; } }
@media (min-width: 1140px) { div.collection-modal { width: 900px; } }
@media (min-width: 1140px) and (min-height: 670px) { div.collection-modal { width: 1000px; } }

div.collection-modal h2.mob-header { display: block; }
@media (min-width: 768px) { div.collection-modal h2.mob-header { display: none; } }
div.collection-modal .collection-nav-mob { display: block; width: 44px; position: fixed; top: 30px; left: 0; z-index: 1; }
@media (min-width: 768px) { div.collection-modal .collection-nav-mob { display: none; } }
div.collection-modal .collection-nav-mob > li { position: relative; background-image: url("/images/jvh/holiday-destinations/villa-icon.svg"); background-position: center center; background-repeat: no-repeat; width: 100%; height: 44px; margin: 0 0 1px 0; }
div.collection-modal .collection-nav-mob > li.active:after { content: ''; -webkit-transform: rotateZ(270deg); -ms-transform: rotate(270deg); transform: rotateZ(270deg); border: 10px solid black; border-color: black transparent transparent; width: 1px; display: inline-block; height: 1px; position: absolute; top: 11px; right: -21px; -webkit-animation: 0.2s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.2s ease-in-out 0s fadeIn; animation-fill-mode: both; }
div.collection-modal .collection-nav-mob > li.active.collection-1:after { border-color: #D42017 transparent transparent; }
div.collection-modal .collection-nav-mob > li.active.collection-2:after { border-color: #A07F8A transparent transparent; }
div.collection-modal .collection-nav-mob > li.active.collection-3:after { border-color: #7E95A4 transparent transparent; }
div.collection-modal .collection-nav-mob > li.active.collection-4:after { border-color: #CCC9C8 transparent transparent; }
div.collection-modal .collection-nav-mob > li.active.collection-5:after { border-color: #CBAE8C transparent transparent; }
div.collection-modal .collection-nav-mob > li.active.collection-6:after { border-color: #DC3A6D transparent transparent; }
div.collection-modal .collection-nav { display: none; }
@media (min-width: 768px) { div.collection-modal .collection-nav { width: 30%; display: inline-block; } }
@media (min-width: 1140px) { div.collection-modal .collection-nav { width: 250px; } }
div.collection-modal .collection-nav > li { position: relative; display: block; height: 62px; margin: auto; }
div.collection-modal .collection-nav > li.collection { border-top: none; margin: 0 0 1px 0; cursor: pointer; }
div.collection-modal .collection-nav > li.collection.active:after { content: ''; -webkit-transform: rotateZ(270deg); -ms-transform: rotate(270deg); transform: rotateZ(270deg); border: 10px solid black; border-color: black transparent transparent; width: 1px; display: inline-block; height: 1px; position: absolute; bottom: 19px; right: -21px; -webkit-animation: 0.2s ease-in-out 0s fadeIn; -webkit-animation-fill-mode: both; animation: 0.2s ease-in-out 0s fadeIn; animation-fill-mode: both; }
div.collection-modal .collection-nav > li.collection.active.collection-1:after { border-color: #D42017 transparent transparent; }
div.collection-modal .collection-nav > li.collection.active.collection-2:after { border-color: #A07F8A transparent transparent; }
div.collection-modal .collection-nav > li.collection.active.collection-3:after { border-color: #7E95A4 transparent transparent; }
div.collection-modal .collection-nav > li.collection.active.collection-4:after { border-color: #CCC9C8 transparent transparent; }
div.collection-modal .collection-nav > li.collection.active.collection-5:after { border-color: #CBAE8C transparent transparent; }
div.collection-modal .collection-nav > li.collection.active.collection-6:after { border-color: #DC3A6D transparent transparent; }
div.collection-modal .collection-nav > li.button { margin-top: 20px; }
div.collection-modal .collection-nav > li span.badge { position: relative; display: block; top: auto; right: auto; height: 62px; width: 100%; background-size: 70%; }
@media (min-width: 768px) { div.collection-modal .collection-nav > li span.badge { background-size: 90%; } }
@media (min-width: 1140px) { div.collection-modal .collection-nav > li span.badge { background-size: 70%; } }
div.collection-modal .collection-content { display: none; vertical-align: top; -webkit-animation: 0.2s ease-in-out 0.2s fadeIn; -webkit-animation-fill-mode: both; animation: 0.2s ease-in-out 0.2s fadeIn; animation-fill-mode: both; width: 90%; margin: 0 0 0 36px; }
@media (min-width: 768px) { div.collection-modal .collection-content { width: 67%; margin: 0 0 0 20px; } }
@media (min-width: 1140px) { div.collection-modal .collection-content { width: 565px; margin: 0 0 0 15px; } }
@media (min-width: 1140px) and (min-height: 670px) { div.collection-modal .collection-content { width: 665px; } }

div.collection-modal .collection-content.collection-1.active, div.collection-modal .collection-content.collection-2.active, div.collection-modal .collection-content.collection-3.active, div.collection-modal .collection-content.collection-4.active, div.collection-modal .collection-content.collection-5.active, div.collection-modal .collection-content.collection-6.active { display: block; }
@media (min-width: 768px) { div.collection-modal .collection-content.collection-1.active, div.collection-modal .collection-content.collection-2.active, div.collection-modal .collection-content.collection-3.active, div.collection-modal .collection-content.collection-4.active, div.collection-modal .collection-content.collection-5.active, div.collection-modal .collection-content.collection-6.active { display: inline-block; } }
div.collection-modal .collection-content .image-container { width: 100%; height: 165px; position: relative; background-size: cover; background-repeat: no-repeat; background-position: bottom center; }
@media (min-width: 768px) { div.collection-modal .collection-content .image-container { height: 155px; } }
@media (min-width: 768px) and (min-height: 670px) { div.collection-modal .collection-content .image-container { height: 265px; } }

@media (min-width: 1140px) and (min-height: 670px) { div.collection-modal .collection-content .image-container { height: 365px; } }

div.collection-modal .collection-content .image-container.collection-1 { background-image: url("/images/jvh/ui/villa-collection/simply/hero-mob.jpg"); }
div.collection-modal .collection-content .image-container.collection-2 { background-image: url("/images/jvh/ui/villa-collection/classic/hero-mob.jpg"); }
div.collection-modal .collection-content .image-container.collection-3 { background-image: url("/images/jvh/ui/villa-collection/signature/hero-mob.jpg"); }
div.collection-modal .collection-content .image-container.collection-4 { background-image: url("/images/jvh/ui/villa-collection/luxury/hero-mob.jpg"); }
div.collection-modal .collection-content .image-container.collection-5 { background-image: url("/images/jvh/ui/villa-collection/ultimate/hero-mob.jpg"); }
div.collection-modal .collection-content .image-container.collection-6 { background-image: url("/images/jvh/ui/villa-collection/individual/hero-mob.jpg"); }
div.collection-modal .collection-content .image-container:after { content: ''; position: absolute; display: block; top: 0; bottom: 0; left: 0; right: 0; background: -moz-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 60%, black 100%); background: -webkit-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 60%, black 100%); background: linear-gradient(to bottom, rgba(30, 87, 153, 0) 0%, rgba(13, 38, 67, 0) 60%, black 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e5799', endColorstr='#000000',GradientType=0 ); }
div.collection-modal .collection-content .image-container span { width: 80%; height: 40px; display: block; position: absolute; bottom: 0; z-index: 1; left: 10%; color: #FFFFFF; text-transform: uppercase; line-height: 40px; text-align: center; font-size: 14px; }
@media (min-width: 768px) { div.collection-modal .collection-content .image-container span { font-size: 23px; width: 60%; left: 20%; } }
@media (min-width: 1140px) { div.collection-modal .collection-content .image-container span { font-size: 29px; } }
div.collection-modal .collection-content .collection-info { padding: 20px; text-align: center; border-left: 1px solid #d9d9d9; border-right: 1px solid #d9d9d9; border-bottom: 1px solid #d9d9d9; }
div.collection-modal .collection-content .collection-info div { text-align: left; max-height: 150px; overflow-y: scroll; margin: 0 0 20px 0; }
div.collection-modal .collection-content .collection-info div p { margin-bottom: 15px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

.owl-carousel { width: 100%; -webkit-tap-highlight-color: transparent; position: relative; z-index: 1; }
.owl-carousel .owl-stage { position: relative; -ms-touch-action: pan-Y; -moz-backface-visibility: hidden; }
.owl-carousel .owl-stage:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.owl-carousel .owl-stage-outer { position: relative; overflow: hidden; -webkit-transform: translate3d(0px, 0px, 0px); }
.owl-carousel .owl-wrapper, .owl-carousel .owl-item { -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); }
.owl-carousel .owl-item { position: relative; min-height: 1px; float: left; -webkit-backface-visibility: hidden; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; }
.owl-carousel .owl-nav.disabled, .owl-carousel .owl-dots.disabled { display: none; }
.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-dot { cursor: pointer; cursor: hand; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.owl-carousel.owl-loaded { display: block; }
.owl-carousel.owl-loading { opacity: 0; display: block; }
.owl-carousel.owl-hidden { opacity: 0; }
.owl-carousel.owl-refresh .owl-item { visibility: hidden; }
.owl-carousel.owl-drag .owl-item { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.owl-carousel.owl-grab { cursor: move; cursor: grab; }
.owl-carousel.owl-rtl { direction: rtl; }
.owl-carousel.owl-rtl .owl-item { float: right; }
.owl-carousel .index-counter { position: absolute; left: 50%; transform: translateX(-50%); }

.no-js .owl-carousel { display: block; }

.owl-theme .owl-nav { text-align: center; -webkit-tap-highlight-color: transparent; }
.owl-theme .owl-nav .owl-prev, .owl-theme .owl-nav .owl-next { color: #FFFFFF; font-size: 15px; margin: 0; padding: 4px 7px; display: inline-block; cursor: pointer; height: 50px; width: 40px; position: absolute; top: 50%; top: calc(50% - 25px); right: 0; bottom: auto; border: 1px solid #FFFFFF; z-index: 1; transition: all 300ms; background: rgba(0, 0, 0, 0.5); }
.owl-theme .owl-nav .owl-prev:after, .owl-theme .owl-nav .owl-next:after { content: ''; position: absolute; background: url("/images/jvh/holiday-destinations/dest-chevron-right.svg") center center no-repeat transparent; width: 29px; height: 40px; top: 4px; right: 3px; }
.owl-theme .owl-nav .owl-prev:hover, .owl-theme .owl-nav .owl-next:hover { background: black; color: #FFFFFF; text-decoration: none; }
.owl-theme .owl-nav .owl-prev { left: 0; }
.owl-theme .owl-nav .owl-prev:after { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }
.owl-theme .owl-nav .disabled { opacity: 0.4; cursor: default; }
.owl-theme.white-buttons .owl-nav .owl-prev, .owl-theme.white-buttons .owl-nav .owl-next { top: 45%; top: calc(50% - 25px); background: rgba(0, 0, 0, 0.3); border: 0; }
.owl-theme.white-buttons .owl-nav .owl-prev:after, .owl-theme.white-buttons .owl-nav .owl-next:after { background: url("/images/jvh/holiday-destinations/thumbnail-arrow-right.svg") center center no-repeat transparent; background-size: cover; height: 41px; }
.owl-theme.white-buttons .owl-nav .owl-prev:hover, .owl-theme.white-buttons .owl-nav .owl-next:hover { background: rgba(0, 0, 0, 0.5); }
.owl-theme.white-buttons .owl-nav .disabled { opacity: 0.2; }
.owl-theme.large-buttons .owl-nav .owl-prev, .owl-theme.large-buttons .owl-nav .owl-next { height: 100%; top: 0; transform: none; width: 28px; border: none; }
.owl-theme.large-buttons .owl-nav .owl-prev:after, .owl-theme.large-buttons .owl-nav .owl-next:after { content: ''; position: absolute; top: 45%; top: calc(50% - 12px); right: 3px; width: 22px; height: 24px; background: url(/images/jvh/holiday-destinations/thumbnail-arrow-right.svg) center center no-repeat transparent; }
.owl-theme .owl-nav.disabled + .owl-dots { margin-top: 10px; }
.owl-theme .owl-dots { text-align: center; -webkit-tap-highlight-color: transparent; }
.owl-theme .owl-dots .owl-dot { display: inline-block; zoom: 1; *display: inline; }
.owl-theme .owl-dots .owl-dot span { width: 10px; height: 10px; margin: 5px 7px; background: rgba(255, 255, 255, 0.3); display: block; -webkit-backface-visibility: visible; transition: opacity 200ms ease; border-radius: 30px; }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { background: white; }

.lt-ie10 .owl-theme .owl-prev:after { -webkit-transform: none; -ms-transform: none; transform: none; }

.collection-modal-load.white { color: #FFFFFF; }
.collection-modal-load:before { content: '?'; width: 15px; height: 15px; display: inline-block; border: 1px solid #000000; border-radius: 25px; text-align: center; margin: 0 5px 0 0; }

.lazy-load { -webkit-animation: 1s linear 0s placeHolderShimmer; -webkit-animation-fill-mode: forwards; animation: 1s linear 0s placeHolderShimmer; animation-fill-mode: forwards; -o-animation-iteration-count: infinite; -ms-animation-iteration-count: infinite; -webkit-animation-iteration-count: infinite; -moz-animation-iteration-count: infinite; animation-iteration-count: infinite; background: #f6f7f8; background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%); background-size: 500% auto; position: relative; }
.lazy-load.lazy-load-footer { background: rgba(0, 0, 0, 0.2); border-radius: 10px; background-color: rgba(0, 0, 0, 0.2); background-size: 500% auto; }
.lazy-load.lazy-load-footer.visa { border-radius: 5px; }
.lazy-load.lazy-load-footer.mastercard { border-radius: 5px; }
.lazy-load.lazy-load-footer.paypal { border-radius: 5px; }
.lazy-load.lazy-load-footer.amex { border-radius: 5px; }
.lazy-load.lazy-load-footer.norton-secured { border-radius: 5px; }
.lazy-load.lazy-load-footer.facebook { border-radius: 50px; }
.lazy-load.lazy-load-footer.twitter { border-radius: 50px; }
.lazy-load.lazy-load-footer.google-plus { border-radius: 50px; }
.lazy-load.lazy-load-footer.pinterest { border-radius: 50px; }
.lazy-load.lazy-load-footer.youtube { border-radius: 50px; }
.lazy-load.lazy-load-footer.instagram { border-radius: 50px; }

.review-intro { width: 100%; }
@media (min-width: 768px) { .review-intro { height: 350px; margin: 0 0 45px 0; } }
.review-intro.lazy-loaded { background-color: #B4DBF8; background-image: url("/images/jvh/destinations/reevoo_mob.jpg"); background-size: contain; background-position: bottom center; background-repeat: no-repeat; }
@media (min-width: 480px) { .review-intro.lazy-loaded { background-size: initial; } }
@media (min-width: 768px) { .review-intro.lazy-loaded { background-image: url("/images/jvh/destinations/reevoo.jpg"); background-position: center center; background-size: cover; } }
.review-intro > div { padding: 25px 20px 180px 20px; }
@media (min-width: 480px) { .review-intro > div { padding: 25px 20px 350px 20px; } }
@media (min-width: 768px) { .review-intro > div { padding: 25px 20px 0 20px; } }
@media (min-width: 1140px) { .review-intro > div { padding: 50px 0 0 0; } }
.review-intro > div h3 { text-transform: uppercase; }
.review-intro > div p { margin: 0 0 15px 0; }
@media (min-width: 768px) { .review-intro > div p { width: 55%; } }
@media (min-width: 768px) { .review-intro > div p { width: 50%; } }

.reevoo-container { padding: 0 20px; width: 100%; }
@media (min-width: 1140px) { .reevoo-container { padding: 0; } }

.review-disclaimer { text-align: center; margin: 0; }

.touch body.fix-back-scroll { overflow: hidden; position: fixed; width: 100%; height: 100%; }

.transformAni { transition-delay: 0s; transition-duration: 0.2s; transition-property: transform; transition-timing-function: ease; }

.fade { transition-delay: 0s; transition-duration: 0.5s; transition-property: opacity; transition-timing-function: ease; }

.flash-warning { transition-delay: 0s; transition-duration: 0.25s; transition-property: color; transition-timing-function: ease; color: red; }

.search label { cursor: pointer; }

.search .close:before, .search .close:after { background-color: #000000; }

#mobileSelectPanel { position: fixed; left: -100%; top: 0; width: 100%; max-height: 100%; background-color: rgba(0, 0, 0, 0.66); display: block; z-index: 110; height: 100%; opacity: 0; }

#mobileSelectPanel.show { display: block; opacity: 1; left: 0%; }

#mobileSelectPanel > div { margin: 30px auto 10px; background-color: white; width: calc(100% - 20px); height: calc(100% - 40px); position: relative; padding-top: 44px; }
@media (max-height: 419px) { #mobileSelectPanel > div { margin: 10px auto 10px; height: calc(100% - 20px); } }

#mobileSelectPanel.pax-age2 > div { margin: 165px auto 10px; }
@media (max-height: 419px) { #mobileSelectPanel.pax-age2 > div { margin: 30px auto 10px; } }

#mobileSelectPanel.pax-age4 > div { margin: 218px auto 10px; }
@media (max-height: 419px) { #mobileSelectPanel.pax-age4 > div { margin: 30px auto 10px; } }

#mobileSelectPanel > div > h2 { display: block; line-height: 44px; font-size: 23px; background-color: #E7E7E9; position: absolute; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; top: 0; left: 0; right: 0; padding-left: 12px; }

#mobileSelectPanel > div > p { font-size: 13px; padding: 10px; }

#mobileSelectPanel > div > ul { width: 100%; max-height: 100%; overflow: scroll; }

#mobileSelectPanel > div li { width: 100%; padding: 12px; border-top: 1px solid #E7E7E9; cursor: pointer; }
#mobileSelectPanel > div li.disabled { color: #DDDDDD; cursor: auto; }

#mobileSelectPanel.block > div ul { padding: 0 3px 10px; }

#mobileSelectPanel.block > div li { width: 38px; background-color: #F2F2F2; margin: 6px 6px 5px 5px; display: inline-block; text-align: center; border-style: none; font-size: 22px; white-space: nowrap; font-weight: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; height: 40px; line-height: 17px; padding: 12px 0px; color: #FD8A52; }
#mobileSelectPanel.block > div li.disabled { color: #DDDDDD; cursor: auto; }

#mobileSelectPanel.block > div li.selected { background-color: #FD8A52; color: white; }

#mobileSelectPanel .close { top: 6px; right: 4px; }

#mobileSelectPanel.duration-select > div li { font-size: 23px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; padding: 11px 12px; }

#mobileSelectPanel.duration-select > div li span { font-size: 17px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }

.search h3 { font-size: 14px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; margin-bottom: 0px; line-height: 24px; padding-top: 8px; }
@media (min-width: 768px) { .search h3 { line-height: 20px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; padding: 10px; background-color: #E7E7E9; } }

.search h2 { background-color: #E7E7E9; display: none; font-size: 16px; }
@media (min-width: 768px) { .search h2 { padding: 10px; background-color: #E7E7E9; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; } }

.search-bar-settings h3 { padding: 10px; background-color: #E7E7E9; font-size: 23px; text-transform: uppercase; }
@media (min-width: 768px) { .search-bar-settings h3 { font-size: 18px; text-transform: none; } }

#searchFormClose { display: none; right: 5px; top: 2px; }

.mob-panel { display: none; }

.search form .check-replacement { margin: 12px 5px 10px 0px; }
@media (min-width: 768px) { .search form .check-replacement { margin: 6px; } }
@media (min-width: 1140px) { .search form .check-replacement { margin: 1px 6px; } }

@media (min-width: 1140px) { .search form .alldest .check-replacement { margin: 1px 6px 1px 8px; } }

#searchbar { position: relative; margin: 0 auto; width: 100%; height: 56px; font-size: 16px; padding: 6px; }
@media (min-width: 768px) { #searchbar { min-width: 620px; max-width: 850px; } }

#searchbar > div { height: 100%; position: relative; }
@media (min-width: 768px) { #searchbar > div { background-color: white; height: 100%; padding-left: 35px; margin-right: 135px; position: relative; } }
@media (min-width: 1140px) { #searchbar > div { margin-right: 150px; } }

@media (min-width: 768px) { .fixed #searchbar { width: calc(100% - 40px); margin: 0 auto; } }

#searchbarCalendar:before, #searchbarPax:before, .search-airport:before, .dest-pick:before, .search-dest-text:before { background: url("/images/jvh/ui/search/search-sprite3.svg") no-repeat -1px 0px; background-size: auto 100%; content: ' '; display: block; width: 23px; height: 23px; position: absolute; top: 2px; left: 6px; text-indent: 100px; overflow: hidden; }

.loading #searchbarCalendar:before, .loading #searchbarPax:before, .loading .search-airport:before, .loading .dest-pick:before, .loading .search-dest-text:before { background-color: white; }

.dest-pick { display: none; position: absolute; overflow: hidden; right: 0px; left: initial; width: 73px; height: 42px; top: 34px; text-align: right; padding-right: 11px; text-transform: uppercase; color: #FD8A52; font-size: 15px; }
@media (min-width: 768px) { .dest-pick { color: white; display: inline-block; width: 33px; top: 10px; left: 2px; } }

#searchDestListClose { top: 35px; }
@media (min-width: 768px) { #searchDestListClose { top: -15px; } }

#frmSearchDest, .search-dest-text { display: none; width: calc(100% - 51px); height: 100%; border-style: none; padding: 0 0 0 35px; line-height: 36px; font-size: 16px; border-radius: 0px; }
@media (min-width: 768px) { #frmSearchDest, .search-dest-text { display: block; box-shadow: none; font-size: 20px; padding: 0 0 0 0px; } }

.search .where-to { display: none; }

.search-dest-text { display: inline-block; background-color: white; padding-top: 4px; }
@media (min-width: 768px) { .search-dest-text { display: none; } }
.search-dest-text:before { margin-top: 11px; margin-left: 2px; background-position: 0px 0; top: 0px; }

#searchbarCalendar, #searchbarPax, .search-airport { display: none; }
@media (min-width: 768px) { #searchbarCalendar, #searchbarPax, .search-airport { position: absolute; display: inline-block; top: 0; overflow: hidden; border-left: 2px solid #DEDFE1; padding: 0px 0 0px 35px; margin-top: 9px; width: 100px; right: 212px; font-size: 12px; line-height: 13px; min-height: 27px; text-align: left; background-color: white; } }

@media (min-width: 768px) { #searchbarPax { width: 108px; } }
#searchbarCalendar:before { background-position: 30% -1px; }

@media (min-width: 768px) { #searchbarPax { right: 103px; } }

#searchbarPax:before { background-position: 66.2% -1px; }

@media (min-width: 768px) { .search-airport { width: 98px; right: 5px; padding-left: 38px; } }

.search-airport:before { background-position: 100% 0px; }

@media (min-width: 1140px) { .homepage #searchbar { height: 77px; padding: 8px; }
  .homepage #searchbarCalendar, .homepage #searchbarPax, .homepage .search-airport { min-height: 42px; padding: 5px 0 0px 35px; }
  .homepage #searchbarCalendar:before, .homepage #searchbarPax:before, .homepage .search-airport:before, .homepage .dest-pick:before, .homepage .search-dest-text:before { top: 10px; }
  .homepage #searchbtn { height: 60px; top: 8px; right: 8px; }
  .homepage #searchbar > div { margin-right: 150px; } }
.searchbox-pointer, .searchbox-pointer:BEFORE { z-index: 15; display: none; width: 46px; height: 12px; position: absolute; bottom: -12px; left: 0px; border-left: 23px solid transparent; border-right: 23px solid transparent; border-bottom: 23px solid white; }

.searchbox-pointer:before, .searchpax-active > .searchbox-pointer:after { content: ' '; width: 100%; position: absolute; display: block; border-left: 23px solid transparent; border-right: 23px solid transparent; border-bottom: 23px solid #F8F8F8; height: 10px; top: -8px; left: -23px; z-index: 4; }

@media (min-width: 768px) { .search-destinations-active .searchbox-pointer { display: block; }
  .search-calendar-active .searchbox-pointer { display: block; right: 386px; left: auto; }
  .search-pax-active .searchbox-pointer { display: block; right: 283px; left: auto; }
  .search-airports-active .searchbox-pointer { display: block; right: 178px; left: auto; } }
#searchbtn { width: 44px; height: 44px; background-color: #003057; position: absolute; top: 6px; right: 6px; overflow: hidden; font-size: 19px; color: white; line-height: 44px; padding: 0; text-transform: uppercase; -webkit-transition: background-color 300ms; transition: background-color 300ms; }
@media (min-width: 768px) { #searchbtn { width: 130px; } }
@media (min-width: 1140px) { #searchbtn { width: 140px; } }
#searchbtn:before { content: ' '; background: url(/images/jvh/ui/icon-search.svg) no-repeat center center #003057; background-size: 70%; width: 100%; height: 100%; position: absolute; top: 0px; right: 0px; }
@media (min-width: 768px) { #searchbtn:before { width: 26px; height: 26px; position: static; margin-right: 5px; vertical-align: middle; background-size: 100%; transform: translate(0, -10%); display: inline-block; } }

.mob-form-controls { display: none; }

@media (max-width: 767px) { .searchactive .dest-pick { display: inline-block; right: 6px; }
  .search.searchactive .where-to { display: block; line-height: 27px; padding-top: 0px; }
  .mob-form-controls { display: block; }
  .mob-panel .control, .searchactive #frmSearchDest.control, .mob-form-controls .control { font-size: 16px; border: 1px solid #C0C0C0; border-style: solid; padding-left: 12px; border-radius: 0px; height: 44px; line-height: 44px; background-color: white; }
  .mob-form-controls .control.std { width: 100%; display: block; margin-bottom: 20px; }
  .mob-form-controls .control.std > span { display: inline-block; font-size: 25px; vertical-align: bottom; padding-left: 5px; }
  #frmSearchDest { width: 100%; } }
.search-mob-date-duration { display: inline-block; width: 74px; padding-right: 12px; }
.search-mob-date-duration .control { display: inline-block; height: auto; width: 100%; line-height: 8px; text-align: center; padding: 10px 10px 10px; font-size: 12px; }
.search-mob-date-duration .control > span:first-child { font-size: 25px; display: block; padding-bottom: 5px; line-height: 20px; text-transform: uppercase; }

.search-mob-pax > span { display: inline-block; width: calc(50% - 12px); position: relative; vertical-align: top; margin-right: 12px; }
.search-mob-pax > span.mob-pax-child-panel { line-height: 27px; width: 50%; margin-right: 0px; }
.search-mob-pax > span.mob-pax-child-panel .ages { font-size: 12px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; display: block; line-height: 5px; }
.search-mob-pax > span .pax-count { position: absolute; top: 0; right: 0; bottom: 0; font-size: 25px; line-height: 44px; padding-right: 10px; }

#searchPaxClose { display: none; top: -12px; }
@media (min-width: 768px) { #searchPaxClose { display: block; top: -15px; } }

#searchPaxMobClose { top: 6px; right: 0px; }
@media (min-width: 768px) { #searchPaxMobClose { display: none; } }

.search-mob-airport .search-airport { display: block; position: relative; width: 100%; margin-top: 0px; text-align: left; }
.search-mob-airport .search-airport:before { right: 43px; left: auto; left: initial; background-position: 98.9% 0px; top: 7px; height: 27px; width: 27px; position: absolute; }
.search-mob-airport .search-airport:after { content: 'LIST'; color: #FD8A52; position: absolute; right: 10px; font-size: 15px; }

.search-mob-villa-only { font-size: 14px; }

.search-calendar, .search-pax, #searchAirports { display: none; }

#searchCalendarClose { display: none; }
@media (min-width: 768px) { #searchCalendarClose { display: block; } }

@media (min-width: 768px) { .search-bar-settings { position: absolute; left: 12px; right: 12px; margin: 0 auto; min-width: 727px; width: 97%; max-width: 900px; } }

.search-dest-result { background-color: white; overflow-y: scroll; position: absolute; display: none; padding: 0px; margin: 0; border: 1px solid #E7E7E9; border-top-style: none; width: 100%; }
@media (min-width: 768px) { .search-dest-result { margin: 0; padding: 0 0px 6px 6px; background-color: rgba(225, 225, 225, 0.95); border-style: none; width: auto; top: 50px; right: -57px; left: -6px; overflow: hidden; } }

@media (min-width: 1140px) { .homepage .search-dest-result { top: 69px; left: -8px; padding: 0 0 8px 8px; right: -78px; } }

#searchDestResultClose { top: 5px; right: 5px; }
@media (min-width: 768px) { #searchDestResultClose { top: 0px; right: 25px; } }

.search-dest-result > div { width: 100%; background-color: white; display: inline-block; vertical-align: top; overflow: hidden; }
@media (min-width: 768px) { .search-dest-result > div { width: 50%; background-color: white; padding: 13px 19px 13px 0; min-height: auto; height: 260px; } }

@media (min-width: 768px) { .search-dest-result > div:FIRST-CHILD { padding: 13px 0px 13px 22px; } }

.search-dest-result .searchbar-villa-list { width: 100%; }
@media (min-width: 768px) { .search-dest-result .searchbar-villa-list { width: 49%; } }

.search-dest-result li { padding: 10px; cursor: pointer; }
@media (min-width: 768px) { .search-dest-result li { font-size: 15px; padding: 6px 0; position: relative; } }

.search-dest-result li.proximity { line-height: 22px; cursor: default; }
.search-dest-result li.proximity:after { content: ''; position: relative; display: inline-block; width: 11px; height: 16px; background: url("/images/jvh/ui/search/search-sprite.svg") no-repeat -1px 0 black; background-size: cover; }

.search-dest-result li.villa-booking > img { width: 90%; }
@media (min-width: 480px) { .search-dest-result li.villa-booking > img { width: 50%; } }

.search-dest-result li.villa-booking > span { width: 100%; display: inline-block; vertical-align: top; margin-top: 5px; }
@media (min-width: 480px) { .search-dest-result li.villa-booking > span { width: 50%; padding-left: 10px; padding-right: 10px; margin-top: 0; } }

.search-dest-result li.villa-booking button { margin-top: 15px; display: block; }
@media (min-width: 480px) { .search-dest-result li.villa-booking button { display: inline-block; } }

.search-dest-result li.villa-booking h4 { font-weight: bold; font-size: 16px; }

@media (min-width: 768px) { .search .search-dest-result .searchbar-villa-list li:after { content: 'View'; color: #003057; position: absolute; right: 0; cursor: pointer; font-size: 14px; background-color: white; text-decoration: underline; } }

.search-dest-result li.selected { color: #FD8A52; }

@media (min-width: 768px) { .searchbar-dest-list h3, .searchbar-villa-list h3 { background-color: white; padding: 0; height: 30px; font-size: 20px; } }

.search-destinations { position: absolute; background-color: rgba(0, 0, 0, 0.66); right: 0; left: 0; padding: 30px 10px 10px 10px; display: none; bottom: 0px; top: 0px; }
@media (min-width: 768px) { .search-destinations { top: 12px; margin: 0; position: relative; background-color: white; padding: 1px 1px 10px 1px; border: 2px solid #D6D6D6; border-top-style: none; } }

.search-destinations .check-replacement { display: none; }
@media (min-width: 768px) { .search-destinations .check-replacement { display: inline-block; } }

@media (min-width: 768px) { .search .search-destinations > div { display: block; position: relative; } }
@media (min-width: 1140px) { .search .search-destinations > div { width: 77%; display: inline-block; vertical-align: top; } }

.search .search-destinations > div:FIRST-CHILD { display: none; }
@media (min-width: 768px) { .search .search-destinations > div:FIRST-CHILD { display: block; padding-left: 0; } }
@media (min-width: 1140px) { .search .search-destinations > div:FIRST-CHILD { display: inline-block; width: 23%; } }

.search-destinations .alldest { background-color: white; height: 100%; }
.search-destinations .alldest > div { height: 400px; height: calc(100% - 40px); overflow-y: scroll; }
@media (min-width: 768px) { .search-destinations .alldest > div { padding-left: 2px; height: auto; overflow-y: visible; } }

.search-destinations .alldest > div > label { font-size: 22px; padding: 12px 10px 11px; }
@media (min-width: 768px) { .search-destinations .alldest > div > label { font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; font-size: 15px; position: absolute; top: 0px; right: 0px; padding: 10px 10px 0 0; } }
@media (min-width: 1140px) { .search-destinations .alldest > div > label { margin-bottom: 2px; position: relative; } }

.search-destinations li { display: inline-block; text-align: left; width: 100%; }

.search-destinations li, .search-destinations li label { cursor: pointer; }
.search-destinations li.disable, .search-destinations li label.disable { color: #cccccc; cursor: initial; }

.search-destinations ul.searchbar-product-list li { position: relative; width: 49%; }
@media (min-width: 768px) { .search-destinations ul.searchbar-product-list li { width: 16%; padding: 10px 0 5px 3px; height: 45px; }
  .search-destinations ul.searchbar-product-list li.collection-3, .search-destinations ul.searchbar-product-list li.collection-6 { width: 18%; }
  .search-destinations ul.searchbar-product-list li:first-child { width: 50%; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; position: absolute; right: 0px; top: 0px; }
  .search-destinations ul.searchbar-product-list li:first-child label { position: absolute; right: 31px; top: 8px; } }
@media (min-width: 1140px) { .search-destinations ul.searchbar-product-list li { width: 100%; padding: 5px 0 4px 4px; height: auto; }
  .search-destinations ul.searchbar-product-list li.collection-3, .search-destinations ul.searchbar-product-list li.collection-6 { width: 100%; }
  .search-destinations ul.searchbar-product-list li:first-child { width: 100%; position: relative; left: auto; top: auto; width: 100%; }
  .search-destinations ul.searchbar-product-list li:first-child label { position: relative; left: auto; right: auto; top: auto; } }

.collection-6 .info-hint:hover table { right: -14px; }
.collection-6 .info-hint:hover table:AFTER { right: 7px; }
@media (min-width: 1140px) { .collection-6 .info-hint:hover table { right: -200px; }
  .collection-6 .info-hint:hover table:AFTER { right: 194px; } }

.price-total .info-hint:hover table { right: -14px; }
.price-total .info-hint:hover table:AFTER { right: 7px; }

.price-pp .info-hint:hover table { right: -41px; }
.price-pp .info-hint:hover table:AFTER { right: 35px; }

.collection-5 .info-hint:hover table { right: -136px; }
.collection-5 .info-hint:hover table:AFTER { right: 129px; }
@media (min-width: 1140px) { .collection-5 .info-hint:hover table { right: -200px; }
  .collection-5 .info-hint:hover table:AFTER { right: 194px; } }

.info-hint { position: relative; padding-left: 4px; display: inline-block; }
.info-hint table { display: none; }
.info-hint.collection-modal-load:before { line-height: 15px; }
.info-hint:hover table { display: table; position: absolute; bottom: 32px; right: -200px; background-color: #0A0A0A; color: white; border: 4px solid #0A0A0A; font-size: 11px; min-width: 235px; text-align: left; }
.info-hint:hover table:AFTER { content: ' '; border: 12px solid black; border-color: black transparent transparent; width: 1px; display: inline-block; height: 1px; position: absolute; bottom: -27px; right: 194px; }
.info-hint:hover table .total { border-top: 1px solid white; padding-top: 1px; }
.info-hint:hover table .total td { padding: 5px 5px 2px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
.info-hint:hover table td { padding: 2px 5px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
.info-hint > span:first-child { border: 1px solid black; border-radius: 50%; width: 15px; height: 15px; display: inline-block; padding-left: 0px; text-align: center; line-height: 1.2; font-size: 12px; }

.collection-colour .info-hint > span { border-color: inherit; }

.search-destinations ul.searchbar-product-list li label { font-size: 90%; display: inline-block; }
@media (min-width: 1140px) { .search-destinations ul.searchbar-product-list li label { width: 70%; } }

.search-destinations > div > div > ul { padding: 0 10px; }
@media (min-width: 768px) { .search-destinations > div > div > ul { padding: 0px; } }
@media (min-width: 1140px) { .search-destinations > div > div > ul { padding: 4px 0px 0px; } }

.search-destinations .country-list { display: inline-block; vertical-align: top; width: 100%; }
@media (min-width: 768px) { .search-destinations .country-list { width: 38%; max-width: 270px; -webkit-columns: 2; -webkit-column-gap: 0; -moz-columns: 2; -moz-column-gap: 0; columns: 2; column-gap: 0; }
  .search-destinations .country-list .region-list { display: none; } }
@media (min-width: 1140px) { .search-destinations .country-list { width: 40%; } }

.search-destinations .country-list li { position: relative; border-top: 1px solid #E7E7E9; padding: 10px 0 0; font-size: 22px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .search-destinations .country-list li { font-size: 15px; max-width: 149px; border-top-style: none; padding: 8px; } }
@media (min-width: 1140px) { .search-destinations .country-list li { padding: 5px 8px 4px; } }

.lt-ie10 .search-destinations .country-list li { width: 100%; }
@media (min-width: 768px) { .lt-ie10 .search-destinations .country-list li { width: 50%; } }

@media (min-width: 768px) { .search-destinations li.selected { color: #FD8A52; } }
.search-destinations .country-list li ul { padding-top: 12px; }

.search-destinations .country-list li li { font-size: 87%; padding: 11px 0; text-indent: 15px; font-weight: normal; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .search-destinations .country-list li li { font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; } }

.search-destinations .region-list { vertical-align: top; width: 100%; }
@media (min-width: 768px) { .search-destinations .region-list { -webkit-column-width: 140px; -moz-column-width: 140px; width: 62%; -webkit-column-width: 164px; -moz-column-width: 164px; column-width: 164px; display: inline-block; padding-left: 20px; } }
@media (min-width: 1140px) { .search-destinations .region-list { width: 60%; padding-left: 10px; } }

.search-destinations .region-list li { padding: 8px; }
@media (min-width: 1140px) { .search-destinations .region-list li { padding: 5px 8px 4px; } }

.lt-ie10 .search-destinations .region-list li { width: 50%; }

#searchAirports.show, .search-destinations.show, .search-dest-result.show, .search-calendar.show { display: block; z-index: 14; }

.search-calendar-date .previous-month, .search-calendar-date .next-month { width: 32px; height: 32px; background: url("/images/jvh/ui/cta-arrow-black.svg") no-repeat center center transparent; background-size: 55%; text-indent: 100px; overflow: hidden; }
.search-calendar-date .previous-month { -webkit-transform: scaleX(-1); -ms-transform: scaleX(-1); transform: scaleX(-1); }
.search-calendar-date button.disable { background-image: url("/images/jvh/ui/cta-arrow-grey.svg"); }
.search-calendar-date h3 label { width: 190px; display: inline-block; }

.search-calendar, #searchAirports { width: 100%; z-index: 2; position: fixed; left: 0; top: 0; height: 100%; background-color: rgba(0, 0, 0, 0.66); padding: 30px 10px 10px; max-width: 700px; margin: 0 0 0 auto; }
@media (max-height: 419px) { .search-calendar, #searchAirports { padding: 0px 10px 10px; } }
@media (min-width: 768px) { .search-calendar, #searchAirports { max-width: 900px; position: relative; top: 12px; background-color: white; padding: 1px; border: 2px solid #D6D6D6; } }

@media (min-width: 768px) { .search-calendar { text-align: right; } }

.search-calendar-date { overflow: hidden; position: relative; background-color: white; height: 385px; width: 100%; max-width: 340px; margin: 0 auto; }
@media (min-width: 480px) { .search-calendar-date { height: 310px; } }
@media (min-width: 768px) { .search-calendar-date { max-width: none; height: 385px; } }
@media (min-width: 1140px) { .search-calendar-date { height: 366px; } }

.search .search-calendar-date { -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); padding-top: 45px; }
@media (min-width: 768px) { .search .search-calendar-date { padding-top: 0px; } }

.search-calendar-date button.outer.close { top: 5px; right: 3px; }

.search-calendar-date p { display: block; position: absolute; top: 0; left: 0; right: 0; background-color: #E7E7E9; text-align: center; font-size: 23px; padding: 13px 10px 12px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; text-transform: uppercase; }
@media (min-width: 768px) { .search-calendar-date p { position: relative; top: auto; left: auto; right: auto; } }
@media (min-width: 768px) { .search-calendar-date p { display: none; } }

#searchbarsettings .search-calendar-date h3 { background-color: white; text-align: center; padding: 0px; }
@media (min-width: 768px) { #searchbarsettings .search-calendar-date h3 { background-color: #F8F8F8; padding-top: 6px; } }

.search-calendar-date label { margin: 10px 0 -13px; }
@media (max-width: 767px) { .search-calendar-date label .select-replacement > div { height: 40px; line-height: 40px; } }
@media (min-width: 768px) { .search-calendar-date label { margin: -2px 2px 0 2px; } }

@media (min-width: 768px) { .search-calendar > div { display: inline-block; vertical-align: top; width: 66%; height: 275px; text-align: center; } }
@media (min-width: 1140px) { .search-calendar > div { width: 37%; } }

.search-calendar > div:first-child { display: none; }
@media (min-width: 768px) { .search-calendar > div:first-child { display: inline-block; width: 34%; background-color: #003057; height: 478px; margin-bottom: -15px; } }
@media (min-width: 1140px) { .search-calendar > div:first-child { width: 31%; height: 275px; } }

#searchbarsettings .search-calendar > div:first-child h3 { background-color: #194467; color: white; }

p.showcase { font-size: 82px; padding: 80px 0 42px; display: block; color: white; }

#searchCalDurationBox p.showcase { font-size: 92px; padding: 75px 0 42px; }

.search-calendar div.search-calendar-flex { text-align: left; padding: 0 0 10px; width: 100%; max-width: 340px; height: auto; margin: 0 auto; background-color: white; position: relative; }
.search-calendar div.search-calendar-flex h3, .search-calendar div.search-calendar-flex h4, .search-calendar div.search-calendar-flex p { display: none; }
@media (min-width: 768px) { .search-calendar div.search-calendar-flex { max-width: none; display: block; display: inline-block; width: 66%; margin: -194px 0 0 0; }
  .search-calendar div.search-calendar-flex h3, .search-calendar div.search-calendar-flex h4, .search-calendar div.search-calendar-flex p { display: block; } }
@media (min-width: 1140px) { .search-calendar div.search-calendar-flex { width: 32%; margin-top: 0px; } }

.search-calendar div.search-calendar-flex label { width: 33%; display: inline-block; padding-left: 10px; }

.search-calendar div.search-calendar-flex h4 { padding-left: 10px; font-size: 17px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; font-weight: bold; margin-bottom: 7px; }
@media (min-width: 1140px) { .search-calendar div.search-calendar-flex h4 { padding-top: 35px; } }

.search-calendar div.search-calendar-flex p { padding: 0 10px; }

.search-calendar div.search-calendar-flex label { width: 100%; display: none; padding-left: 10px; }
.search-calendar div.search-calendar-flex label.nodate { display: inline-block; }
@media (min-width: 480px) { .search-calendar div.search-calendar-flex label.nodate { width: auto; position: absolute; bottom: 0; right: 10px; } }
@media (min-width: 768px) { .search-calendar div.search-calendar-flex label.nodate { width: 100%; position: relative; bottom: auto; right: auto; } }
@media (min-width: 768px) { .search-calendar div.search-calendar-flex label { display: inline-block; margin-bottom: 5px; } }

.search-calendar > div:first-child .select-replacement { margin: 0 40px; }

.calendar-grid { width: 300%; overflow: hidden; position: relative; left: -100%; height: 286px; }
@media (min-width: 768px) { .calendar-grid { height: 235px; margin-top: 7px; } }
.calendar-grid.with-prices { height: 320px; }
@media (min-width: 768px) { .calendar-grid.with-prices { height: 280px; } }

.search .calendar-grid { position: absolute; }

.calendar-grid ul { display: inline-block; width: 33.3333333333%; vertical-align: top; height: 100px; }

.late-filters .calendar-grid ul { padding-top: 6px; }

.calendar-grid li { display: inline-block; width: 14.28%; background-color: white; border: 1px solid white; vertical-align: top; text-align: center; height: 40px; font-size: 20px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; color: #DDDDDD; padding-top: 7px; }
@media (max-height: 419px) { .calendar-grid li { height: 29px; font-size: 18px; } }
@media (min-width: 768px) { .calendar-grid li { font-size: 16px; height: 32px; padding-top: 0px; } }

.calendar-grid.with-prices li { height: 53px; }
@media (min-width: 768px) { .calendar-grid.with-prices li { height: 45px; } }

.calendar-grid li.blank { background-color: white; }

.calendar-grid li.active { color: black; cursor: pointer; }

.calendar-grid li.hover, .calendar-grid li.current { color: #FD8A52; }

.calendar-grid li.promo, .calendar-key li.promo { border: 1px dashed #DB5151; }

.calendar-grid li.hover.promo { border: none; }

.calendar-grid li > span.date { display: block; margin: 0 auto; width: 32px; padding: 5px 0 4px; }

.calendar-grid li > span.price { font-size: 10px; display: block; }

.calendar-grid li.first > span.date { border: 1px solid #FD8A52; border-radius: 50%; }

.calendar-grid li.day { color: #003057; font-size: 23px; height: 38px; }
@media (max-height: 419px) { .calendar-grid li.day { height: 27px; padding-top: 0px; } }
@media (min-width: 768px) { .calendar-grid li.day { font-size: 14px; height: 32px; } }

#searchPax { background-color: rgba(0, 0, 0, 0.66); position: fixed; top: 0; left: 0; width: 100%; padding: 30px 10px 10px; height: 100%; z-index: 12; margin: 0 0 0 auto; }
@media (min-width: 768px) { #searchPax { position: relative; padding: 0px; border: 1px solid white; background-color: #003057; background: #003057; /* Old browsers */ background: -moz-linear-gradient(left, #003057 0%, #003057 50%, #ffffff 50%); /* FF3.6-15 */ background: -webkit-linear-gradient(left, #003057 0%, #003057 50%, #ffffff 50%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to right, #003057 0%, #003057 50%, #ffffff 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ top: 12px; max-width: 638px; border: 2px solid #D6D6D6; } }

@media (min-width: 768px) { .fixed #searchPax { left: auto; right: 0px; } }

@media (min-width: 768px) { #searchPax.show { display: block; z-index: 2; } }

.search-pax-adults, .search-pax-children { vertical-align: top; width: 59%; text-align: left; display: none; }
@media (min-width: 768px) { .search-pax-adults, .search-pax-children { display: inline-block; width: 50%; text-align: center; padding-bottom: 5px; } }

.search-pax-adults { width: 39%; }
@media (min-width: 768px) { .search-pax-adults { width: 50%; } }

.search-pax-children { background-color: white; }

@media (min-width: 768px) { .search #searchbarsettings .search-pax-adults h3 { background-color: #194467; color: white; } }

.adults-list { width: 50%; vertical-align: top; display: none; padding: 0 10px; }
@media (min-width: 768px) { .adults-list { display: inline-block; } }

.adults-list h4 { font-size: 15px; padding-top: 5px; padding-bottom: 28px; color: white; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; }

.search-pax-children > span { position: absolute; padding-top: 27px; display: inline-block; right: 20%; font-size: 14px; }

.search-pax-children .showcase { color: black; }

.search-pax .select-replacement { margin: 0 30px; }

#searchAirports .close { top: 35px; }
@media (min-width: 768px) { #searchAirports .close { top: -15px; } }

.search-airports > span, .airport-list form > span { display: block; text-align: right; padding: 0 4px 4px 0; }

.search .search-ages { position: relative; background-color: white; width: 100%; }
.search .search-ages > h3 > span { display: none; }
@media (min-width: 768px) { .search .search-ages { display: inline-block; }
  .search .search-ages > h3 > span { display: inline; } }

@media (min-width: 768px) { .search-bar-settings .search-ages { width: 50%; } }
@media (min-width: 768px) { .search .search-ages h3 { display: none; font-weight: normal; } }

.search-ages ul { padding: 0 10px 10px; margin: 0px 10px 15px 0; }
@media (min-width: 768px) { .search-ages ul { margin: 10px 10px 15px 0; max-height: 145px; } }
@media (min-width: 1140px) { .search-ages ul { max-height: 115px; } }

.touch .search-ages ul { overflow: scroll; }

.search-ages li { width: 50%; display: inline-block; max-width: 150px; padding: 7px 0; }

.search-ages li > span:FIRST-CHILD { min-width: 54px; display: inline-block; }
@media (min-width: 768px) { .search-ages li > span:FIRST-CHILD { min-width: auto; } }

.search-ages li .age-block { display: inline-block; border: 1px solid #E7E7E9; padding: 10px; min-width: 40px; text-align: center; margin-left: 10px; vertical-align: middle; color: #FD8A52; font-size: 125%; }
@media (min-width: 768px) { .search-ages li .age-block { display: none; } }

.search-pax-adults ul { min-height: 100px; }

@media (min-width: 768px) { .search-ages li span:first-child, .adults-list li, .child-ages li > span:first-child { text-indent: 50px; overflow: hidden; width: 20px; height: 20px; display: inline-block; white-space: nowrap; background: url("/images/jvh/ui/user.svg") no-repeat -3px; background-size: 135%; vertical-align: middle; } }

.adults-list li { margin-bottom: 30px; background-image: url("/images/jvh/ui/user-white.svg"); background-size: 160%; background-position: -6px; }

.adults-list li.odd { margin-right: 10px; }

.search-ages select, .search-ages .select-replacement { display: none; }
@media (min-width: 768px) { .search-ages select, .search-ages .select-replacement { display: inline-block; width: 94px; margin: 0 0 0 6px; } }

.search-ages p { padding: 10px; font-size: 14px; line-height: 16px; }
@media (min-width: 768px) { .search-ages p { padding: 0 10px; line-height: 19px; } }

.search-airports .msg2 { display: none; }

.search-airports > div { background-color: white; height: calc(100% - 40px); overflow: scroll; }
@media (min-width: 768px) { .search-airports > div { overflow: visible; font-size: 90%; height: auto; }
  .search-airports > div > span { vertical-align: bottom; padding-bottom: 10px; display: inline-block; } }

.search-airports > div > p { padding: 5px 10px; }

.search-airports ul { background-color: white; padding: 5px 0 1px 10px; display: block; }
@media (min-width: 768px) { .search-airports ul { vertical-align: top; width: 24%; display: inline-block; padding-bottom: 10px; } }

.search-airports { overflow: scroll; }
@media (min-width: 768px) { .search-airports { overflow: visible; font-size: 90%; } }

.search-airports h3 label { display: none; }
@media (min-width: 768px) { .search-airports h3 label { display: inline; position: absolute; right: 9px; top: 10px; } }

.search-airports ul li { text-align: left; border-bottom: 1px solid #E7E7E9; font-size: 19px; font-family: "Montserrat Light", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .search-airports ul li { padding: 2px 0; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; border-style: none; font-size: 15px; } }

.search-airports ul li:FIRST-CHILD { font-size: 22px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; }
@media (min-width: 768px) { .search-airports ul li:FIRST-CHILD { font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; font-size: 15px; } }

.search-airports label { margin: 0 0 2px 0; }
.search-airports label.disable { color: #cccccc; }
@media (min-width: 768px) { .search-airports label { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin: 0; } }

.search-airports h3 label { font-size: 15px; font-family: "Montserrat Regular", Arial, Helvetica, sans-serif; padding-right: 17px; padding-top: 5px; }
@media (min-width: 1140px) { .search-airports h3 label { padding-right: 52px; } }

.max-airports li label { color: #CCCCCC; cursor: initial; }

.max-airports li label.selected { color: black; cursor: pointer; }

label.no-flights { font-size: 16px; }

.other-airports { padding-top: 14px; }
@media (min-width: 768px) { .other-airports { padding: 8px 0 7px; } }
@media (min-width: 1140px) { .other-airports { padding: 4px 0 1px; } }

@media (max-width: 767px) { .searchactive #searchbar { padding-left: 0px; margin: 0 12px 12px; background-color: transparent; width: calc(100% - 24px); }
  .searchactive .search-dest-text { display: none; }
  .searchactive #frmSearchDest { display: block; -webkit-appearance: none; }
  .searchactive #searchbar > div { height: auto; position: static; }
  .searchactive .mob-panel { display: block; padding: 0px; font-size: 20px; }
  .searchactive #searchbar > label { background-color: transparent; padding: 5px 8px 5px 10px; height: 55px; margin-right: 0px; }
  .homepage .search.searchactive, .search.searchactive, .search.searchactive.fixed { position: fixed; top: 0; height: 100%; left: 0; width: 100%; background: #F8F8F8; padding: 0px; z-index: 100; overflow-y: auto; }
  .searchactive .dest-pick:before { background-position: 0px 0px; top: 7px; height: 27px; width: 27px; left: 5px; }
  .searchactive #searchbarCalendar, .searchactive #searchbarPax, .searchactive #searchbarAirport { display: none; }
  .searchactive h2 { display: block; line-height: 34px; padding-left: 12px; margin-bottom: 0px; text-transform: uppercase; }
  .searchactive #searchFormClose { display: block; }
  .searchactive #searchbtn { position: relative; width: 100%; left: 0px; font-size: 30px; text-transform: uppercase; background-size: auto 72%; background-position: 71% 6px; color: white; line-height: 44px; }
  .searchactive #searchbtn:before { position: relative; width: 44px; height: 44px; vertical-align: middle; }
  .searchactive #searchPax.show2 { display: block; }
  .searchbar-dest-list > h3 { display: none; }
  .searchbar-villa-list > h3 { padding: 10px; background-color: #E7E7E9; } }
@media (min-width: 480px) { .searchactive #searchbtn { background-position: 63% 6px; } }
@media (min-width: 768px) { .search > h3, .search-bar-settings h3, .late-filters > h3 { background-color: #F8F8F8; height: 46px; display: block; padding-top: 15px; }
  .search .search-bar-settings div.search-calendar-flex h3 { margin-bottom: 8px; }
  .search .search-bar-settings div.search-calendar-flex .check-replacement { margin-left: 0; }
  .search .search-bar-settings .search-ages h3 { background-color: white; padding-top: 5px; font-size: 15px; height: 26px; font-family: "Montserrat Semi Bold", Arial, Helvetica, sans-serif; }
  .search-destinations > div > div > ul ul { display: none; }
  .country-list > li:after { content: " "; width: 10px; height: 15px; background: url("/images/jvh/ui/search-chevron.svg") no-repeat center center #FD8A52; background-size: 115%; position: absolute; right: 3px; top: 7px; display: inline-block; overflow: hidden; }
  .country-list li.selected:after { background-color: #FD8A52; }
  .searchbar-villa-list ul li span { font-size: 90%; }
  .search-calendar-date label { display: inline-block; width: 200px; }
  form .search-calendar-date .select-replacement div { margin: -5px 0 0 0; height: 30px; line-height: 30px; }
  #searchCalendarDateClose { display: none; }
  .search-airports .msg2 { display: block; }
  .search-airports .msg1, .search-airports > p { display: none; } }

/*# sourceMappingURL=core.css.map */
