/*
    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
*/


/*------------------------------------*\


\*------------------------------------*/


/* global box-sizing */

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

:root {
    --gold: #D59536;
    --red: #930D1A;
    --montserrat: 'Montserrat';
    --bodoni: 'Bodoni';
}


/* html element 62.5% font-size for REM use */

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    color: #444;
    font: 300 11px/1.4 Helvetica, Arial, sans-serif;
}


/* clear */

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

.clear:after {
    clear: both;
}

.clear {
    *zoom: 1;
}

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

a {
    text-decoration: none;
    color: #D59536;
    font-size: 1.8rem;
    transition: .3s ease;
    cursor: pointer;
}

a:hover {
    color: #930D1A;
    transition: .3s ease;
}

a:focus {
    outline: 0;
}

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

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

p,
ul,
ol {
    font-size: 1.8rem;
    font-family: 'Helvetica';
    line-height: 1.6;
}

ul li {
    padding: 5px 0;
}

h1 {
    font-size: 4rem;
}

h2 {
    font-size: 3.2rem;
    margin: 1rem 0;
}

h3 {
    font-size: 2.8rem;
}

h4 {
    font-size: 2.4rem;
}

h5 {
    font-size: 2.0rem;
}

h6 {
    font-size: 1.6rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #930D1A;
    font-family: 'Bodoni';
    font-weight: 600 !important;
    margin: 2rem 0 1rem;
}

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

/* .lazy-load {
    opacity: 0;
    transition: .3s ease-in-out;
} */

main {
    position: relative;
}

.margined {
    margin: 3.5rem 0;
}

.margined-section {
    margin: 5rem 0;
    position: relative;
}

.padded {
    padding: 3rem 0;
}

.content.thin {
    max-width: 960px;
    margin: 0 auto;
}

.content.small-font p {
    font-size: 1.6rem;
}

.background-image-block {
    background-position: center;
    height: 100%;
    width: 100%;
    background-size: cover;
    min-height: 250px;
}

.section-title {
    font-size: 4.5rem;
}

.padded-section {
    padding: 5rem 0;
}

.section-with-background *:not(.button) {
    color: #fff !important;
}

.border-top {
    border-top: 1px solid var(--gold);
}

.overflow-hidden {
    overflow: hidden;
}

.bodoni {
    font-family: 'Bodoni';
}

.montserrat {
    font-family: 'Montserrat';
}

.brown {
    background: #5E060E;
}

.red {
    background: #930D1A;
}

.red-bg {
    background-color: var(--red);
}

.red-bg *:not(.button) {
    color: #fff;
}

.black-font {
    color: #000;
}

.lightgray-bg {
    background-color: rgba(232, 232, 232, .19);
}

.gold {
    background: #D59536;
}

.g-col {
    float: none !important;
}

.white-font {
    color: #fff;
}

.quick-links {
    width: 100%;
    max-width: 150px;
    position: fixed;
    right: 0;
    top: 55%;
    z-index: 9;
    overflow: hidden;
}

.quick-links .link-block {
    width: 150px;
    position: relative;
    right: -80px;
    cursor: pointer;
    text-align: left;
    padding: 10px 15px 10px 15px;
    margin: 10px 0 10px auto;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    transition: .3s ease;
}

.link-block:hover {
    right: 0;
    transition: .3s ease;
}

.link-block a {
    font-size: 2.5rem;
    color: white;
}

.link-block a>span {
    position: absolute;
    right: 0;
    top: 5px;
    transition: .3s ease;
}

.link-block:hover a>span {
    right: 15px;
    margin: 0 auto;
    transition: .3s ease;
}

.border-bottom-gold {
    border-bottom: 5px solid #D59536;
}

.mobile {
    display: block;
}

.hide-mobile {
    display: none;
}

.tablet {
    display: block;
}

.hide-tablet {
    display: none;
}

.reversed-column {
    flex-direction: column-reverse;
}

.reversed-orientation {
    flex-direction: row-reverse;
}

.hidden {
    display: none !important;
}

.modal {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    transition: .3s ease;
    z-index: 10;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: .4s ease;
}

.modal.is-active {
    visibility: visible;
    opacity: 1;
}

.modal-container {
    height: 500px;
    width: 100%;
    max-width: 1200px;
    color: white;
    display: flex;
    flex-direction: column;
    padding: 30px;
    position: relative;
}

.modal-container .g-recaptcha {
    position: absolute;
    bottom: 5px;
    right: 5px;
}

.modal-container h2 {
    color: white;
}

.modal-container h2 i {
    padding-right: 10px;
}

#search-modal .modal-container {
    background: #5E060E;
}

#email-modal .modal-container {
    background: #930D1A;
}

#text-modal .modal-container {
    background: #D59536;
}

.modal-content {
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
}

.modal-content p {
    font-size: 2.3rem;
}

.modal-content .search {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-content .search input {
    width: 80%;
    height: 46px;
    border: 1px solid white;
    font-family: 'Montserrat';
    font-size: 1.6rem;
    -webkit-border-radius: 0;
}

.modal-content .search button {
    height: 50px;
    width: auto;
    color: #930D1A;
    border: 1px solid white;
    background: #fff;
    font-size: 1.8rem;
    transition: .3s ease;
    -webkit-appearance: none;
}

.modal-content .search button:hover {
    background: #930D1A;
    color: #fff;
    transition: .3s ease;
}

.close-modal {
    font-size: 4rem;
    cursor: pointer;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
}

.slick-dots li button:before {
    opacity: .65;
}

.modal-gallery .slick-list {
    overflow: visible !important;
}

.modal-gallery .image-slide {
    transform: scale(0.9);
    transition: .4s ease;;
}

.modal-gallery .image-slide.slick-active {
    transform: scale(1);
}

.modal-navigation {
    position: absolute;
    right: 0;
    bottom: 20px;
    width: 100%;
    height: 50px;
}

.modal-navigation i {
    font-size: 4rem;
    color: white;;
}

.modal-navigation .slick-next,
.modal-navigation .slick-prev {
    height: 40px;
    width: 30px;
}

.modal-navigation .slick-prev {
    left: inherit;
    right: 60px;

}

.modal-navigation .slick-next {
    right: 20px;
}

.modal-navigation .slick-next:before,
.modal-navigation .slick-prev:before {
    display: none;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

.menu {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}


/* wrapper */

.wrapper {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    width: 100%;
    overflow-x: hidden;
}

.container-tight {
    max-width: 1400px;
    align-self: center;
    flex: 1 auto;
    margin: 0 auto !important;
    width: 100%;
    height: auto;
    padding: 0 2.5rem;
}

.container {
    max-width: 1400px;
    align-self: center;
    flex: 1 auto;
    margin: 0 auto !important;
    width: 100%;
    height: auto;
    padding: 0 2.5rem;
}

.container-medium,
.container.medium {
    max-width: 1800px;
    align-self: center;
    flex: 1 auto;
    margin: 0 auto !important;
    width: 100%;
    height: auto;
    padding: 0 2.5rem;
}

.container-large,
.container.large {
    max-width: 1800px;
    align-self: center;
    flex: 1 auto;
    margin: 0 auto;
    width: 100%;
    height: auto;
    padding: 0 2.5rem;
}

.justify-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.align-start-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.align-start-column .content {
    width: 100%;
}


/* header */

.header {
    background: #930D1A;
    padding: 0;
}

.logo {
    padding: 15px 0;
    text-align: left;
}

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

.town-seal {
    max-height: 115px;
}


/* nav */

.nav {
    border-top: 1px solid #F7F7F7;
    padding-top: 10px;
}

.nav ul:first-child {
    display: flex;
    list-style-type: none;
    padding: 15px 0;
    justify-content: space-around;
}

.nav ul li {
    margin-top: -10px;
    position: relative;
    padding: 0
}

.nav ul li a {
    color: white;
    font-family: 'Bodoni';
    font-size: 1.8rem;
    font-weight: 100;
    transition: .3s ease;
    position: relative;
}

.nav ul .current-menu-item a,
.nav ul .current-menu-parent a,
.nav ul .current-menu-ancestor a {
    color: #D59536;
}

.nav ul li:hover a {
    color: #D59536;
    transition: .3s ease;
}

.nav ul li:hover ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transition: all .3s ease;
}

.nav ul.sub-menu {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    transition: all .3s ease;
    padding: 0 10px;
    min-width: 250px;
    width: 100%;
    background: #fff;
    border: 2px solid #D59536;
    list-style-type: none;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    top: 40px;
    z-index: 999;
}

.nav ul.sub-menu li {
    margin: 0 auto;
    padding: 15px 0;
}

.nav ul.sub-menu li a {
    color: #930D1A;
    border-bottom: 1px solid #fff;
    transition: .3s ease;
    font-weight: 700;
}

.nav ul.sub-menu li a:hover {
    color: #D59536;
    border-bottom: 1px solid #D59536;
    transition: .3s ease;
}


/* sidebar */

.sidebar {}


/* footer */

.footer {
    background: #930D1A;
    color: white;
    padding: 20px;
}

.footer a {
    color: white;
}

.footer-logo {
  height: 140px;
}

.sponsors-gallery {
    max-height: 135px;
}

.footer-image-container,
.sponsor-slide {
    text-align: center;
    padding: 2rem;
}

.sponsor-slide img {
    margin: 0 auto;
}

.footer-content {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.sponsors {
    background-color: #f3f3f3;
    padding: 1.5rem 0;
}

.footer-nav {
    display: none;
    border-bottom: 1px solid #D59536;
}

.address {
  font-size: 2rem;
}

.address i{
  padding-right: 1rem;
}

.footer-quick-links {
    display: none;
}

.footer.new .footer-nav {
    border-bottom: none;
}

.footer.new .footer-nav ul {
    display: block;
    column-count: 2;
    margin: 0;
}

.footer-nav ul {
    display: flex;
    list-style-type: none;
    padding: 0;
    justify-content: space-around;
}
/*
.footer-nav ul li {
    margin-top: -10px;
} */

.footer-nav ul li a {
    color: white;
    font-family: 'Bodoni';
    font-size: 1.8rem;
    font-weight: 100;
    transition: .3s ease;
}

.footer-nav ul li a:hover {
    color: #D59536;
    transition: .3s ease;
}

.social-media-container {
    text-align: center;
    padding-right: 50px;
}

.social-media-container p {
    margin: 1rem 0 0;
    font-weight: 600;
    text-transform: uppercase;
}

.social-media-container ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.social-media-container ul a {
    font-size: 2.5rem;
}

.social-media-container a {
    font-size: 2.5rem;
    margin: 1.5rem 0 0;
    transition: .3s ease;
    display: inline-block;
    padding-right: 2rem;
}

.social-media-container a:hover {
    color: #D59536;
    transition: .3s ease;
}

.footer.new .hours {
    max-width: 575px;
}

.footer .hours p {
    margin: 5px 0;
}

.footer .hours p span {
    display: inline-block;
}

.footer-block .header {
    color: #D59536;
    font-size: 2.3rem;
    margin: 10px 0;
    font-weight: 600;
}

.footer-block a {
    color: #fff;
    transition: .3s ease;
    font-size: 2rem;
}

.footer-block a i {
    padding-right: 1rem;
}

.footer-block a:hover {
    color: #D59536;
}

.newsletter-container p {
    margin: 1rem 0 0;
}

.footer-header {
    color: var(--gold);
    margin: 2rem 0 1rem;
    font-family: 'Bodoni';
    font-size: 2.8rem;
}


/* home slider */

.home-slide {
    background-position: center;
    background-size: cover;
    height: 600px;
    width: 100%;
}

.home-slider .slick-prev {
    display: relative !important;
    left: 20px !important;
    z-index: 10 !important;
    min-height: 100px;
    min-width: 50px;
}

.home-slider .slick-next {
    display: relative !important;
    right: 20px !important;
    z-index: 10 !important;
    min-height: 100px;
    min-width: 50px;
}

.home-slider .slick-prev:before {
    content: "";
    font-family: "Font Awesome 5 Pro";
    font-size: 4rem;
    font-weight: 900
}

.home-slider .slick-next:before {
    content: "";
    font-family: "Font Awesome 5 Pro";
    font-size: 4rem;
    font-weight: 900
}

.home-slide.slick-slide {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 7.2rem;
    justify-content: center;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}

.pagination .page-numbers {
    color: #930D1A;
    font-size: 2.3rem;
    padding: 0 1rem;
}

.page-numbers.current {
    color: #D59536;
}

.next.page-numbers,
.prev.page-numbers {
    font-size: 1.2rem;
}

.ptop-20 {
    padding-top: 20px;
}

.ptop-30 {
    padding-top: 20px;
}

.ptop-50 {
    padding-top: 50px;
}

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

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

.button-container {
    background-color: #930D1A;
    border: 1px solid #930D1A !important;
    border-radius: 35px;
    padding: 2px !important;
    width: auto !important;
    display: inline-block;
    margin-top: auto !important;
}

.button-container-gold {
    background-color: #D59536;
    border: 1px solid #D59536;
    border-radius: 35px;
    padding: 2px;
    width: auto !important;
    display: inline-block;
    margin: 10px 0;
}

.button-container-white {
    background-color: #930D1A;
    border: 1px solid #fff;
    border-radius: 35px;
    padding: 2px;
    width: auto !important;
    display: inline-block;
}

.button {
    background-color: #930D1A !important;
    border: 1px solid #fff !important;
    border-radius: 25px;
    color: #fff !important;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    transition: .3s ease;
    padding: 1rem 4rem !important;
    font-family: 'Bodoni';
    font-weight: 700;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.25);
    display: inline-flex;
    cursor: pointer;
}

.fareharbor-shortcode-wrap a {
    background-color: #930D1A;
    border: 2px solid #fff;
    border-radius: 35px;
    color: #fff;
    font-size: 2.5rem;
    font-weight: 500;
    text-align: center;
    transition: .3s ease;
    padding: 1rem 6rem;
    font-family: 'Bodoni';
    font-weight: 700;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.25);
    display: inline-block;
}

