/* HEADER CSS START */
.site-header { position: sticky; top: 0; }
.mobile-header-actions { display: none; }
.main-navigation > .navigation-level-1 > li > a::after { content: none; }
/* HEADER CSS END */

/* CAROUSEL CSS START */
.nxb-carousel--slick .nxb-carousel__track { display: block; overflow: visible; scroll-snap-type: none; }
.nxb-carousel--slick .slick-track { display: block; }
.nxb-carousel--slick .slick-slide { flex: none; height: auto; padding: 0 12px; }
.nxb-carousel--static .nxb-carousel__controls { display: none; }
.nxb-carousel--slick .nxb-carousel__dots { height: 38px; gap: 8px; margin-top: 15px; align-items: flex-start; }
.nxb-carousel--slick .nxb-carousel__dots button { width: 16px; height: 16px; border: 0; background: transparent; display: grid; place-items: center; }
.nxb-carousel--slick .nxb-carousel__dots button::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: #212121; opacity: .5; transition: background-color .2s, opacity .2s; }
.nxb-carousel--slick .nxb-carousel__dots button[aria-current=true]::before { width: 16px; height: 16px; background: #ef7a22; opacity: 1; }
.nxb-carousel--slick .nxb-carousel__dots button:hover::before { background: #ef7a22; opacity: 1; }
.page-home .nxb-hide-xl .nxb-carousel__track { width: calc(100% + 24px); margin-left: -12px; margin-right: -12px; }
.page-inner .nxb-gallery.nxb-carousel--slick { position: relative; }
.page-inner .nxb-gallery.nxb-carousel--slick .slick-slide { padding: 0; }
.page-inner .nxb-gallery.nxb-carousel--slick .nxb-carousel__track { gap: 0; }
.page-inner .nxb-gallery.nxb-carousel--slick [data-pause] { position: absolute; left: 5px; top: 5px; width: 24px; height: 24px; padding: 0; font-size: 0; opacity: 0; }
.page-inner .nxb-gallery.nxb-carousel--slick:hover [data-pause], .page-inner .nxb-gallery.nxb-carousel--slick [data-pause]:focus-visible { opacity: 1; }
.page-inner .nxb-gallery.nxb-carousel--slick [data-pause]::before { content: 'Ⅱ'; font-size: 16px; }
.page-inner .nxb-gallery.nxb-carousel--slick [data-pause][aria-label='Play slideshow']::before { content: '▶'; font-size: 12px; }
/* CAROUSEL CSS END */

/* INTRODUCTION CSS START */
.page-home .page-content-shell__main > .nxb-section--gridLayout .intro.sm { font-size: 20px; line-height: 1.4; letter-spacing: -.15px; }
/* INTRODUCTION CSS END */

/* PROMOTIONAL CARDS CSS START */
.page-home .nxb-section--simplePods:has(.nxb-pods--windows) > .nxb-section__inner { max-width: var(--container-width); }
.page-home .nxb-pods--windows .nxb-pods__items { padding: 15px; margin: 0; gap: 15px; }
.page-home .nxb-pods--windows .nxb-pod { position: relative; overflow: hidden; }
.page-home .nxb-pods--windows .nxb-pod::before { content: ""; display: block; padding-top: calc(75% - 18px); }
.page-home .nxb-pods--windows .nxb-pod__content { position: absolute; inset: 0 0 -18px; min-height: 0; max-width: none; margin: auto; padding: 30px max(30px, calc((100% - 400px) / 2)); }
.page-home .nxb-pods--windows .nxb-pod__content h3 { font-size: var(--h3); }
.page-home .nxb-pods--windows .nxb-buttons { margin-top: 30px; padding-bottom: 5px; }
.page-home .nxb-pods--windows h3 a::after { content: ""; position: absolute; inset: 0; }
.page-home .nxb-pods--windows h3 a:hover { text-decoration: none; }
.page-home .nxb-pods--windows .nxb-button { position: relative; z-index: 1; }
.page-home .nxb-pods--windows .nxb-pod:has(a:focus-visible) { outline: 2px solid currentColor; outline-offset: 3px; }
/* PROMOTIONAL CARDS CSS END */

/* MAP CSS START */
.nxb-embed--map { min-height: 400px; }
.nxb-embed iframe { display: block; }
/* MAP CSS END */

/* FOOTER CSS START */
.site-footer { padding-bottom: 120px; }
.site-footer .nxb-grid__column > .address-column-footer + .address-column-footer { margin-top: 15px; }
.site-footer .footer-search-links .nxb-link-list { column-gap: 0; }
.site-footer .data-list { border-collapse: separate; border-spacing: 0; }
.site-footer .data-list td { height: 40px; padding: 7px 0 8px; border-bottom: 1px solid #fff; }
.site-footer .data-list tr:last-child td { border-bottom: 0; }
.site-footer .data-list td:last-child { text-align: right; }
.site-footer .footer-opening-times .nxb-text > .nxb-section-title + .nxb-richtext { margin-top: 15px; }
.site-footer .footer-inner > .nxb-section--linkList { padding-top: 24px; padding-bottom: 30px; }
.site-footer .footer-inner > .nxb-section--linkList h3 { margin-bottom: 15px; }
.site-footer .footer-bottom { margin-top: 60px; }
.site-footer .footer-navigation ul { gap: 6px 12px; }
.site-footer .footer-navigation li:not(.site-credit) { margin: 0; font-size: 13px; line-height: 19.5px; }
.site-footer .footer-navigation li:not(.site-credit) a { font-size: inherit; }
.nxb-back-to-top { position: fixed; right: 0; bottom: -75px; width: 60px; height: 60px; padding: 0; margin: 0; display: grid; place-items: center; background: #05243a; transition: bottom .3s; }
.nxb-back-to-top.is-visible { bottom: 0; }
.nxb-back-to-top span { width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid #f4eded; }
.nxb-back-to-top:hover { background: #021421; }
.nxb-back-to-top:focus-visible { bottom: 0; outline: 2px solid #fff; outline-offset: -4px; }
/* FOOTER CSS END */

/* INNER PAGE HEADINGS CSS START */
.page-heading-panel { padding: 60px 12px 30px; }
.page-heading-panel .page-heading { width: 100%; padding: 0; }
.page-eyebrow + .page-heading-panel { padding-top: 0; }
.page-eyebrow .nxb-eyebrow { margin-bottom: 5px; }
.page-inner main .nxb-section-title > h2 { font-size: var(--h5); }
.page-inner main .nxb-eyebrow { font-size: 14px; font-weight: 400; line-height: 1.2; letter-spacing: 1.5px; text-transform: uppercase; color: var(--link); }
.page-inner main .nxb-eyebrow + :is(h1,h2,h3,h4,h5,h6) { margin-top: 5px; }
.page-inner main .nxb-richtext :is(h1,h2,h3,h4,h5,h6) { margin: 30px 0 15px; }
.page-inner main .nxb-richtext > :is(h1,h2):first-child { margin-top: 0; }
.page-inner main .nxb-richtext :is(h5,h6) { margin: 10px 0; }
.page-inner main .nxb-richtext p { margin-top: 10px; }
.page-inner main .nxb-richtext > p:first-child { margin-top: 0; }
.page-inner main .nxb-richtext li > :last-child { margin-bottom: 0; }
.page-inner main sup { position: relative; top: -.5em; vertical-align: baseline; font-size: 75%; line-height: 0; }
.page-inner main small { font-size: 90%; line-height: inherit; }
.page-inner main .nxb-richtext table { margin: 5px 0 30px; }
.page-inner main .nxb-richtext table td, .page-inner main .nxb-richtext table th { border-bottom: 1px solid #e7e7e7; }
.page-inner main .nxb-section .nxb-text > .nxb-section-title:not(:has(h1,h2,h3,h4,h5,h6,p)) + .nxb-richtext { margin-top: 0; }
.page-inner main .nxb-richtext :is(ul,ol), .page-inner main .nxb-pod__text :is(ul,ol) { margin: 10px 20px 15px; padding: 0; }
.page-inner main .nxb-buttons .nxb-button { margin: 5px 0; }
.page-inner main .nxb-buttons { padding-bottom: 5px; }
.page-inner main .nxb-pods__outro .nxb-buttons { padding-bottom: 0; }
.nxb-button__icon { width: 16px; height: 16px; margin-right: 5px; flex: none; }
/* INNER PAGE HEADINGS CSS END */

/* ARTICLE CSS START */
.nxb-article-meta { padding: 0 12px 60px; }
.nxb-article-meta .nxb-article-date { width: calc(var(--container-width) * .65 - var(--container-inset)); max-width: calc(100% - var(--container-inset)); border-top: 1px solid #e7e7e7; padding: 20px 0 0; margin: 0 auto; min-height: 80px; font-size: 16px; color: var(--base-text); }
.page-article .page-content-shell--centred { max-width: calc(var(--container-width) * .5 - var(--container-inset)); }
.page-article main .nxb-gallery__item.nxb-ratio--original img { aspect-ratio: 4 / 3; object-fit: cover; }
.page-article main > .nxb-section--gallery .nxb-gallery__item, .page-article .page-content-shell__main > .nxb-section--gallery .nxb-gallery__item { padding-bottom: 30px; }
.page-inner main .nxb-grid--gridRow65 { display: flex; justify-content: space-between; align-items: center; gap: 0; }
.page-inner main .nxb-grid--gridRow65 > .nxb-grid__column { width: calc((100% + 24px) * var(--column-span) / 12 - 24px); }
.page-inner main .nxb-grid--gridRow65 .nxb-gallery { padding: 0 3px; }
.page-inner main .nxb-grid--gridRow65 .nxb-gallery__items { margin: 0; }
.page-article main .nxb-grid--gridRow12 .nxb-richtext { margin-top: 10px; }
.page-article main .nxb-grid--gridRow12 .nxb-richtext > :is(p,ul,ol):last-child { margin-bottom: 15px; }
.page-article main .nxb-grid--gridRow12 .nxb-richtext:not(:has(p,ul,ol,table,img,iframe,h1,h2,h3,h4,h5,h6)) { margin: 0; }
.page-campervan-escapes-pembrokeshire-giveaway .nxb-article-meta { padding-top: 60px; }
.page-christmas-trips-2024 .nxb-article-meta { max-width: calc(var(--container-width) * .5 - 24px); padding: 0 0 30px; margin: auto; }
.page-christmas-trips-2024 .nxb-article-meta .nxb-article-date { width: 100%; max-width: 100%; }
.page-car-mileage-allowances-2024 main .nxb-grid + .nxb-grid { margin-top: 0; }
.page-car-mileage-allowances-2024 main .nxb-grid--gridRow66 .nxb-richtext > p:last-child { margin-bottom: 15px; }
.page-silcox-blog-template main .nxb-eyebrow { font-size: 12px; }
/* ARTICLE CSS END */

/* RENTAL CONTENT CSS START */
.why-choose-vans-pods .nxb-pod { padding-bottom: 30px; }
.page-inner main .nxb-pod__text > :last-child { margin-bottom: 0; }
.page-long-term-car-hire main .nxb-grid--gridRow3333 { align-items: start; }
.page-long-term-car-hire main .nxb-grid--gridRow3333 > .nxb-grid__column { align-self: start; }
.page-long-term-car-hire main .nxb-grid--gridRow3333 .nxb-section + .nxb-section { margin-top: 10px; }
:is(.why-choose-pods,.why-choose-vans-pods,.why-choose-minibus-pods) .nxb-button__icon { width: 13px; transform: rotate(-45deg); }
.page-car-rental-pembrokeshire main .nxb-pod__text small { line-height: 24px; }
/* RENTAL CONTENT CSS END */

/* CONTACT FORM CSS START */
.nxb-contact-form__fields { gap: 16px 24px; }
.nxb-contact-form__field { gap: 5px; }
.nxb-contact-form__field label > span { color: #ef7a22; }
.nxb-contact-form__field input, .nxb-contact-form__field textarea { padding: 6px 12px; color: #212529; border-color: #ced4da; }
.nxb-contact-form__field input::placeholder, .nxb-contact-form__field textarea::placeholder { color: #6c757d; opacity: 1; }
.nxb-contact-form__field textarea { min-height: 134px; height: 134px; }
.nxb-contact-form__submit { margin-top: 36px; margin-bottom: 5px; }
.nxb-contact-form__recaptcha-notice { margin-top: 30px; margin-bottom: 0; font-size: 14px; line-height: 24px; color: inherit; }
.page-contact .nxb-contact-form__recaptcha-notice { color: #fff; }
.nxb-contact-form__recaptcha-notice a { color: #fff; text-decoration: none; }
.nxb-contact-form__recaptcha-notice a:hover { text-decoration: underline; }
.page-contact main .nxb-section--textBlock:has(h1) { padding-bottom: 15px; }
.page-content-shell__sidebar .contact-pod h2 { font-size: var(--h5); }
.page-heading-panel + .page-content-shell--with-sidebar .page-content-shell__sidebar { padding-top: 0; }
/* CONTACT FORM CSS END */

/* NEWS CSS START */
.page-news main .nxb-hero__inner { padding-left: 15px; padding-right: 15px; }
.page-news main .nxb-hero__copy { max-width: calc((100% + 30px) * .75 - 30px); }
.page-news main .nxb-hero :is(h1,h2,h3,h4,h5,h6) { color: var(--heading); }
.nxb-listing { gap: 30px 24px; padding-bottom: 30px; }
.nxb-listing__card { position: relative; }
.nxb-listing__card > a, .nxb-listing__card > a > img { display: block; }
.nxb-listing__copy h3 { font-size: var(--h5); margin: 0; }
.page-inner main .nxb-listing__copy .nxb-eyebrow { color: var(--listing-card-heading); }
.nxb-listing__copy h3 a::after { content: ''; position: absolute; inset: 0; }
.nxb-listing__copy h3 a:focus-visible::after { outline: 3px solid #ef7a22; outline-offset: -3px; }
.nxb-listing__text { margin-top: 10px; }
.nxb-listing__text > :last-child { margin-bottom: 0; }
.nxb-listing__copy .nxb-listing__date { font-size: 13.6px; line-height: 24px; margin: 35px 0 5px; }
/* NEWS CSS END */

/* FAQ CSS START */
.page-vehicle-rental-faq main .nxb-section--textBlock:has(h1) { padding-bottom: 30px; }
.nxb-accordion summary::after { border-left-width: 4px; border-right-width: 4px; border-top-width: 4px; }
/* FAQ CSS END */

/* SITEMAP CSS START */
.nxb-sitemap__list { position: relative; border: 0; padding-bottom: 16px; }
.nxb-sitemap__list::before { content: ''; position: absolute; left: 0; top: 0; bottom: 8px; width: 1px; background: #e7e7e7; }
.page-sitemap main .nxb-section--sitemapBlock { padding-top: 0; }
.nxb-sitemap__item { position: relative; padding: 8px 0 8px 15px; margin-left: calc(var(--sitemap-depth,0) * 15px); border-left: 1px solid #e7e7e7; }
.nxb-sitemap__item::before { content: ''; position: absolute; left: -1px; top: 18px; width: 5px; border-top: 1px solid #e7e7e7; }
.nxb-sitemap__item:first-child { border: 0; padding-left: 16px; }
.nxb-sitemap__item:first-child::before { left: 0; }
/* SITEMAP CSS END */

/* BREADCRUMB CSS START */
.nxb-breadcrumb { padding: 15px 12px; font-size: 14px; line-height: 21px; }
.nxb-breadcrumb ol { min-height: 31px; align-items: center; gap: 15px; position: relative; }
.nxb-breadcrumb ol::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; border-bottom: 1px solid #ffffff33; }
.nxb-breadcrumb li { padding-bottom: 10px; }
.nxb-breadcrumb li::before, .nxb-breadcrumb li + li::before { content: ''; display: inline-block; width: 0; height: 0; padding: 0; margin-right: 7px; border-top: 3px solid transparent; border-bottom: 3px solid transparent; border-left: 4px solid currentColor; vertical-align: 2px; }
.nxb-breadcrumb li[aria-current] { opacity: .6; }
/* BREADCRUMB CSS END */

/* LIGHTBOX CSS START */
html:has(.nxb-lightbox[open]) { overflow: hidden; }
.nxb-lightbox { width: 100vw; height: 100dvh; max-width: 100vw; max-height: 100dvh; margin: 0; padding: 50px 0; background: transparent; overflow: auto; }
.nxb-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.nxb-lightbox img { display: block; width: auto; max-width: min(100%,1800px); max-height: calc(100dvh - 100px); margin: auto; object-fit: contain; }
.nxb-lightbox button { position: fixed; right: 0; top: 0; width: 50px; height: 50px; padding: 0; color: #ef7a22; background: #fff; }
/* LIGHTBOX CSS END */

/* ENTRANCE ANIMATIONS CSS START */
.nxb-section--gridLayout:has(.animate-slide-in-right) { overflow-x: clip; }
[data-reveal-state="pending"] { opacity: 0; }
[data-reveal-state="running"] { animation-duration: 1.2s; animation-delay: var(--reveal-delay,0s); animation-timing-function: ease; animation-fill-mode: both; }
[data-reveal-kind="flip-in-x"][data-reveal-state="running"] { animation-name: nxb-flip-in-x; backface-visibility: visible; }
[data-reveal-kind="slide-in-right"][data-reveal-state="running"] { animation-name: nxb-slide-in-right; }
@keyframes nxb-flip-in-x {
    0% { transform: perspective(400px) rotateX(90deg); animation-timing-function: ease-in; opacity: 0; }
    40% { transform: perspective(400px) rotateX(-20deg); animation-timing-function: ease-in; }
    60% { transform: perspective(400px) rotateX(10deg); opacity: 1; }
    80% { transform: perspective(400px) rotateX(-5deg); }
    100% { transform: perspective(400px); }
}
@keyframes nxb-slide-in-right {
    0% { transform: translate3d(100px,0,0); visibility: visible; }
    100% { transform: translateZ(0); }
}
/* ENTRANCE ANIMATIONS CSS END */

@media (min-width: 992px) {
    /* HEADER CSS START */
    .site-header .main-navigation { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; }
    .site-header .header-actions { margin-left: auto; }
    /* HEADER CSS END */

    /* FOOTER CSS START */
    .site-footer .footer-inner > .nxb-section--gridLayout { padding-bottom: 30px; }
    /* FOOTER CSS END */

    /* RENTAL CONTENT CSS START */
    :is(.page-van-rental-pembrokeshire,.page-minibus-rental-pembrokeshire,.page-car-rental-pembrokeshire,.page-long-term-car-hire,.page-corporate-vehicle-rental-pembrokeshire) main .nxb-text > .nxb-buttons { margin-top: 25px; padding-bottom: 0; }
    /* RENTAL CONTENT CSS END */
}

@media (min-width: 1300px) {
    /* HEADER CSS START */
    .site-header .main-navigation { margin-top: 15px; }
    /* HEADER CSS END */
}
