/*
    Theme Name: Sperling Starter
    Theme URI: https://www.sperlinginteractive.com
    Description: Sperling Interactive WordPress Starter Theme
    Version: 1.0
    Author: Sperling Interactive
  Theme URI: https://www.sperlinginteractive.com
*/

/*------------------------------------*\
    Example of Using Root Variable 
    :root {
        --blue: #0000FF          
    }
    .test-element {
        color: var(--blue)
    }
\*------------------------------------*/

:root {
    --font-arbutus: 'Arbutus Slab', serif;
    --font-lato: 'Lato', sans-serif;
    --font-libre: 'Libre Baskerville', serif;
    --dark-blue: #0F1726;
    --med-blue: #0D2F51;
    --light-blue: rgba(13,47,82,0.5);
    --orange: #FF984B;
    --dark-gray: #707070;
    --light-gray: #d6d6d6;
}

/* global box-sizing */
*,
*:after,
*:before {
    box-sizing: border-box;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* html element 62.5% font-size for REM use */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    color: var(--dark-blue);
    font: 300 1.6rem/1.4 var(--font-lato);
}

/* clear */
.clear:before,
.clear:after {
    content: ' ';
    display: table;
}

.clear:after {
    clear: both;
}

.clear {
    *zoom: 1;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
}

/* Lightspeed Lazy load fade in */
img[data-lazyloaded] {
    opacity: 0;
}

img.litespeed-loaded {
    -webkit-transition: opacity .5s linear 0.2s;
    -moz-transition: opacity .5s linear 0.2s;
    transition: opacity .5s linear 0.2s;
    opacity: 1;
}

 a {
    text-decoration: none;
    color: var(--dark-blue);
    transition: ease-in .3s;;
}

.bg-dark-blue p a,
.bg-med-blue p a{
    color: #fff;
}

a:hover,
.bg-dark-blue p a:hover,
.bg-med-blue p a:hover {
    color: var(--orange);
}

a:focus {
    outline: 0;
}

a:hover,
a:active {
    outline: 0;
}

input:focus {
    border: 1px solid #04A4CC;
    outline: 0;
}

p,
ul,
ol {
    font-size: 1.6rem;
}

p b,
p strong{
    font-weight: 600;
}

h1 {
    font-size: 3.8rem;
    font-weight: 400;
    font-family: var(--font-libre);
}

h2 {
    font-size: 3.2rem;
    font-weight: 400;
    font-family: var(--font-libre);
}

h3 {
    font-size: 2.8rem;
    font-weight: 400;
    font-family: var(--font-libre);
}

h4 {
    font-size: 2.4rem;
    font-weight: 400;
    font-family: var(--font-libre);
}

h5 {
    font-size: 2.0rem;
    font-family: var(--font-libre);
}

h6 {
    font-size: 1.6rem;
    font-family: var(--font-libre);
}