.fareharbor-shortcode-wrap a:hover {
    background-color: #fff;
    color: var(--red);
}

.fareharbor-shortcode-wrap.small.gold-button a {
    background-color: var(--gold);
    border: 2px solid #fff;
    border-radius: 35px;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    transition: .3s ease;
    padding: 1rem 6rem;
    font-family: 'Bodoni';
    font-weight: 700;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.25);
    display: inline-block;
}

.fareharbor-shortcode-wrap.small.gold-button a:hover {
    background: #fff;
    color: var(--gold);
}

.button-gold,
.button.gold {
    background-color: #D59536 !important;
    border: 1px solid #fff;
    border-radius: 25px;
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    transition: .3s ease;
    padding: 7px 45px 8px 45px;
    font-family: 'Bodoni';
    font-weight: 700;
    display: inline-block;
    position: relative;
}

.button-gold:hover,
.button.gold:hover {
    background-color: #fff !important;
    color: #D59536 !important;
}

.button-small,
.button.small {
    background-color: #930D1A;
    border: 1px solid #fff;
    border-radius: 25px;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    transition: .3s ease;
    padding: 6px 35px 7px 35px;
    font-family: 'Bodoni';
    font-weight: 700;
    position: relative;
    display: inline-block;
}

.button.small.gold:before,
.button.gold:before{
    content: '';
    position: absolute;
    top: -10%;
    left: -2.55%;
    display: block;
    width: 105%;
    height: 120%;
    background-color: var(--gold);
    border-radius: 25px;
    z-index: -1;
}

.button.white {
    border: 1px solid var(--red) !important;
}

.button.small:before {
    content: '';
    position: absolute;
    top: -10%;
    left: -2.55%;
    display: block;
    width: 105%;
    height: 120%;
    background-color: #930D21;
    border-radius: 25px;
    z-index: -1;
}

.button.small.white:before {
    background-color: #fff;
}

.button:hover,
.button-small:hover,
.button.small:hover {
    background: white !important;
    color: #930D1A !important;
}

.button-form {
    background-color: #930D1A !important;
    border: 1px solid #930D1A !important;
    border-radius: 35px;
    color: #fff !important;
    font-size: 2rem;
    font-weight: 500;
    margin: 15px 0;
    text-align: center;
    transition: .3s ease;
    padding: .8rem 3rem !important;
    font-family: 'Bodoni';
    font-weight: 700;
    /* display: inline-block; */
}

.button-form:hover {
    background: white !important;
    color: #930D1A !important;
    border: 1px solid #930D1A !important;
}

.border-right {
    display: flex;
    align-items: center;
    /* height: 100%; */
    position: relative;
}

.border-right:after {
    content: '';
    position: relative;
    height: 2px;
    right: 0;
    width: 100%;
    background: #D59536;
    margin: 25px 10px 0;
}

.border-right.short:after {
    height: 2px;
    left: 10px;
    width: 100%;
    background: #D59536;
    margin: 15px 0px 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20%;
    max-width: 125px;
}

.image-container {
    display: flex;
    height: auto;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 10px;
}

.video-container {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}

.small-logo {
    height: 120px;
}

.hero {
    height: 25vw;
    min-height: 350px;
    background-position: center;
    background-size: cover;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-color: rgba(0,0,0,.2);
    background-blend-mode: overlay;
}

.hero h1 {
    color: #fff;
}

.hero:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.2);
}

.hero-content {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-bottom: 3rem;
    padding: 0 4rem;
}

.hero-content h1 {
    color: #fff;;
}

.hero-content p#breadcrumbs {
    margin-top: 0px;
}

.hero-content p#breadcrumbs * {
    color: #fff;;
}

/* .hero h1 {
    position: absolute;
    bottom: 0;
    left: 5%;
    color: white;
    z-index: 2;
} */

.notable-image-container {
    min-height: 350px;
    width: 100%;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.notable-no-image-container {
    min-height: 350px;
    width: 100%;
    background-color: #930D1A;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.notable-no-image-container p {
    margin: 0;
    font-size: 3.5rem;
    color: #D59536;
    font-family: 'Montserrat';
}

.sign-up-container {
    text-align: center;
}


/*------------------------------------*\
  NOTIFICATION BAR
\*------------------------------------*/

#notification-bar {
    background: #930D1A;
    color: white;
    text-align: center;
}

#notification-bar-alternate {
    background: #D59536;
    color: white;
    text-align: center;
}

.notification {
    padding: 5px;
}

#notification-bar .notification a {
    color: white;
    transition: .3s ease;
}

#notification-bar .notification a:hover {
    color: #D59536;
    transition: .3s ease;
}

#notification-bar-alternate a {
    color: white;
    transition: .3s ease;
}

#notification-bar-alternate a:hover {
    color: #930D1A;
    transition: .3s ease;
}

.notification p {
    font-weight: 600;
    margin: .8rem 0;
}


/*------------------------------------*\
    PAGES
\*------------------------------------*/


/*------------------------------------*\
    HOME PAGE
\*------------------------------------*/

#nav-hero {
    background-size: cover;
    background-position: center;
    min-height: 500px;
    height: 48vw;
    max-height: 1000px;
    position: relative;
    display: flex;
    align-items: center;
    width: 98%;
    margin: 20px auto;
    max-width: 100%;
    overflow: hidden;
}

#nav-hero:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: linear-gradient(to bottom, rgba(95, 95, 95, .8), rgba(0, 0, 0, .3), rgba(0, 0, 0, .1), rgba(0, 0, 0, .3), rgba(0, 0, 0, .4));
}

#nav-hero video {
    width: auto;
    min-width: 100%;
    height: 100%;
    min-height: 100%;
    z-index: -1;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

.home-nav-container {
    position: absolute;
    left: 0;
    right: 0;
    height: 92%;
    width: 96%;
    border-top: 5px solid white;
    border-left: 5px solid white;
    border-right: 5px solid white;
    border-bottom: 5px solid white;
    margin: 0 auto;
    top: 50%;
    transform: translateY(-50%);
}

.home-nav {
    margin-top: -33px;
}

.home-nav ul {
    display: flex;
    list-style-type: none;
    padding: 0 30px;
    justify-content: space-around;
}

.home-nav ul li {
    position: relative;
}

.home-nav ul li a {
    color: white;
    font-family: 'Bodoni';
    font-size: 1.8rem;
    font-weight: 100;
    transition: .3s ease;
}

.home-nav ul li a:hover {
    color: #D59536;
    transition: .3s ease;
}

.home-nav ul li:hover a {
    color: #D59536;
    transition: .3s ease;
}

.home-nav ul li:hover ul.sub-menu,
.home-nav ul.sub-menu li.menu-item-has-children:hover ul.sub-menu,
.nav ul.sub-menu li.menu-item-has-children:hover .sub-menu{
    opacity: 1;
    visibility: visible;
    transition: all .3s ease;
}

.home-nav ul.sub-menu {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    transition: all .3s ease;
    padding: 0 10px;
    min-width: 200px;
    width: 100%;
    background: #fff;
    border: 2px solid #D59536;
    list-style-type: none;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    top: 40px;
    z-index: 999;
}

.nav ul.sub-menu li.menu-item-has-children .sub-menu{
    opacity: 0;
    left: 315px;
    top: 0;
    visibility: hidden;
}

.home-nav ul.sub-menu li.menu-item-has-children .sub-menu{
    opacity: 0;
    left: 265px;
    top: 0;
    visibility: hidden;
}

.home-nav ul.sub-menu li {
    margin: 0 auto;
    padding: 15px 0;
    position: relative;
}

.home-nav ul.sub-menu li a {
    color: #930D1A;
    border-bottom: 1px solid #fff;
    transition: .3s ease;
    font-weight: 700;
}

.home-nav ul.sub-menu li a:hover {
    color: #D59536;
    border-bottom: 1px solid #D59536;
    transition: .3s ease;
}

nav.home-nav:before {
    display: flex;
    border: 3px solid white;
    content: '';
    position: absolute;
    width: 4%;
    left: 0;
    top: 0;
}

nav.home-nav:after {
    display: flex;
    border: 3px solid white;
    content: '';
    position: absolute;
    width: 4%;
    right: 0;
    top: 0;
}

.home-nav-container .logo {
    display: flex;
    height: 90%;
    justify-content: center;
    align-items: center;
}

.home-nav-container .logo-img {
    height: 125px;
}

.home-about {
    padding: 0;
}

.block-container {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.block {
    background-position: center;
    background-size: cover;
    /* height: 100%; */
    position: relative;
    min-height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: .3s ease;
    color: white;
    background-color: var(--red);
}

.block:hover {
    transform: scale(1.1);
    transition: .3s ease;
}

.block:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
}

.block h3 {
    z-index: 2;
    color: white;
    font-size: 3.2rem;
    text-align: center;
    padding: 0 20px;
    width: 100%;
}

.block * {
    z-index: 2;
}


/* Block Short */

.block-short-container {
    overflow: hidden;
}

.block-short-container .block-short {
    transition: .4s ease;
}

.block-short-container:hover .block-short {
    transform: scale(1.05);
    transition: .4s ease;
}

.block-short {
    background-position: center;
    background-size: cover;
    height: auto;
    position: relative;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
}

.block-short:before {
    content: '';
    position: absolute;
    height: 93%;
    width: 93%;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, .5);
    margin: 0 auto;
}

.top-pick {
    position: absolute;
    top: 20px;
    left: 40px;
    font-weight: 600;
}

.top-pick i {
    color: #D59536;
    font-size: 2.5rem;
}

.block-short h3 {
    position: absolute;
    bottom: 20px;
    left: 10px;
    z-index: 2;
    color: white;
    font-size: 2.7rem;
    text-align: left;
    padding: 0 20px;
}

.block-short * {
    z-index: 2;
}

.block-short.featured:before {
    width: 95%;
    height: 95%;
}

.block-short.featured h3 {
    left: 20px;
}

.block-short.featured.no-thumbnail {
    background-position: center;
    background-color: #930D1A;
    background-size: contain;
    background-repeat: no-repeat;
}

.block-short.no-thumbnail {
    background-position: center;
    background-color: #930D1A;
    background-size: contain;
    background-repeat: no-repeat;
}


/* Block Tall */

.block-tall {
    background-position: center;
    background-size: cover;
    height: 35vw;
    position: relative;
    min-height: 350px;
    max-height: 525px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: .3s ease;
    color: white;
}

.block-tall:hover {
    transform: scale(1.1);
    transition: .3s ease;
}

.block-tall:before {
    content: '';
    position: absolute;
    height: 93%;
    width: 93%;
    left: 0;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, .5);
    margin: 0 auto;
}

.block-tall h3 {
    z-index: 2;
    color: white;
    font-size: 2.7rem;
    text-align: center;
    padding: 0 20px;
    position: relative;
}

.type {
    position: absolute;
    right: 40px;
    top: 30px;
    font-weight: 600;
    font-size: 2rem;
}


/* Itinerary Slider */

.itinerary-slider .slick-dots {
    width: auto;
    height: 100%;
    margin: 0;
    list-style: ethiopic-halehame-am;
    top: 40px;
    right: 40px;
    display: flex !important;
    flex-direction: column;
    text-align: right;
    align-items: flex-end;
}

.itinerary-slider .slick-dots li {
    margin: 5px;
}


/* .itinerary-slider .slick-dots li.slick-active {
  position: relative;
}

.itinerary-slider .slick-dots li.slick-active:after{
  content: '';
  position: absolute;
} */

.itinerary-slider .slick-dots li button:before {
    content: '';
    background: red;
}

.slide {
    background-position: center;
    background-size: cover;
    /* height: 100%; */
}

.slick-slide {
    height: auto;
}

.slide-content {
    height: 30vw;
    min-height: 450px;
    max-height: 36vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    color: white;
    position: relative;
    z-index: 2;
}

.slide-content:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 105%;
    width: 100%;
    background: rgba(0, 0, 0, .4);
}

.slide-content h3 {
    color: white;
    font-size: 3.5rem;
    z-index: 2;
    margin: 0;
}

.slide-content .button-container {
    z-index: 2;
}

.slide-content .content {
    color: white;
    z-index: 2;
}


/* Group Tours */

.group-tours-container {
    margin-top: 0;
    margin-bottom: 0;
}

.tour-container {
    justify-content: center;
}

#home-events h2 {
    font-size: 6rem;
    margin: 0;
    max-width: 400px;
    width: 100%;
}

.event-button-wrapper {
    text-align: center;
}


/*------------------------------------*\
    ABOUT
\*------------------------------------*/

#about-first-section {
    margin: 75px auto;
    position: relative;
}

#about-first-section:before {
    content: '';
    position: absolute;
    max-width: 1600px;
    margin: 0 auto;
    width: 90%;
    background: #D59536;
    height: 75%;
    z-index: -1;
    left: 0;
    right: 0;
    top: -40px;
    display: none;
}

#about-first-section .column.is-8-desktop.is-12-tablet.is-12-mobile,
#about-third-section .column.is-8-desktop.is-6-tablet.is-12-mobile.p0 {
    width: 100%;
}

#about-first-section .column.is-4-desktop.is-12-tablet.is-12-mobile.about-content-container,
#about-third-section .column.is-4-desktop.is-6-tablet.is-12-mobile.about-content-container {
    width: 100%;
}

.about-image-one {
    background-size: cover;
    background-position: center;
    height: auto;
    min-height: 400px;
    max-height: 800px;
    width: 100%;
    margin-top: 5%;
}

#about-first-section .about-content-container,
.about-content-container {
    background: #930D1A;
    position: relative;
}

.about-content-container:before {
    content: '';
    height: 100%;
    position: absolute;
    width: 30%;
    background: #930D1A;
    left: -30%;
    z-index: -1;
    display: none;
}

.about-content-container .content {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 2rem;
    color: white;
}

.about-content-container .content li {
    padding: 15px 0;
    font-size: 1.6rem;
}

#about-second-section {
    margin: 75px 0;
}

#about-third-section {
    margin: 75px 0;
}

#about-third-section .about-image {
    height: auto;
    background-position: center;
    background-size: cover;
    min-height: 400px;
    width: 100%;
}

#about-third-section .about-content-container:before {
    display: none;
}


/*------------------------------------*\
  ABOUT - Notable People
\*------------------------------------*/

.cemetery-wrapper {
    padding-bottom: 50px;
    border-bottom: 1px solid #D59536;
}

.cemetery-container {
    margin: 15px auto;
}

.cemetery-image {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 325px;
    width: 100%;
}

.cemetery-container .acf-map {
    margin: 0;
    min-height: 325px;
    max-height: 325px;
}

.cemetery-container .content {
    padding: 10px;
}

.cemetery-container .content * {
    color: #930D1A;
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 1.6rem;
    transition: .3s ease;
}

.cemetery-container .content p {
    margin: 0;
}

.cemetery-container .content a:hover {
    color: #D59536;
    transition: .3s ease;
}

.notable-people-container {
    margin: 20px 0;
}

.notable-people-container h2 {
    margin: 15px auto;
    text-align: center;
}

.notable-people-container .red-header p {
    color: white;
    font-family: 'Montserrat';
    font-weight: 500;
    margin: 5px 0;
    font-size: 1.6rem;
}


/*------------------------------------*\
  ABOUT - Local Resource
\*------------------------------------*/

.resource-container {
    margin: 20px 0;
}

.resource-content-container {
    background: #F7F7F7;
    padding: 20px;
}

.resource-content-container .content {
    border-right: none;
    padding-right: 0;
}

.resource-image-wrapper {
    padding: 0 10px;
    display: flex;
}

.resource-image-container {
    background-position: center;
    background-size: cover;
    height: 100%;
    width: 100%;
    min-height: 400px;
}

.resource-no-image-container {
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    background-color: #930D1A;
    height: auto;
    width: 100%;
    min-height: 350px;
}