blockquote {
    margin: 25px 0;
    padding: 25px 0 25px 5vw;
    font-style: italic;
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-weight: 700;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
/* wrapper */
.wrapper {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    width: 100%;
    max-width: 2560px;
}

.container {
    max-width:1280px; 
    align-self: center;
    flex: 1 auto;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    padding: 0 20px;
}

.container-wide {
    max-width:1400px; 
    align-self: center;
    flex: 1 auto;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    padding: 0 20px;
}

.button{
    display: inline-block;
    color: var(--dark-blue);
    background-color: var(--orange);
    padding: 5px 20px;
    margin: 5px 0;
    border-radius: 20px;
    font-family: var(--font-libre);
    text-align: center;
    transition: ease-in .3s;
    cursor: pointer;
}

.button:hover{
    color: #fff;
    background-color: var(--med-blue);
}

.bg-dark-blue{
    background-color: var(--dark-blue);
    color: #fff;
}

.bg-med-blue{
    background-color: var(--med-blue);
    color: #fff;
}

/* header */
.header {
    background-color: var(--dark-blue);
    padding: 20px 0;
}

.header-inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-nav{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.logo-img {
    backface-visibility: hidden;
    height: 100px;
}

/* nav */
.nav{
    margin-right: 15px;
}

.nav ul{
    display: flex;
    justify-content: center;
    padding: 0;
}

.nav li{
    font-family: var(--font-libre);
}

.main-item{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 1.8rem;
    perspective: 1000px;
    z-index: 100;
    transition: ease-in .3s;
    background-color: transparent;
}

.main-item a{
    padding: 10px 20px;
    color: #fff;
    background-color: transparent;
}

.main-item a:hover,
.main-item:hover{
    color: var(--dark-blue);
    background: var(--orange);
    cursor: pointer;
}

.main-item:hover .sub-menu li {
    display: block;
    width: 100%;
}

.nav .sub-menu li.menu-item-has-children:hover li {
    display: block;
    width: 100%;
}

.nav .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 181px;
    width: 100%;
    perspective: 1000px;
    z-index: -1;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.nav .sub-menu .sub-menu{
    left: 193px;
    top: 0;
}

.nav .sub-menu .sub-menu li{
    display: none;
}

.nav .sub-menu li {
    /* text-align: center; */
    display: none;
    opacity: 0;
    margin-bottom: -1px;
}

.nav .sub-menu li a{
    display: inline-block;
    width: 100%;
    color: #fff;
    background-color: var(--med-blue);
    padding: 10px 20px;
}

.nav .sub-menu li a:hover {
    color: var(--dark-blue);
    background-color: var(--orange);
}

/* Menu Dropdown Animation */
.nav .sub-menu li:nth-child(1) {
    transform-origin: top center;
    animation: scaleZ 300ms 60ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(2) {
    transform-origin: top center;
    animation: scaleZ 300ms 120ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(3) {
    transform-origin: top center;
    animation: scaleZ 300ms 180ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(4) {
    transform-origin: top center;
    animation: scaleZ 300ms 240ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(5) {
    transform-origin: top center;
    animation: scaleZ 300ms 300ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(6) {
    transform-origin: top center;
    animation: scaleZ 300ms 360ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(7) {
    transform-origin: top center;
    animation: scaleZ 300ms 420ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(8) {
    transform-origin: top center;
    animation: scaleZ 300ms 480ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(9) {
    transform-origin: top center;
    animation: scaleZ 300ms 540ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(10) {
    transform-origin: top center;
    animation: scaleZ 300ms 600ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(1) {
    transform-origin: top center;
    animation: scaleZ 300ms 60ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(2) {
    transform-origin: top center;
    animation: scaleZ 300ms 120ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(3) {
    transform-origin: top center;
    animation: scaleZ 300ms 180ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(4) {
    transform-origin: top center;
    animation: scaleZ 300ms 240ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(5) {
    transform-origin: top center;
    animation: scaleZ 300ms 300ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(6) {
    transform-origin: top center;
    animation: scaleZ 300ms 360ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(7) {
    transform-origin: top center;
    animation: scaleZ 300ms 420ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(8) {
    transform-origin: top center;
    animation: scaleZ 300ms 480ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(9) {
    transform-origin: top center;
    animation: scaleZ 300ms 540ms ease-in-out forwards;
}

.nav .sub-menu li:nth-child(10) {
    transform-origin: top center;
    animation: scaleZ 300ms 600ms ease-in-out forwards;
}

/* ---- */
@-moz-keyframes scaleZ {
    0% {
      opacity: 0;
      transform: scale(0);
    }
    80% {
      transform: scale(1.07);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  @-webkit-keyframes scaleZ {
    0% {
      opacity: 0;
      transform: scale(0);
    }
    80% {
      transform: scale(1.07);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  @-o-keyframes scaleZ {
    0% {
      opacity: 0;
      transform: scale(0);
    }
    80% {
      transform: scale(1.07);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  @keyframes scaleZ {
    0% {
      opacity: 0;
      transform: scale(0);
    }
    80% {
      transform: scale(1.07);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  @-moz-keyframes scaleZ {
    0% {
      opacity: 0;
      transform: scale(0);
    }
    80% {
      transform: scale(1.07);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  @-webkit-keyframes scaleZ {
    0% {
      opacity: 0;
      transform: scale(0);
    }
    80% {
      transform: scale(1.07);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  @-o-keyframes scaleZ {
    0% {
      opacity: 0;
      transform: scale(0);
    }
    80% {
      transform: scale(1.07);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  @keyframes scaleZ {
    0% {
      opacity: 0;
      transform: scale(0);
    }
    80% {
      transform: scale(1.07);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
/* ---- */

/* sidebar */
.sidebar {}

/* footer */
.footer {
    background-color: var(--dark-blue);
    padding: 80px 0 20px;
    position: relative;
    overflow: hidden;
}

.footer .nl-cont{
    position: relative;
    z-index: 1;
    padding: 0 0 25px;
    border-bottom: 1px solid var(--dark-gray);
}

.footer .nl-cont p.newsletter-note{
    margin: 10px 0;
    font-size: 1.5rem;
    font-weight: 300;
}

.footer .newsletter-wrapper{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.footer .newsletter-wrapper h4{
    color: #fff;
    margin: 0 0 10px;
    font-weight: 400;
    width: 100%;
}

.footer .frm_form_fields .frm_fields_container{
    grid-gap: 0;
    width: 100%;
}

.footer .newsletter-wrapper .with_frm_style .frm_form_fields > fieldset{
    padding-bottom: 0;
}

.footer .with_frm_style input[type=email]{
    height: auto;
    padding: 10px 15px;
    border-radius: 7px;
    min-width: 250px;
    margin-right: 15px;
}

.footer .frm_style_formidable-style.with_frm_style .frm_submit button{
    padding: 12px 25px;
    border-radius: 7px;
}

.footer p.newsletter-note{
    color: #fff;
}

.footer .bottom-footer{
    color: #fff;
    position: relative;
    z-index: 1;
}

.footer .bottom-footer p{
    font-size: 1.5rem;
    font-weight: 300;
}

.footer .bottom-footer a,
.footer .copyright a{
    color: #fff;
    transition: ease-in .3s;
}

.footer .bottom-footer a:hover,
.footer .copyright a:hover{
    color: var(--orange);
}

.footer .bottom-footer .footer-right{
    display: none;
}

.footer-left{
    text-align: center;
}

.footer .bottom-footer .footer-nav ul{
    padding: 0;
    list-style-type: none;
    display: flex;
}

.footer .bottom-footer .footer-nav ul li{
    margin: 0 15px;
    font-size: 1.6rem;
    font-family: var(--font-libre);
}

.footer .bottom-footer .footer-nav ul.sub-menu{
    display: block;
    margin-top: 15px;
}

.footer .bottom-footer .footer-nav ul.sub-menu li{
    margin: 0;
    padding: 5px 0;
    font-size: 1.4rem;
    font-family: var(--font-lato);
    font-weight: 300;
}

.footer ul.socials{
    list-style-type: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.footer ul.socials li{
    padding: 0 5px;
}

.footer .bottom-footer{
    padding: 50px 0 30px;
}

.footer .copyright{
    color: #fff;
    font-size: 1.5rem;
    font-weight: 300;
}

.footer .frm_inline_form .frm_submit{
    margin-left: 10px;
}

.footer .frm_forms.frm_style_formidable-style.with_frm_style{
    width: 100%;
}

.footer .frm_form_fields .frm_fields_container{
    display: block;
}

.pagination {
    font-size: 1.6rem;
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*------------------------------------*\
    PAGES
\*------------------------------------*/
.page-header{
    background-color: var(--med-blue);
    /* background-image: url('img/water-vector.svg');
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: inherit; */
    position: relative;
    overflow: hidden;
}

.page-header .columns{
    margin-bottom: 0 !important;
}

.page-header .boat-vector{
    position: absolute;
    top: 30px;
    right: 10px;
    width: 30%;
}

.meet-the-owners .page-header .boat-vector{
    top: auto;
    bottom: 30px;
    width: 23%;
}

/* .page-header .boat-vector img{
    max-width: 550px;
    width: 100%;
} */

.box-shadow{
    -webkit-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.29);
    -moz-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.29);
    box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.29);
}

/*------------------------------------*\
    HOMEPAGE
\*------------------------------------*/
.home-hero{
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 500px;
    max-height: 1069px;
    height: 30vw;
    position: relative;
}

.home-hero .hero-inner{
    height: 100%;
    width: 100%;
    padding: 50px 0;
    color: #fff;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
}

.home-hero .video-cont{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.home-hero .video-cont::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: rgba(15,23,38,0.4);
  }

.home-hero .video-cont video{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    min-width: 100%;
    /* min-height: 100vh; */
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-transform: translate(0%,0%);
    transform: translate(0%,0%);
}

.ftrd-testimonial p{
    font-size: 2.2rem;
}

.home .per-block{
    text-align: center;
}

.per-block{
    position: relative;
}

.per-block a{
    display: inline-block;
    position: relative;
}

.per-block a:before{
    content: '';
    background: rgb(51,76,127);
    background: linear-gradient(0deg, rgba(51,76,127,1) 0%, rgba(255,255,255,0) 50%);
    mix-blend-mode: multiply;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.per-block h3{
    position: absolute;
    margin: 0;
    left: 25px;
    bottom: 25px;
    color: #fff;
    font-weight: 400;
    transition: ease-in .3s;
}

.per-block a:hover h3{
    color: var(--orange);
}

.specialty-sails-deals-wrapper{
    padding: 50px 0;
    color: #fff;
}

.ps-content{
    align-items: flex-end;
}

ul.public-sails{
    padding: 0;
}

ul.public-sails li{
    padding: 0 10px;
}

.gc-wrapper{
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    font-weight: 300;
    padding: 30px;
}

.gc-content{
    position: relative;
    background-color: var(--med-blue);
    color: #fff;
    height: 100%;
    padding: 80px 50px;
}

/*------------------------------------*\
    PUBLIC SAILS
\*------------------------------------*/
.price-list{
    padding: 20px 30px;
    border-radius: 10px;
    max-width: 390px;
    margin: 0 auto;
}

.price-list .per-price{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.price-list .per-price p{
    margin: 5px 0;
}

.per-price .price-name{
    font-family: var(--font-libre);
    font-size: 2.2rem;
}

.per-price .price{
    font-size: 1.8rem;
    font-weight: 400;
}

.price-list .reserve-btn{
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #fff;
}

.price-list .reserve-btn a{
    width: 100%;
}

.block-cont{
    height: 100%;
    padding: 30px 50px;
}

.ps-subpage{
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 8% 5%;
    height: 100%;
    min-height: 403px;
    max-width: 403px;
    margin: 0 auto;
    position: relative;
    color: #fff;
}

.sub-page{
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    height: 100%;
}

.sub-page div{
    width: 100%;
}

.ps-subpage:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(30,75,130,0.6);
}

.ps-subpage .sub-page{
    position: relative;
}

.buttons-cont a.button{
    min-width: 135px;
}

/*------------------------------------*\
    PUBLIC SAILS SUBPAGES
\*------------------------------------*/
.page-title{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.price-list-wrap,
.right-block{
    padding: 30px;
    height: 100%;
}

.price-list-wrap{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.section-blocks .price-list-wrap .per-price{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.price-list-wrap .per-price p{
    margin: 5px 0;
}

.price-list-wrap .per-price .price-name,
.price-list-wrap .per-price .price{
    font-family: var(--font-libre);
    font-size: 2rem;
}

.right-block{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.right-block.with-desc p{
    margin: 0;
    width: 100%; 
}

.section-blocks .contact-info{
    height: 100%;
    padding: 30px;
    display: flex;
    flex-wrap: wrap;
    /* align-items: center; */
}

.section-blocks .contact-info .img-wrapper{
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
    padding-right: 0;
    padding-bottom: 20px;
    border-right: 0;
    border-bottom: 2px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.section-blocks .contact-info .img-wrapper img,
.add-content .contact-info .img-wrapper img{
    max-width: 40px;
    width: 100%;
    height: auto;
}


.section-blocks .contact-info p{
    font-family: var(--font-libre);
    font-size: 2.2rem;
    margin: 5px 0;
}

/*------------------------------------*\
    PRIVATE CHARTERS & GROUP SAILS
\*------------------------------------*/
.per-group{
    padding: 30px 40px 40px;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

.per-group div,
.per-group img{
    width: 100%;
}

.per-group.img-wrapper{
    padding: 0;
    background-color: transparent !important;
}

.per-group h3{
    margin-top: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--dark-gray);
}

/*------------------------------------*\
    CHARTERS & GROUPS SUBPAGE
\*------------------------------------*/
.content-form #frm_form_3_container{
    background-color: var(--dark-blue);
    margin: 50px auto 0;
    border-radius: 10px;
    padding: 20px 20px 0;
    max-width: 450px;
}

.content-form #frm_form_3_container .frm_primary_label,
.modal .with_frm_style .frm_primary_label{
    font-family: var(--font-libre);
    font-size: 1.8rem;
    color: #fff;
}

.content-form #frm_form_3_container .frm_submit,
.modal #frm_form_3_container .frm_submit{
    padding-top: 10px;
    margin-top: 20px;
    border-top: 1px solid var(--dark-gray);
}

ul.hero-slider{
    padding: 0;
    margin: 0 !important;
}

ul.hero-slider .slick-dots{
    bottom: 20px;
    left: 30px;
    width: auto;
}

ul.hero-slider  .slick-dots li button:before{
    font-size: 1.8rem;
    color: #fff;
    opacity: 0.5;
}

ul.hero-slider  .slick-dots li.slick-active button:before{
    color: #fff;
    opacity: 1;
}

.per-tier{
    padding: 30px;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    max-width: 600px;
    margin: 0 auto;
}

.per-tier div{
    width: 100%;
}

.per-tier .tier-price{
    padding-top: 20px;
    border-top: 1px solid var(--dark-gray);
}

.per-tier .tier-price p{
    font-family: var(--font-libre);
    font-size: 3rem;
    margin: 0;
}

.tier-note{
    font-weight: 400;
}

.add-content{
    padding: 50px 0 80px;
    margin: 50px 0;
}

.add-content h2{
    margin-bottom: 0;
}

.add-content .right-block{
    height: auot;
    margin-bottom: 15px;
}

.add-content .cinfo-wrapper{
    padding: 30px;
}

.add-content .contact-info{
    height: 100%;
    display: flex;
    flex-wrap: wrap;
}

.add-content .contact-info .img-wrapper {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
    padding-right: 0;
    padding-bottom: 20px;
    border-right: 0;
    border-bottom: 2px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.add-content .contact-info p{
    font-family: var(--font-libre);
    font-size: 1.8rem;
}

.add-content .cinfo-wrapper .contact-info p{

}

/*------------------------------------*\
    ABOUT
\*------------------------------------*/
.meet-the-team{
    padding: 50px 0;
}

.team-slider{
    list-style-type: none;
    padding: 0;
}

.team-slider h3{
    font-family: var(--font-arbutus);
    line-height: 1.2;
    margin-bottom: 15px;
}

.team-slider .slick-next:before, 
.team-slider .slick-prev:before{
    color: var(--dark-blue);
}

.faqs{
    padding: 50px 0;
}

.per-faq{
    display: flex;
    align-items: flex-start;
    margin: 15px 0 30px;
}

.per-faq .q-and-a{
    position: relative;
    padding-left: 15px;
    margin-left: 5px;
}

.per-faq .q-and-a:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 40px;
    background-color: #fff;
}

.per-faq p{
    margin: 0;
}

/*------------------------------------*\
    ABOUT THE BOAT
\*------------------------------------*/
.atb-slidder-wrapper{
    padding: 50px 0;
    position: relative;
}

.atb-footer{
    background-color: var(--light-blue);
}

.atb-footer .columns{
    justify-content: space-between;
}

.atb-footer h2{
    color: #fff;
    text-align: center;
}

.per-atb-slide h3{
    margin-top: 0;
}

.about-the-boat .main-content section.wide-column-section .content{
    padding-top: 0;
}

/*------------------------------------*\
    ABOUT GLOUCESTER
\*------------------------------------*/
.site-seeing-wrapper .content{
    max-width: 800px;
    margin: 0 auto 40px;
}

/*------------------------------------*\
    MEET THE OWNERS
\*------------------------------------*/
.meet-the-owners .two-col-content{
    padding: 80px 0;
}

.meet-the-owners .two-col-content.none{
    padding: 50px 0;
}

.meet-the-owners h1{
    margin-bottom: 0;
}

/*------------------------------------*\
    FAQ PAGE
\*------------------------------------*/
.faq .faqs{
    margin-left: 2%;
    margin-right: 2%;
}

/*------------------------------------*\
    TESTIMONIAL PAGE
\*------------------------------------*/
.testimonial-blocks {
    columns: 3 200px;
    column-gap: 2rem;
  }

  .testimonial-blocks .per-block {
    width: 150px;
    background: #fff;
    color: var(--dark-blue);
    margin: 0 2rem 2rem 0;
    display: inline-block;
    width: 100%;
  }

  .testimonial-blocks .text-block{
    padding: 20px 30px;
  }

  .testimonial-blocks .text-block h6{
    font-family: var(--font-lato);
    margin: 15px 0 20px;
  }

  .testimonial-blocks .box-shadow {
    -webkit-box-shadow: 0px 1px 6px 0px rgba(0,0,0,0.29);
    -moz-box-shadow: 0px 1px 6px 0px rgba(0,0,0,0.29);
    box-shadow: 0px 1px 6px 0px rgba(0,0,0,0.29);
}

/*------------------------------------*\
    DIRECTIONS PAGE
\*------------------------------------*/
.map-embed {
    padding-top: 0;
    padding-bottom: 75%;
}

/*------------------------------------*\
    CONTACT PAGE
\*------------------------------------*/
.map-wrapper h4{
    margin-bottom: 15px;
}

.contact #frm_form_1_container{
    margin-top: 50px;
}

.contact .with_frm_style .frm_primary_label{
    font-family: var(--font-libre);
    color: var(--dark-blue);
    font-size: 1.8rem;
}

.contact .with_frm_style input[type=text], 
.contact .with_frm_style input[type=email], 
.contact .with_frm_style textarea{
    border: 1px solid #e2e2e2;
    height: auto;
    padding: 15px;
    font-family: var(--font-lato);
    -webkit-box-shadow: 0px 1px 6px 0px rgba(0,0,0,0.29);
    -moz-box-shadow: 0px 1px 6px 0px rgba(0,0,0,0.29);
    box-shadow: 0px 1px 6px 0px rgba(0,0,0,0.29);
}

/*------------------------------------*\
    FOODS & DRINKS PAGE
\*------------------------------------*/
.gallery-wrapper{
    margin-top: 50px;
}

/*------------------------------------*\
    PAGE BUILDER
\*------------------------------------*/
.two-col-content{
    padding: 50px 0;
}

/* .two-col-content.none{
    margin-bottom: 40px;
} */

.two-col-content .columns.reversed,
.columns.reversed{
    flex-flow: column-reverse;
}

.sec-title{
    display: flex;
    align-items: center;
    margin: 20px 0;
}

.sec-title h2{
    padding-left: 15px;
    border-left: 3px solid var(--dark-blue);
    margin: 0 0 0 15px;
    line-height: 1;
}

.bg-dark-blue .sec-title h2,
.bg-med-blue .sec-title h2{
    border-left: 3px solid #fff;
}

.wide-column-section .content{
    padding: 50px 0;
}

/*------------------------------------*\
    RESERVE FORM MODAL
\*------------------------------------*/
.modal {
    display: none;
    position: fixed; 
    z-index: 3; 
    padding-top: 100px; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%;
    overflow: auto; 
    background-color: rgb(255,255,255);
    background-color: rgba(255,255,255,0.4);
    backdrop-filter: blur(30px);
  }

  .modal.active{
    display: block;
  }
  
  /* Modal Content */
  .modal-content {
    position: relative;
    background-color: var(--dark-blue);
    margin: auto;
    padding: 0;
    border: 0;
    max-width: 450px;
    width: 100%;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s
  }
  
  /* Add Animation */
  @-webkit-keyframes animatetop {
    from {top:-300px; opacity:0} 
    to {top:0; opacity:1}
  }
  
  @keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
  }
  
  /* The Close Button */
  .close {
    color: white;
    font-size: 28px;
    font-weight: bold;
    transition: ease-in .3s;
  }
  
  .close:hover,
  .close:focus {
    color: var(--orange);
    text-decoration: none;
    cursor: pointer;
  }
  
  .modal-header {
    padding: 2px 16px;
    background-color: var(--dark-blue);
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .modal-header h4{
    margin: 15px 0;
  }
  
  .modal-body {padding: 2px 16px;}
  
  .modal-footer {
    padding: 2px 16px;
    background-color: #5cb85c;
    color: white;
  }

/*------------------------------------*\
    SLICK SLIDER
\*------------------------------------*/
.slick-slide img{
    display: inline-block;
}

.slick-next, 
.slick-prev{
    width: 31px;
    height: 50px;
    z-index: 2;
}

.slick-next{
    right: 25px;
}

.slick-prev{
    left: 25px;
}

.slick-next:before,
.slick-prev:before{
    color: var(--orange);
    font-size: 5rem;
    font-weight: 700;
}

.slick-next:before{
    content: '\f054';
    font-family: 'Font Awesome 6 Pro';
}

.slick-prev:before{
    content: '\f053';
    font-family: 'Font Awesome 6 Pro';
}

.slick-dots li button:before{
    font-size: 1.8rem;
    color: var(--dark-blue);
    opacity: 0.5;
}

.slick-dots li.slick-active button:before{
    color: var(--dark-blue);
    opacity: 1;
}

.bg-med-blue .slick-dots li button:before,
.bg-dark-blue .slick-dots li button:before{
    font-size: 1.8rem;
    color: #fff;
    opacity: 0.5;
}

.bg-med-blue .slick-dots li.slick-active button:before,
.bg-dark-blue .slick-dots li.slick-active button:before{
    color: #fff;
    opacity: 1;
}

/*------------------------------------*\
    NEWSLETTER SIGNUP FORM
\*------------------------------------*/
.newsletter-wrapper p{
    width: 100%;
}

.newsletter-wrapper input[type="text"]{
    padding: 10px 15px;
    border: 0;
    border-radius: 5px;
    font-size: 1.6rem;
    font-family: var(--font-lato);
    font-weight: 300;
    max-width: 100%;
    min-width: auto;
    width: 100%;
    margin: 5px 0;
}

.newsletter-wrapper input[type="submit"].button{
    border-radius: 5px;
    border: 0;
}

.signup-form-wrapper{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}


/*------------------------------------*\
    IMAGES
\*------------------------------------*/
.img-wrapper{
    text-align: center;
}

/*------------------------------------*\
    FORMIDABLE
\*------------------------------------*/
.frm_style_formidable-style.with_frm_style .frm_submit button{
    display: inline-block;
    color: var(--dark-blue);
    background-color: var(--orange);
    padding: 5px 20px;
    border-radius: 20px;
    font-family: var(--font-libre);
    transition: ease-in .3s;
    border: 0;
    box-shadow: none;
}

.frm_style_formidable-style.with_frm_style .frm_submit button.medium-btn{
    font-size: 1.8rem;
    padding: 8px 30px;
    border-radius: 30px;
}

.frm_style_formidable-style.with_frm_style .frm_submit button:hover{
    color: #fff;
    background-color: var(--med-blue);
}
/*------------------------------------*\
    ACF GOOGLE MAP
\*------------------------------------*/

.acf-map {
    width: 100%;
    height: 100%;
    min-height: 400px;
    max-height: 600px;
    border: #ccc solid 1px;
    margin: 20px 0;
  }

   /* Fixes potential theme css conflict. */
  .acf-map img {
   max-width: inherit !important;
  }


.show-tablet{
    display: none;
}

.show-mobile{
    display: block;
}


.page-template-template-sail-boston-2026 .price-row-title {
	color: var(--dark-blue);
	margin-bottom: 1rem;
	/* text-align: center; */
}

/* .page-template-template-sail-boston-2026 .price-list-wrap.same-height {
	height: 100%;
} */

.page-template-template-sail-boston-2026 .price-box-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
} 


.page-template-template-sail-boston-2026 .price-list-wrap {
    display:block;
    height:unset;
}

.new-banner {
    background-color: #0f1726;
}
.new-banner p {
    color: #fff;
    font-weight:bold;
}
/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (min-width:320px) {}

@media only screen and (min-width:480px) {}

@media only screen and (min-width:600px){
    h1 {
        font-size: 4rem;
        font-weight: 400;
        font-family: var(--font-libre);
    }

    .footer:before{
        content: '';
        position: absolute;
        top: 0;
        right: -10%;
        width: 600px;
        height: 100%;
        background-image: url('img/compass.svg');
        background-size: cover;
        background-position: center;
    }

    .section-blocks .contact-info,
    .add-content .contact-info{
        flex-wrap: nowrap;
    }

    .section-blocks .contact-info .img-wrapper,
    .add-content .contact-info .img-wrapper{
        width: auto;
        margin-right: 20px;
        margin-bottom: 0;
        padding-right: 20px;
        padding-bottom: 0;
        border-right: 2px solid #fff;
        border-bottom: 0;
    }

    .newsletter-wrapper input[type="text"]{
        min-width: 250px;
        max-width: none;
        width: auto;
        margin: 5px 5px 5px 0;
    }
  
}

@media only screen and (min-width:769px) {
    h1 {
        font-size: 4.5rem;
        font-weight: 400;
        font-family: var(--font-libre);
    }

    .button.medium-btn{
        font-size: 1.8rem;
        padding: 8px 30px;
        border-radius: 30px;
        transition: ease-in .3s;
    }
    
    .button.large-btn{
        font-size: 2.2rem;
        padding: 8px 30px;
        border-radius: 30px;
        transition: ease-in .3s;
    }

    .footer .frm_form_fields .frm_fields_container{
        display: flex;
    }
    
    .show-tablet{
        display: block;
    }

    .show-mobile{
        display: none;
    }

    .gc-wrapper{
        padding: 0;
    }

    .ps-content .btn-container{
        text-align: right;
        margin: 30px 0;
    }

    .gc-content:before{
        content: '';
        position: absolute;
        height: 100%;
        width: 100%;
        background-color: var(--med-blue);
        left: -100%;
        top: 0;
    }

    .ps-subpage{
        padding: 15%;
    }

    .price-list-wrap .per-price .price-name,
    .price-list-wrap .per-price .price{
        font-size: 2.5rem;
    }

    .per-faq .q-and-a{
        padding-left: 35px;
        margin-left: 15px;
    }

    .faq .faqs{
        margin-left: 5%;
        margin-right: 5%;
    }

    .footer .nl-cont{
        padding: 0 50px 25px;
    }

    .logo-img {
        height: 130px;
    }
}

@media only screen and (min-width:1024px) {
    h1 {
        font-size: 5.5rem;
        font-weight: 400;
        font-family: var(--font-libre);
    }

    .main-item{
        font-size: 2rem;
    }

    .header-nav .button{
        font-size: 2rem;
    }

    .logo-img {
        height: 160px;
    }

    .footer .newsletter-wrapper .frm_forms.frm_style_formidable-style.with_frm_style{
        width: 70%;
    }

    .footer-left{
        text-align: left;
    }

    .footer ul.socials{
        justify-content: flex-start;
    }

    .footer .with_frm_style input[type=email]{
        width: 600px;
    }

    .footer .newsletter-wrapper h4{
        margin-right: 30px;
        margin-bottom: 0;
    }

    .footer .bottom-footer{
        display: flex;
        justify-content: space-between;
    }

    .footer .bottom-footer .footer-right{
        display: block;
    }

    .home-hero .hero-inner{
        width: 50%;
    }

    .price-list-wrap .per-price .price-name,
    .price-list-wrap .per-price .price{
        font-size: 3rem;
    }

    .content-form #frm_form_3_container{
        margin-top: 50px;
        margin-left: auto;
        margin-right: 0;
    }

    .right-content{
        padding-left: 30px;
    }

    .left-content{
        padding-right: 30px;
    }

    .atb-slidder-wrapper .left-content{
        padding-left: 30px
    }

    .two-col-content .columns.reversed,
    .columns.reversed{
        flex-flow: row;
    }

    .abt-slider{
        padding: 0 40px;
    }

    .abt-slider .slick-next{
        right: 0;
    }
    
    .abt-slider .slick-prev{
        left: 0;
    }

    .atb-footer h2{
        text-align: left;
    }

    .atb-slidder-wrapper:before{
        content: '';
        position: absolute;
        height: 100%;
        width: 60%;
        top: 0;
        right: 0;
        background-image: url('img/icon-anchor.svg');
        background-repeat: no-repeat;
        background-size: cover;
        opacity: 0.2;
    }

    .meet-the-owners .two-col-content h2{
        margin-top: 0;
    }

    .meet-the-owners .two-col-content.none{
        padding: 80px 0;
    }

    .gallery-wrapper{
        margin-top: 15px;
    }

    .footer .newsletter-wrapper h4{
        width: auto;
    }
    
}

@media only screen and (min-width:1140px) {}

@media only screen and (min-width:1280px) {}

@media only screen and (min-width:1340px) {
    .abt-slider .slick-next,
    .slick-next{
        right: -45px;
    }
    
    .abt-slider .slick-prev,
    .slick-prev{
        left: -40px;
    }

    .abt-slider{
        padding: 0;
    }
}

/*------------------------------------*\
    MISC
\*------------------------------------*/
::selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

::-webkit-selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

::-moz-selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #FFF;
    border: 1px solid #F0F0F0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.sticky {}

.bypostauthor {}

/*------------------------------------*\
    PRINT
\*------------------------------------*/
@media print {
    * {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " ("attr(href) ")";
    }

    abbr[title]:after {
        content: " ("attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    .nav,
    .sidebar,
    .home-slider,
    #respond {
        display: none;
    }

    @page {
        margin: 2cm;
    }
}