.resource-detail {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    height: auto;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.resource-detail i {
    padding: 0 20px 0 10px;
}

.resource-detail a {
    color: #444;
    transition: .3s ease;
    word-break: break-all;
}

.resource-detail a:hover {
    color: #930D1A;
    transition: .3s ease;
}


/*------------------------------------*\
  ABOUT - Educational Institution
\*------------------------------------*/

.institution-container {
    margin: 25px 0;
    padding: 50px 0 75px 0;
    border-bottom: 1px solid #D59536;
}

.institution-wrapper:first-child .institution-container {
    margin-top: 0;
}

.institution-wrapper:last-child .institution-container {
    border-bottom: none;
}

.institution-content h2 {
    transition: .3s ease;
}

.institution-content h2:hover {
    color: #D59536;
    transition: .3s ease;
}

.institution-content h3 {
    color: #707070;
    font-size: 2rem;
}


/*------------------------------------*\
  ABOUT - PARKING
\*------------------------------------*/

.parking-container p {
    margin: 0;
}

.parking-information h3 {
    margin: 15px 0;
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 1.8rem;
}


/*------------------------------------*\
  ABOUT - Transportation and Directions
\*------------------------------------*/

.direction-container {
    height: 100%:
}

.direction-container .content {
    padding: 20px;
}

.direction-container .content h3 {
    font-family: 'Montserrat';
    font-size: 1.8rem;
}

.red-header {
    background-color: #930D1A;
    padding: 10px;
}

.red-header .columns {
    align-items: center;
}

.red-header h2 {
    color: white;
    margin: 0;
}

.red-header i {
    font-size: 4rem;
    color: white;
}


/*------------------------------------*\
  ABOUT - Before You Visit
\*------------------------------------*/

.plastic-wrapper {
    margin-bottom: auto;
}

.plastic-wrapper h1 {
    margin: 0;
}

.plastic-container {
    height: 100%;
    max-height: 100%;
    margin: 0;
    padding: 20px 30px;
    position: sticky;
    top: 55px;
}

.plastic-container h2 {
    color: white;
    text-align: center;
    margin: 0 auto;
}


/*------------------------------------*\
  ABOUT - Town History
\*------------------------------------*/

#town-history .content {
    column-count: 1;
}

#town-history .content p:nth-child(1) {
    margin: 0;
}

.history-slider-wrapper {
    position: relative;
}

.history-slider {
    position: relative;
    margin: 0 !important;
    height: 100%;
    min-height: 500px;
}

.history-slider .slick-list,
.history-slider .slick-track {
    height: auto;
}

.history-slider .slick-dots {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    text-align: left;
    padding: 20px;
    width: 100%;
    display: flex !important;
    flex-direction: column;
}

.history-slider .slick-dots li {
    margin: 5px 0;
}

.history-slider .slick-dots li button:before {
    color: #fff;
    opacity: 1;
    font-size: 2.2rem;
}

.history-slider .slick-dots li.slick-active button:before {
    content: '';
    height: 95%;
    width: 95%;
    position: absolute;
    background: #930D1A;
    border-radius: 50%;
    margin: 0 auto;
    left: 2px;
}

.history-slide-wrapper {
    height: 100%;
    min-height: 40vw;
    background-position: center;
    background-size: cover;
    position: relative;
    display: flex !important;
    justify-content: center;
}

.history-slide-wrapper:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .1) 25%, rgba(0, 0, 0, .1) 50%, rgba(0, 0, 0, .4) 85%, rgba(0, 0, 0, .7) 100%);
    z-index: 1;
}

.history-slide-container {
    height: 100%;
    width: 100%;
    z-index: 2;
}

.history-slide-container .column {
    z-index: 2;
}

.history-slide-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    padding: 20px;
    color: white;
}

.history-slide-content p {
    font-size: 2rem;
}

.history-year {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 30px 0;
}

.history-year p {
    color: #F7B21D;
    opacity: .8;
    font-size: 12vw;
    height: 100%;
    line-height: 0;
    margin: 0;
    transform: rotateZ(0);
    font-weight: 600;
    padding: 20px;
    transition: .3s ease;
    font-family: 'Bodoni';
}


/* History Navigation */

.history-slider-navigation {
    position: relative;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 15px auto;
    width: 200px;
    height: auto;
    background: #930D1A;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
}

.history-slider-navigation .slick-prev,
.history-slider-navigation .slick-next {
    position: relative;
}

.history-slider-navigation .slick-prev:before {
    content: '\f053';
    font-family: 'Font Awesome 5 Pro';
    opacity: 1;
    font-size: 5rem;
    color: #D59536;
}

.history-slider-navigation .slick-prev {
    font-size: 0;
    line-height: 0;
    width: auto;
    height: auto;
    cursor: pointer;
    border: none;
    outline: 0;
    background: 0 0;
    left: 0;
    top: 0;
    transform: none;
    margin: 0 25px 0 15px;
}

.history-slider-navigation .slick-prev:after {
    content: '';
    position: absolute;
    height: 100%;
    border-right: 2px solid #D59536;
    width: 100%;
    right: -42px;
}

.history-slider-navigation .slick-next:before {
    content: '\f054';
    font-family: 'Font Awesome 5 Pro';
    opacity: 1;
    font-size: 5rem;
    color: #D59536;
}

.history-slider-navigation .slick-next {
    font-size: 0;
    line-height: 0;
    width: auto;
    height: auto;
    cursor: pointer;
    border: none;
    outline: 0;
    background: 0 0;
    transform: none;
    top: 0;
    right: 0;
    margin: 0 15px 0 25px;
}


/*------------------------------------*\
    ABOUT - Visitor Center
  \*------------------------------------*/

.visitor-center-container {
    height: 100%;
}

.visitor-center-container h2,
.visitor-center-container h3 {
    font-family: 'Montserrat';
}

.visitor-center-container h2 {
    margin: 0 0 10px 0;
}

.visitor-center-container h3 {
    margin: 15px 0 0 0;
}

.visitor-center-container i {
    padding-right: 5px;
}

.walking-tours {
    margin-bottom: 30px;
}

.walking-tours h3 {
    margin-top: 10px;
}

.testimonials.slider {
    width: 100%;
    margin: 30px auto;
}

.testimonials .slick-slide {
    margin: 0px 20px;
}

.testimonials .slick-slide img {
    width: 100%;
}

.testimonials .slick-prev:before,
.testimonials .slick-next:before {
    color: black;
}

.testimonials-slide {
    text-align: center;
    background-color: #efefef;
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.testimonial-text {
    color: #930d19;
    font-size: 24px;
    margin-bottom: 0;
}

.testimonial-author {
    font-style: italic;
}


/*------------------------------------*\
  ARCHIVE - WALKING TOUR
\*------------------------------------*/

.walking-tour-container {
    margin: 3.5rem 0;
}

.walking-tour-container.reversed .tour-block {
    background: var(--red);
}

.walking-tour-container.reversed .tour-block *:not(.button) {
    color: #fff;
}

.tour-block {
    background: #F7F7F7;
    padding: 3rem 2rem;
    position: relative;
    z-index: 0;
    height: 100%;
}

.tour-block p {
    margin: .5rem 0;
}

.tour-block .tour-important {
    color: var(--gold) !important;
    font-size: 4rem;
}

.tour-block .tour-important i {
    color: var(--gold) !important;
}

.tour-block .tour-date {
    font-size: 2rem;
}

.tour-date {
    font-weight: 600;
    color: var(--red);
    font-size: 2.2rem;
    margin-top: 0;
}

.social-share {
    padding-top: 1rem;
}

.quote-accent {
    height: 85px;
}


/*------------------------------------*\
  SINGLE - WALKING TOUR
\*------------------------------------*/

.book-here-container {
    text-align: left;
    margin-top: 15px;
}

.ticket-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 5rem 2rem;
    background-color: var(--red);
    margin-bottom: 2rem;
}

.testimonial-block {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 3rem;
}

.testimonial-block p.name {
    font-family: var(--bodoni);
    color: var(--red);
    font-weight: 600;
    font-size: 2.4rem;
}

.testimonial-slider {
    opacity: 0;
    visibility: hidden;
    transition: .4s ease;
}

.testimonial-slider.slick-initialized {
    opacity: 1;
    visibility: visible;
}

.testimonial-slider .slick-prev,
.testimonial-slider .slick-next {
    width: 30px;
    height: 60px;
    top: 25%;
}

.testimonial-slider .slick-prev {
    left: -15px;
}

.testimonial-slider .slick-next {
    right: -15px;
}

.testimonial-slider .slick-prev:before,
.testimonial-slider .slick-next:before {
    color: var(--red);
    font-weight: 900;
    font-size: 5.5rem;
    opacity: 1;
}

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

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

.grid-gallery {
    opacity: 0;
    visibility: hidden;
    transition: .4s ease;
}

.grid-gallery.slick-initialized {
    opacity: 1;
    visibility: visible;
}

.grid-gallery .slick-prev,
.grid-gallery .slick-next {
    width: 30px;
    height: 60px;
    top: 50%;
    z-index: 1;
}

.grid-gallery .slick-prev {
    left: 10px;
}

.grid-gallery .slick-next {
    right: 10px;
}

.grid-gallery .slick-prev:before,
.grid-gallery .slick-next:before {
    color: #fff;
    font-weight: 900;
    font-size: 5.5rem;
    opacity: 1;
}

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

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


/*------------------------------------*\
  CONCORD MAP
\*------------------------------------*/

.map-container {
    max-width: 900px;
    margin: 0 auto;
}

.guide-map-container {
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: flex-end;
}

.map-icon-container {
    text-align: center;
    min-width: 200px;
}

.map-icon-container i {
    --fa-primary-color: #D59536;
    --fa-secondary-color: #D59536;
    font-size: 6rem;
}

.map-icon-wrapper {
    flex-wrap: wrap;
    border-bottom: 1px solid #D59536;
    padding-bottom: 15px;
}

.map-key-container {
    column-count: 1;
    padding: 0;
}

.map-key-container li {
    max-width: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.key-number {
    color: white;
    font-family: 'Bodoni';
    width: 75px;
    font-size: 3rem;
    text-align: center;
    border-radius: 50%;
    padding: 5px;
    margin: 0;
}

.map-key-container li:nth-child(odd) .key-number {
    background-color: #930D1A;
}

.map-key-container li:nth-child(even) .key-number {
    background-color: #5E060E;
}

.key-content p {
    margin: 0 5px;
    padding: 0 10px;
}


/*------------------------------------*\
    BLOG
\*------------------------------------*/

.featured-blog-hero {
    min-height: 525px;
    position: relative;
}

.featured-blog-hero.no-thumbnail {
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    background-color: #930D1A;
}

.featured-blog-hero:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .3);
}

.no-thumbnail-image {
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    background-color: #930D1A;
    min-height: 350px;
    width: 100%;
}

.no-thumbnail-image-short {
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #930D1A;
    min-height: 250px;
    width: 100%;
}

.thumbnail-image {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 250px;
    width: 100%;
}

.featured-hero-content {
    position: absolute;
    bottom: 20px;
    left: 0;
    padding: 0 20px;
    width: 100%;
    max-width: 800px;
    color: white;
}

.featured-hero-content h1 {
    position: relative;
    left: 0;
}

.featured-post-container {
    margin: 15px 0;
}

.blog-hero {
    background-position: center;
    background-size: cover;
    min-height: 500px;
    height: 21vw;
}

.blog-hero.no-image {
    background-repeat: no-repeat;
    background-size: auto;
    background-color: #930D1A;
}

.recent-post-wrapper {
    position: relative;
}

.recent-post-container {
    padding-left: 30px;
}

.recent-post a {
    font-weight: 600;
    font-size: 1.5rem;
    color: black;
    transition: .3s ease;
    position: relative;
}

.recent-post a:hover {
    transition: .3s ease;
    color: #930D1A;
}

.recent-post {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 10px;
}

.recent-post-container .recent-post:nth-of-type(1):before {
    content: '';
    position: absolute;
    left: -20px;
    height: 35px;
    width: 16px;
    background: #5E060E;
}

.recent-post-container .recent-post:nth-of-type(2):before {
    content: '';
    position: absolute;
    left: -20px;
    height: 35px;
    width: 16px;
    background: #930D1A;
}

.recent-post-container .recent-post:nth-of-type(3):before {
    content: '';
    position: absolute;
    left: -20px;
    height: 35px;
    width: 16px;
    background: #D59536;
}


/*------------------------------------*\
    CONTACT
\*------------------------------------*/

.contact-container {
    background: #930D1A;
    color: white;
    padding: 0 20px;
    margin: 20px 0;
}

.contact-container a {
    color: white;
    transition: .3s ease;
}

.contact-container a:hover {
    color: #D59536;
    transition: .3s ease;
}

.contact-container h2 {
    color: #D59536;
    margin-bottom: 0;
}

/*------------------------------------*\
    CONCORD 250
\*------------------------------------*/

.heading-border h2 {
    display: flex;
    align-items: center;
    /* height: 100%; */
    position: relative;
    font-size: 4.2rem;
    padding: 0 0 3rem;
}

.heading-border h2:after {
    content: '';
    position: relative;
    height: 2px;
    left: 10px;
    width: 100%;
    background: #D59536;
    margin: 15px 0px 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20%;
    max-width: 125px;
}

.engage-wrapper {
    padding: 3rem 0;
}

.engage-block {
    display: flex;
    padding: 2rem 0;
    height: 100%;
}

.engage-block a.button {
    margin-top: auto;
}

.engage-block h4 {
    margin-top: 0;
    max-width: 100%;
}

.engage-block img {
    height: 50px;
    padding-right: 2rem;
}

.engage-block .content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.engage-block .content p {
    font-size: 1.6rem;
}

.listings-wrapper {
    position: relative;
    padding-bottom: 5rem;
}


.resource-wrapper .resource-container {
    border-right: none;
    border-bottom: 1px solid var(--red);
    margin: 0;
    padding-bottom: 3rem;
}

.resource-wrapper .resource-container:last-of-type {
    border-right: none;
    border-bottom: none;
}

.resource-block {
    padding: 0 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.resource-block a.button {
    margin-top: auto;
}


.timeline-slider-wrap {
    position: relative;
    /* border: 3px solid var(--gold); */
}

.timeline-slider-wrap a {
  color: #fff;
  text-decoration: underline;
}

.timeline-slider-wrap a:hover {
  color: var(--gold);
}

.timeline-slider {
    opacity: 0;
    visibility: hidden;
    transition: .4s ease;
}

.timeline-slider.slick-initialized {
    opacity: 1;
    visibility: visible;
}

/* .timeline-slider .slick-list {
    height: 100% !important;
} */

.timeline-slider-nav {
    text-align: right;
    padding: 0 3rem;
    bottom: 25px;
    position: relative;
}

.timeline-slider-nav i {
    color: white;
    font-size: 3rem;
    padding: 10px;
    cursor: pointer;
}

.timeline-slider-nav i:hover {
    opacity: .9;
}

.timeline-slider {
    background: var(--red);
    padding: 3rem 0;
    color: white;
}

.timeline-slider h3 {
    color: white;
}

.timeline-slider .slick-slide {
    padding: 30px;
    color: white;
    padding: 0 4rem 4rem;
    transform: scale(0.7);
    transition: .4s ease;
    position: relative;
    transform-origin: top;
}

.timeline-slider .slick-slide.slick-current {
    transform: scale(1);
}

.timeline-slider time {
    color: #fff;
    font-family: 'Bodoni';
    font-weight: 700;
    font-style: normal;
    font-size: 2.8rem;
}

.timeline-block {
    max-width: 1080px;
    margin: 0 auto;
}

.timeline-block h3 {
    margin-top: 0;
    font-size: 4rem;
}

.video-block {
    display: flex;
    flex-direction: column;
}

.video-placeholder {
    background-position: center;
    background-size: cover;
    height: 100%;
    width: 100%;
    min-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-block i {
    transition: .4s ease;
    font-size: 5.5rem;
}

.video-block i.fa-duotone:before {
    color: #fff;
    opacity: 1;
    transition: .4s ease;

}

.video-block i.fa-duotone:after {
    color: var(--red);
    opacity: 1;
    transition: .4s ease;

}

.video-block:hover i:before {
    color: var(--red);
}

.video-block:hover i:after {
    color: #fff;
}


/*------------------------------------*\
    LISTING
\*------------------------------------*/

.listing-slider {}

.category-sub-title {
    text-align: left;
    font-size: 4rem;
}

.listing-slider .slick-prev {
    left: 40px;
    z-index: 1;
    height: auto;
    width: auto;
}

.listing-slider .slick-prev:before {
    content: '\f053';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    color: #D59536;
    font-size: 6rem;
}

.listing-slider .slick-next {
    right: 40px;
    z-index: 1;
    width: auto;
    height: auto;
}

.listing-slider .slick-next:before {
    content: '\f054';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    color: #D59536;
    font-size: 6rem;
}

.listing-content-container h3 {
    margin: 5px 0;
}

.image-slide {
    height: 33vw;
    min-height: 400px;
    margin: 0 10px;
    background-size: cover;
    background-position: center;
}

.image-slide.tall {
    height: 30vw;
    /* max-width: 500px; */
}

.image-slide.wide {
    height: 30vw;
    /* max-width: 700px; */
}

.social-media {}

.social-media a {
    font-size: 2.3rem;
    color: #D59536;
    padding: 0 5px;
    transition: .3s ease;
}

.social-media a:hover {
    color: #930D1A;
    transition: .3s ease;
}

.related-places-container {
    border-top: 2px solid #D59536;
    padding-top: 50px;
}

.related-place-slider {}

.related-place {
    height: 20vw;
    min-height: 350px;
    background-position: center;
    background-size: cover;
    margin: 0 10px;
    position: relative;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
}

.related-place:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.2);
}

.related-place h4 {
    color: white;
    margin: 15px;
    z-index: 2;
}

.listing-website {
    width: 100%;
    word-wrap: break-word;
}

.listing-360-view {
    padding: .75rem 1.1rem .75rem 2rem;
}

.pnlm-container {
    width: 100% !important;
}


/*------------------------------------*\
    VISIT
\*------------------------------------*/

#visitor-information {
    margin-top: 0;
}

.visitor-information {
    padding: 25px 50px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
}

.visitor-information:after {
    content: '';
    height: 100%;
    position: absolute;
    width: 30%;
    background: #930D1A;
    right: -30%;
    top: 0;
    z-index: -1;
    display: none;
    overflow: hidden;
}

.visitor-information * {
    color: white;
    width: 100%;
}

.visitor-information h3 {
    margin: 0;
}

.visitor-content {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
}

#visitor-information .image-container {
    margin-top: -75px;
}

.visitor-image {
    height: 40vw;
    min-height: 400px;
    max-height: 850px;
    width: 100%;
    background-position: center bottom;
    background-size: cover;
    margin: 0 auto;
}

.icon-container {
    text-align: center;
    padding: 20px 0;
}

.icon {
    font-size: 9rem;
    margin: 0;
}

.icon i {
    --fa-primary-color: #930D1A;
    --fa-secondary-color: #D59536;
}

.icon-container h4 {
    font-family: 'Montserrat';
    font-weight: 700;
    font-size: 10rem;
    margin: 0;
}

.icon-container p {
    font-weight: bold;
}

.social-header p {
    display: flex;
    align-items: center;
    font-weight: bold;
}

.social-header i {
    color: #930D1A;
    font-size: 4rem;
    padding-right: 10px;
}

.instagram-block {
    background: #909090;
    position: relative;
    height: 100%;
    min-height: 300px;
}

.instagram-block p {
    font-size: 3rem;
    margin: 0;
    color: white;
    position: absolute;
    left: 10px;
    top: 10px;
}


/*------------------------------------*\
    VISIT
\*------------------------------------*/

.child-container {
    display: flex;
    flex-direction: column;
}

.child-container .content {
    text-align: center;
    width: 100%;
}

.child-container .content h3,
.child-container .content p {
    text-align: left !important;
}

.child-header {
    background: rgba(213, 149, 54, .15);
    padding: 5px 0;
    text-align: center;
    height: 100%;
    width: 100%;
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    max-height: 150px;
    min-height: 150px;
    align-items: center;
    justify-content: center;
}

.child-header h2 {
    margin: 0;
    color: #5E060E;
    font-size: 5rem;
}

.child-header p {
    color: #930D1A;
    font-weight: 600;
    transition: .3s ease;
}

.child-header p:hover {
    color: #D59536;
    transition: .3s ease;
}

#walking-tours-schedule h2 {
    text-align: center;
}


/*------------------------------------*\
  Visit Town
\*------------------------------------*/

.child-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  padding: 2rem 0;
}

.child-block a.button {
  margin-top: auto;
}

.child-block p{
  margin-top: 0
}

.listing-block {
    padding: 1.5rem .75rem;
}

.query-wrapper .event-block {
    transition: .3s ease-out;
}

.query-wrapper .event-block:hover {
    transform: scale(1.05);
}

.query-button {
    text-align: left;
}

.listing-slider {
    position: relative;
}

.image-block {
    padding: 0 1rem;
}

/*------------------------------------*\
    VISITOR MAP
\*------------------------------------*/
.maps-poi-wrapper{
    margin-bottom: 80px;
}

.maps-poi-wrapper .img-wrapper{
    text-align: center;
    max-width: 780px;
    margin: 0 auto;
    overflow: hidden;
}

.maps-poi-wrapper .img-wrapper a{
    position: relative;
    display: inline-block;
}

.maps-poi-wrapper .img-wrapper a img{
    transition: transform .3s;
}

.maps-poi-wrapper .img-wrapper a img:hover{
    transform: scale(1.2); 
}

.maps-poi-wrapper .poi{
    max-width: 780px;
    margin: 0 auto;
}

.maps-poi-wrapper .poi-wrapper{
    list-style-type: none;
    padding: 0 20px;
    margin: 20px 0;
}

.maps-poi-wrapper .poi-wrapper a{
    display: inline-block;
    width: 100%;
    background: #D59536;
    color: #fff;
    transition: ease-in .3s;
    padding: 8px 25px;
    font-weight: 400;
}

.maps-poi-wrapper .poi-wrapper a i{
    font-size: 2.5rem;
    margin-right: 15px;
}

.maps-poi-wrapper .poi-wrapper a:hover{
    background: #930D1A;
}


/*------------------------------------*\x
  Itineraries
\*------------------------------------*/

.itinerary-image-container {
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    min-height: 275px;
    max-height: 500px;
    height: auto;
    width: 100%;
}

.itinerary-image-container.no-image {
    background-color: #930D1A;
}

.itinerary-wrapper .container {
    padding: 0;
}

.itinerary-container {
    padding: 20px;
    border-bottom: 1px solid #D59536;
}

.itinerary-wrapper .itinerary-container:last-child {
    border-bottom: none;
}

.itinerary-container h3 {
    font-size: 2rem;
    margin: 0;
}

.post-type-nav {
    background: #930D1A;
}

.post-type-nav ul {
    display: none;
    flex-direction: row;
    justify-content: space-around;
    list-style-type: none;
    color: white;
    padding: 0;
}

.post-type-nav ul li {
    font-family: 'Bodoni';
    padding: 30px 0 23px 0;
}

.post-type-nav .select-container {
    display: block;
}

.select-container select {
    width: 100%;
    height: 40px;
}

.itinerary-term {
    border-bottom: 7px solid transparent;
    transition: .3s ease;
}

.itinerary-term.active-term {
    border-bottom: 7px solid #D59536;
}

.itinerary-term.active-term a {
    color: #D59536;
}

.itinerary-term.ui-tabs-active {
    border-bottom: 7px solid #D59536;
}

.itinerary-term.ui-tabs-active a {
    color: #D59536;
}

.itinerary-term:hover {
    border-bottom: 7px solid #D59536;
    transition: .3s ease;
}

.itinerary-term a {
    color: white;
    transition: .3s ease;
}

.itinerary-term:hover a {
    color: #D59536;
    transition: .3s ease;
}

.itinerary-container .content>p:nth-child(1) {
    margin: 0;
}

.itinerary-details h3 {
    font-size: 2rem;
}


/*------------------------------------*\
    IMAGES
\*------------------------------------*/


/*------------------------------------*\
    TRIBE EVENTS
\*------------------------------------*/

.events-section-wrapper {
    margin-bottom: 2rem !important;
}

.tribe-common .tribe-common-l-container {
    max-width: 1400px !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    padding: 0 2rem !important;
    margin: 5rem auto !important;
}

.tribe-common-l-container h1 {
    padding: 1rem 0 !important;
}

.tribe-events-community-footer p {
    font-size: 24px;
}

.events-button-container {
    text-align: center;
}

#tribe-events-bar {
    background: #930D1A;
    color: white;
    padding: 20px;
}

#tribe-events-bar #tribe-bar-form {
    background: #930D1A;
}

#tribe-bar-form input[type=text] {
    color: white;
}

#tribe-bar-form .tribe-bar-submit input[type=submit] {
    background: white;
    color: #930D1A;
    transition: .3s ease;
    border: 1px solid #fff;
}

#tribe-bar-form .tribe-bar-submit:hover input[type=submit] {
    background: #930D1A;
    color: white;
    transition: .3s ease;
}

#tribe-bar-form .tribe-bar-views-inner {
    background: #930D1A;
    color: white;
}

#tribe-bar-form #tribe-bar-views-toggle {
    background: transparent;
    color: white;
}

#tribe-bar-form #tribe-bar-views-toggle span.tribe-icon-list {
    background-image: url('./img/icon-list.png');
}

.single-tribe_events .tribe-events-event-meta {
    background: #930D1A !important;
    color: white !important;
    padding: 40px 20px !important;
    display: block !important;
}

.tribe-events-gcal,
.tribe-events-ical {
    background-color: #930d1a !important;
    color: #fff !important;
    padding: 1rem 2rem !important;
}

.single-tribe_events .tribe-events-venue-map {
    background: #eee;
    border: 1px solid #ddd;
    border-radius: 3px;
    display: inline-block;
    float: right;
    margin: 0 auto;
    padding: 5px;
    vertical-align: top;
    width: 100%;
    zoom: 1;
}

.tribe-events-venue-map>div,
.tribe-events-venue-map>iframe {
    max-height: 100% !important;
}

.tribe-events-meta-group .tribe-events-single-section-title {
    color: white;
    font-family: 'Montserrat';
    font-size: 3.2rem;
    margin: 0 0 30px 0;
}

.single-tribe_events #tribe-events-content .tribe-events-event-meta dt {
    font-family: 'Montserrat' !important;
    font-size: 1.6rem !important;
    margin: 5px 0 !important;
    clear: left;
    font-weight: 700 !important;
    line-height: 1;
    list-style: none;
}

.tribe-events-event-meta .column,
.tribe-events-event-meta .tribe-events-meta-group {
    box-sizing: border-box;
    display: inline-block;
    float: left;
    margin: 0 0 20px;
    padding: 0 4%;
    text-align: left;
    vertical-align: top;
    zoom: 1;
}

.tribe-events-meta-group {
    width: 100% !important;
}

.single-tribe_events .tribe-events-event-meta {
    font-size: 14px !important;
}

.tribe-events-event-meta a {
    color: #fff !important;
    font-weight: 500 !important;
    transition: .3s ease;
}

.tribe-events-event-meta a:hover {
    color: #D59536 !important;
    transition: .3s ease;
}

.tribe-events-event-meta dd,
.tribe-events-event-meta dt {
    font-weight: 500 !important;
}

.tribe-events-event-meta:before,
.tribe-events-event-meta~div:not(.tribe-events-event-meta):not(.event-tickets) {
    border-top: none !important;
}

.single-event-container {
    margin: 20px 0 !important;
    padding: 50px 0 !important;
    border-bottom: 1px solid #D59536 !important;
}

.tribe-events-calendar-list .single-event-container:last-child {
    border-bottom: none !important;
}

.single-event-container .content {
    padding-bottom: 20px !important;
}

.single-event-date,
.single-event-cat {
    font-weight: 600 !important;
    color: #5E060E !important;
}

.single-event-cat {
    margin: 2px 0 !important;
}

.list-event-title {
    margin: .83em 0 !important
}

.list-event-title a {
    color: #5E060E !important;
    font-size: 3.2rem !important;
}

.single-event-featured-image,
.single-event-image {
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 100%;
    min-height: 400px;
    position: relative;
}

.single-event-featured-image i {
    position: absolute;
    --fa-primary-color: #D59536;
    --fa-secondary-color: #D59536;
    right: 20px;
    top: 20px;
    font-size: 4rem;
}

.event-block {
    background-position: center;
    background-size: cover;
    /* height: 100%; */
    position: relative;
    min-height: 450px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    color: white;
    padding: 20px 30px;
    background-color: var(--red);
}

.event-block:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
}

.event-block h3 {
    z-index: 2;
    color: white;
    font-size: 3.2rem;
    text-align: left;
}

.event-block * {
    z-index: 2;
}

.ticket-cost {
    font-weight: 600 !important;
    color: #930D1A !important;
}

.event-date {
    position: absolute;
    right: 30px;
    top: 30px;
}

.event-content {
    max-width: 500px;
    width: 100%;
    margin-right: auto;
}

.event-block-alternate {
    background-position: center;
    background-size: cover;
    height: 100%;
    position: relative;
    min-height: 450px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    color: white;
}

.event-block-alternate h3 {
    z-index: 2;
    color: white;
    font-size: 2.3rem;
    text-align: left;
}

.event-content-alternate {
    width: 100%;
    padding: 15px;
    position: relative;
}

.event-content-alternate>.columns>.column {
    z-index: 2;
}

.event-content-alternate:before {
    content: '';
    position: absolute;
    ;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .5);
}

.event-date-alternate.month {
    margin: 0;
    font-size: 2.5rem;
    font-weight: 600;
    font-family: 'Montserrat';
}

.event-date-alternate.day {
    margin: 0;
    font-size: 3.5rem;
    font-weight: 600;
    font-family: 'Montserrat';
}

.no-image-event-container {
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    background-color: #930D1A;
    min-height: 250px;
    width: 100%;
}

#submit-form .tribe-community-events {
    background: none;
    border: none;
    font-family: 'Montserrat';
}

#submit-form .tribe-community-events .tribe-section .tribe-section-header h3 {
    font-family: 'Montserrat';
}

#submit-form .tribe-community-events .dashicons-trash {
    color: white;
}

#submit-form .tribe-community-events {
    padding: 0;
}

#submit-form .my-events-header h2.my-events {
    font-size: 3rem;
    color: #930D1A;
}

#submit-form .event-image-uploader-details {
    margin-left: 32px;
    font-size: 1.8rem;
}

#submit-form #post.events-community-submit {
    background: #930D1A;
    color: white;
    border: 2px solid #930D1A;
    border-radius: 20px;
    width: auto;
    padding: 15px 20px;
    font-family: 'Bodoni';
    text-transform: none;
    font-size: 1.5rem;
    transition: .3s ease;
}

#submit-form #post.events-community-submit:hover {
    border: 2px solid #930D1A;
    background: #fff;
    color: #930D1A;
    transition: .3s ease;
}

#submit-form .tribe-community-events .tribe-section {
    border: none;
    padding: 20px;
    border-radius: 0;
}

#submit-form .tribe-community-events .tribe-section .tribe-section-header {
    border: none;
}

#submit-form .tribe-section-datetime,
#submit-form .tribe-section-image-uploader {
    background: #930D1A;
    margin: 0;
    min-height: 400px;
    color: white;
}

#submit-form .tribe-section-datetime{
    min-height: auto;
}

.tribe-community-events .tribe-section.tribe-section-image-uploader .tribe-section-header label{
    color: #fff !important;
}


#submit-form .tribe-section-datetime table {
    color: white;
}

#submit-form .tribe-community-events .tribe-event-recurrence-description {
    color: white;
}

#submit-form .tribe-community-events .tribe-field-inline-text {
    color: white;
}

#submit-form .tribe-event-recurrence.tribe-event-recurrence-rule.recurrence-new-rule.tribe-open,
#submit-form .tribe-event-recurrence.tribe-event-recurrence-rule.recurrence-new-rule,
#submit-form .tribe-event-exclusion.tribe-event-recurrence-exclusion.exclusion-new-rule,
#submit-form .tribe-event-exclusion.tribe-event-recurrence-exclusion.exclusion-new-rule.tribe-open {
    background: #930D1A;
    color: white;
}

#submit-form .tribe-community-events .tribe-event-recurrence .tribe-handle,
#submit-form .tribe-community-events .tribe-event-exclusion .tribe-handle {
    color: white;
}

#submit-form .tribe-section-datetime h3,
#submit-form .tribe-section-image-uploader h3 {
    color: white;
}

#submit-form table.tribe-datetime-block label,
#submit-form table .tribe-datetime-separator {
    color: white !important;
}


/* #submit-form .tribe-datetime-block .tribe-section-content-row{
  display: flex;
  flex-direction: column;
}

#submit-form .tribe-datetime-block .tribe-section-content-row .tribe-section-content-field {
  display: flex;
  flex-direction: row;
} */

#submit-form .tribe-image-upload-area {
    min-height: 225px;
}

#submit-form .tribe-add-recurrence,
#submit-form .choose-file {
    background: #D59536;
    border-radius: 20px;
    transition: .3s ease;
}

#submit-form .tribe-add-recurrence:hover,
#submit-form .choose-file:hover {
    border: 1px solid #D59536;
    background: #fff;
    color: #D59536;
    transition: .3s ease;
}

#submit-form .tribe-add-post {
    background: #930D1A;
    border-radius: 20px;
    border: 1px solid #930D1A;
    transition: .3s ease;
}

#submit-form .tribe-add-post:hover {
    background: #fff;
    color: #930D1A;
    transition: .3s ease;
}

#submit-form #event_captcha {
    background: #fff;
    border: none;
}

#submit-form #event_captcha .tribe-community-event-info {
    display: none;
}

.ui-datepicker .ui-datepicker-title select.ui-datepicker-month,
.ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
    width: 49% !important;
}

#submit-form .tribe-community-events .tribe-community-notice p {
    font-size: 2rem;
}

#submit-form .tribe-community-events .events-community-post-content,
#submit-form .tribe-community-events .events-community-post-title {
    padding: 20px;
}

#submit-form .tribe-section-content label {
    font-size: 15px;
}

.tribe-common div.column {
    padding: .75rem;
}

.tribe-common section {
    margin: 75px 0;
}

.tribe-events-event-meta a {
    color: white;
    transition: .3s ease;
}

.tribe-events-event-meta a:hover {
    color: #D59536;
    transition: .3s ease;
}

.related-event {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    height: 100%;
    padding: 20px 0;
}

.related-event .content {
    width: 100%;
}

.related-event .event-details {
    padding: 10px;
}

.related-event p {
    margin: 0;
    color: white;
}

#tribe-events-footer:after,
#tribe-events-footer:before,
#tribe-events-header:after,
#tribe-events-header:before {
    display: none;
}


/*------------------------------------*\
  FORMS
\*------------------------------------*/

.form h2 {
    font-size: 5rem;
}

#form_newslettersignup .frm_fields_container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#frm_field_6_container {
    width: 100%;
    max-width: 500px;
    margin: 0;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.footer.new #frm_field_6_container {
    max-width: 100%;
}

#frm_field_6_container:before {
    content: '\f0e0';
    font-family: 'Font Awesome 5 Pro';
    position: relative;
    left: 0;
    font-size: 2.5rem;
    font-weight: 900;
    padding: 0 10px;
}

.footer.new #frm_field_6_container:before {
    content: '\f0e0';
    font-family: 'Font Awesome 5 Pro';
    position: relative;
    left: 0;
    font-size: 3rem;
    font-weight: 900;
    padding: 0 1.5rem 0 0;
}

#frm_field_6_container label {
    display: none;
}


/* #form_newslettersignup .frm_submit{
  background-color: #930D1A;
  border: 1px solid #fff;
  border-radius: 25px;
  padding: 5px 3px;
  display: inline-block;
} */

#form_newslettersignup .frm_button_submit {
    margin: 5px 10px 10px 10px;
    background-color: #930D1A;
    border: 1px solid #fff;
    border-radius: 20px;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 500;
    text-align: center;
    transition: .3s ease;
    padding: 5px 20px;
    font-family: 'Bodoni';
    width: 100px;
}

#form_newslettersignup .frm_button_submit:hover {
    background-color: #fff;
    color: #930D1A;
    transition: .3s ease;
}

.frm_style_formidable-style.with_frm_style .frm_primary_label {
    margin: 10px 0;
    font-family: 'Montserrat'
}

#email-modal form,
#text-modal form {
    display: flex;
    align-items: center;
    margin: 0 auto;
    max-width: 600px;
    width: 100%;
}

#email-modal form label,
#text-modal form label {
    width: 10%;
    height: 35px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

#email-modal form label i,
#text-modal form label i {
    font-size: 3rem;
}

#email-modal form input,
#text-modal form input {
    height: 35px;
    font-size: 1.5rem;
    font-family: 'montserrat';
}

#email-modal form .modal-email,
#text-modal form .modal-email {
    width: 65%;
    position: relative;
    border: 1px solid #fff;
}

#email-modal form .modal-submit,
#text-modal form .modal-submit {
    width: 25%;
    background: #fff;
    color: #930D1A;
    border: 1px solid #fff;
    transition: .3s ease;
}

#email-modal form .modal-submit:hover,
#text-modal form .modal-submit:hover {
    background: #930D1A;
    color: #fff;
    transition: .3s ease;
}

#reCAPTCHA-terms {
    font-size: 1.2rem;
    color: white;
    padding-top: 10px;
}

#reCAPTCHA-terms a {
    color: white;
    text-decoration: underline;
}


/*------------------------------------*\
    SEARCH
\*------------------------------------*/

.search-image {
    background-position: center;
    background-size: cover;
    height: 100%;
    width: 100%;
    min-height: 200px;
    position: relative;
}

.search-image::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .2);
}

.search-image.no-image {
    background-color: #930D1A;
    background-size: contain;
    background-repeat: no-repeat;
    min-height: 200px;
    position: relative;
}

.search-container {
    border-bottom: 1px solid #D59536;
    padding-bottom: 50px;
}

.search-block {
    padding: 0;
}

.search-block h2 a {
    color: #930D1A;
}

.search-type {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.result-type {
    position: absolute;
    right: 10px;
    top: 10px;
    font-size: 1.8rem;
    color: white;
    z-index: 2;
}

.result-type i {
    padding-right: 2px;
}

.frm_button_submit {
    transition: .4s ease !important;
}


/*------------------------------------*\
    ADDTOANY
\*------------------------------------*/

.addtoany_shortcode a {
    padding: 0 8px !important;
}


/*------------------------------------*\
    ACF GOOGLE MAP
\*------------------------------------*/

#home-map .container-large {
    height: auto;
}

.home-map .acf-map {
    min-height: 550px;
}

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


/* Fixes potential theme css conflict. */

.acf-map img,
{
    max-width: inherit !important;
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    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%;
}

.weddings-and-special-events .hero {
    background-position: top left;
}

.weddings-and-special-events .hero:before {
    display: none;
}

.weddings-and-special-events h1,
.wedding-category-content h1,
.single-wedding-special-content h1 {
    text-align: center;
    font-family: suave-script-pro, sans-serif;
    font-style: normal;
    font-size: 8rem;
    font-weight: 400 !important;
}

.mgt-50 {
    margin-top: 50px !important
}

.mgb-50 {
    margin-bottom: 50px !important;
}

.weddings-and-special-events .content-box {
    text-align: center;
}

.weddings-and-special-events .content-box h2 {
    color: #000000;
    font-family: 'Helvetica';
    font-weight: 600 !important;
    font-size: 2rem;
}

.weddings-and-special-events .content-box a {
    color: #930D1A;
    font-size: 3.5rem;
    font-family: 'Helvetica';
    font-weight: 600 !important;
    transition: 0.3s ease;
}

.weddings-and-special-events .content-box a:hover {
    color: black;
}

.weddings-and-special-events .ideas-section {
    background-color: #F7F7F7;
    padding-top: 30px;
}

.weddings-and-special-events .ideas-section h2 {
    text-align: center;
    margin-bottom: 25px;
    font-family: 'Helvetica';
    font-weight: 600 !important;
    font-size: 3.5rem;
}

.weddings-and-special-events .ideas-section img {
    width: 100%;
}

.weddings-and-special-events .ideas-section p {
    color: #930D1A;
    font-weight: 600;
}

.wedding-ideas-additional {
    margin-top: 100px;
}

.wedding-ideas-additional .additional-content {
    text-align: center;
}

.wedding-ideas-additional .additional-content h2 {
    font-family: 'Helvetica';
    font-weight: 600 !important;
    font-size: 3.5rem;
    margin-bottom: 35px;
}

.wedding-ideas-additional .additional-content p {
    margin-bottom: 0px;
    font-family: 'Helvetica';
    font-weight: 600 !important;
    color: #930D1A;
    margin-top: 0px;
    font-size: 2.5rem;
}

.wedding-ideas-additional .additional-content p a {
    font-size: 2.5rem;
    color: #930D1A;
    transition: 0.3s ease;
}

.wedding-ideas-additional .additional-content p a:hover {
    color: black;
}

.wedding-ideas-additional .image-box {}

.wedding-ideas-additional .image-box a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    overflow: hidden;
}

.wedding-ideas-additional .image-box .hidden-box {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 15px;
    transition: 0.3s ease;
    transform: scale(1.0);
}

.wedding-ideas-additional .image-box img {
    transition: 0.3s ease;
    transform: scale(1.0);
}

.wedding-ideas-additional .image-box a:hover img {
    transform: scale(1.1);
}

.wedding-ideas-additional .image-box a:hover .hidden-box {
    transform: scale(1.1);
}

.wedding-ideas-additional .image-box .hidden-box div {
    background-color: rgba(0, 0, 0, 0.33);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 2px;
    color: white;
    font-family: 'Bodoni';
    font-size: 2rem;
    font-weight: 400;
    padding: 0px 15px;
}

.category-tax-event-list .image-box {
    overflow: hidden;
    margin-bottom: 15px;
}

.category-tax-event-list .image-box a img {
    transition: 0.3s ease;
    transform: scale(1.0);
    width: 100%;
}

.category-tax-event-list .image-box a:hover img {
    transform: scale(1.1);
}

.category-tax-event-list .category-title-box h2 {
    margin: 0px;
    border-top: 6px solid #D59536;
    font-size: 20px;
    color: #930D1A;
    padding-top: 10px;
}

.category-tax-event-list .category-title-box h2 a {
    color: #930D1A;
    transition: 0.3s ease;
    font-family: 'Montserrat';
}

.category-tax-event-list .category-title-box h2 a:hover {
    color: #D59536;
}

.category-tax-event-list .column {
    margin-bottom: 25px;
}

.single-wedding-special-content .contact-info-box {
    background-color: #930D1A;
    border: 1px solid #707070;
}

.single-wedding-special-content .google-maps-box {
    height:500px;
    margin-bottom: 20px;
}

.single-wedding-special-content  .contact-info-box {
padding: 25px;
}
.single-wedding-special-content  .contact-info-box ul {
    padding: 0px;
    list-style:none;
}

.single-wedding-special-content  .contact-info-box ul li,
.single-wedding-special-content  .contact-info-box ul li a {
    color:white;
    transition: 0.3s ease;
}

.single-wedding-special-content  .contact-info-box ul li {
    margin-bottom:15px;
}
.single-wedding-special-content  .contact-info-box ul li a {
    display:flex;
}

.single-wedding-special-content  .contact-info-box ul li i {
    top:5px;
}
.single-wedding-special-content  .contact-info-box ul li a i {
    top: 0px;
}
.single-wedding-special-content  .contact-info-box ul li i {
 font-size:30px;margin-right:20px;
 position: relative;

}

.single-wedding-special-content  .contact-info-box ul li a:hover{
    color:#D59536;
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:320px) {
    .weddings-and-special-events h1 {
        font-size: 5rem;
    }
    .wedding-ideas-additional .image-box img {
        width: 100%;
    }
}

@media only screen and (min-width:480px) {
    .block h3 {
        font-size: 4rem;
    }
    #form_newslettersignup .frm_fields_container {
        flex-direction: row;
    }
    .home-nav-container .logo-img {
        height: 150px;
    }
    #nav-hero {
        min-height: 600px;
    }
}

@media only screen and (min-width:769px) {
    h1 {
        font-size: 5rem;
    }
    .events-button-container {
        text-align: right;
    }
    .home-nav-container .logo-img {
        height: 200px;
    }
    .mobile {
        display: none;
    }
    .hide-mobile {
        display: block;
    }
    .block {
        min-height: 450px;
    }
    .slide-content {
        min-height: 600px;
    }
    .history-slider {
        height: 40vw;
    }
    .history-slider .slick-list,
    .history-slider .slick-track {
        height: 100% !important;
    }
    .history-year p {
        height: 0;
        transform: rotateZ(-90deg);
    }
    .history-slider-navigation {
        position: absolute;
        bottom: -40px;
        right: 10%;
        left: unset;
    }
    .plastic-container {
        margin: 0 20px;
    }
    .map-key-container {
        column-count: 2
    }
    .map-key-container li {
        max-width: 450px;
    }
    .post-type-nav ul {
        display: flex;
    }
    .post-type-nav .select-container {
        display: none;
    }
    .search-block {
        padding: 0 20px;
    }
    #about-third-section .about-image {
        height: 100%;
    }
    #home-events h2 {
        font-size: 9rem;
    }
    .event-button-wrapper {
        text-align: right;
    }
    #walking-tours-schedule h2 {
        text-align: left;
    }
    .sign-up-container {
        text-align: right;
    }
    .book-here-container {
        text-align: right;
        margin-top: 0px;
    }
    .weddings-and-special-events h1 {
        font-size: 8rem;
    }

    .engage-block h4 {
        max-width: 300px;
    }



      /* .timeline-slider {
        padding: 50px;
    } */

    .timeline-slider-nav i {
        font-size: 5rem;
    }
}

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

@media only screen and (min-width:1024px) {
    .menu {
        display: flex;
        flex-direction: column;
        align-items: inherit;
    }
    .tablet {
        display: none;
    }
    .hide-tablet {
        display: block;
    }
    .logo {
        text-align: center;
    }
    .footer .hours {
        text-align: left;
    }
    .home-about {
        padding: 100px 0;
    }
    .social-media-container {
        text-align: right;
    }
    .plastic-wrapper {
        margin-bottom: 200px !important;
    }
    .plastic-container {
        max-height: 400px;
    }
    .reversed-column {
        flex-direction: row;
    }
    .home-nav-container {
        border-top: none;
    }
    .footer-nav,
    .footer-quick-links {
        display: block;
    }
   
    #visitor-information {
        margin-top: 15rem;
    }
    .visitor-content {
        max-width: 400px;
    }
    .visitor-image {
        margin: -75px auto 75px auto;
    }
    .visitor-information:after {
        display: block;
    }
    #about-second-section {
        margin: 0;
    }
    #about-third-section {
        margin: 0 0 75px 0;
    }
    #town-history .content {
        column-count: 2;
    }
    .parking-information h3 {
        margin: 0 0 15px 0;
    }
    /* .guide-map-container {
    flex-direction: row;
  } */
    .resource-content-container .content {
        border-right: 3px solid #930D1A;
        padding-right: 20px;
    }
    .resource-no-image-container {
        background-size: contain;
    }
    .resource-detail {
        max-width: 250px;
    }
    .resource-image-container {
        min-height: 100%;
    }
    .featured-hero-content {
        left: 5%;
        bottom: 10%;
    }
    .query-button {
        text-align: right;
    }

    .resource-wrapper .resource-container {
        border-right: 1px solid var(--red);
        border-bottom: none;
    }

    .resource-block {
        padding: 0 2rem;
    }

    .maps-poi-wrapper h2{
        padding-left: 20px;
    }
}

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

@media only screen and (min-width:1250px) {
    #about-first-section:before {
        display: block;
    }
    #about-first-section .column.is-8-desktop.is-12-tablet.is-12-mobile,
    #about-third-section .column.is-8-desktop.is-6-tablet.is-12-mobile.p0 {
        width: 66.66667%;
    }
    #about-first-section .column.is-4-desktop.is-12-tablet.is-12-mobile.about-content-container,
    #about-third-section .column.is-4-desktop.is-6-tablet.is-12-mobile.about-content-container {
        width: 33.33333%;
    }
    .about-image-one {
        min-height: 650px;
    }
    .about-content-container .content {
        max-width: 500px;
        padding: 30px 10px;
    }
    .about-content-container:before {
        display: block;
    }
    .map-key-container {
        column-count: 3;
    }
}

@media only screen and (min-width: 1400px) {
    .map-icon-wrapper {
        flex-wrap: nowrap;
    }
}


/*------------------------------------*\
    SUPPORTS
\*------------------------------------*/


/* ie edge only gets the following rule */

@supports (object-fit: cover) and (-ms-ime-align:auto) {
    #nav-hero video {
        height: auto;
    }
}

@media screen and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) {
    /* IE10+ specific styles go here */
    #nav-hero video {
        height: auto;
        width: auto;
    }
}


/*------------------------------------*\
    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 {}


/*------------------------------------*\
    FONT-FACE
\*------------------------------------*/

@font-face {
    font-family: 'Bodoni';
    src: url("fonts/Bodoni-72-Book.ttf") format("truetype");
    src: url("fonts/Bodoni-72-Book.otf") format("opentype");
}

@font-face {
    font-size: 'Helvetica Light';
    src: url("fonts/Helvetica.ttc") format("truetype");
}


/*------------------------------------*\
    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;
    }
}
