@charset "UTF-8";
/* Styles  ------------------------------------------------------------------------------------ */
@import url("https://use.typekit.net/bgl2rdc.css");
/* Partials  ------------------------------------------------------------------------------------ */
/* Icons ------------------------------------------------------------------------------------ */
h3.check.icon:before, a.check.button.icon:before, .drop_menu a.check.toggle_button:before, h3.close.icon:before, a.close.button.icon:before, .drop_menu a.close.toggle_button:before, a.button.icon:after, .drop_menu a.toggle_button:after, #sb_toggle:after, h3.contact.icon:before, a.contact.button.icon:before, .drop_menu a.contact.toggle_button:before, h3.doc.icon:before, a.doc.button.icon:before, .drop_menu a.doc.toggle_button:before, h3.down.icon:before, a.down.button.icon:before, .drop_menu a.toggle_button:before, select:before, h3.email.icon:before, a.email.button.icon:before, .drop_menu a.email.toggle_button:before, #contact .contact-info > a.email:before,
#contact .contact-info > div.email:before, h3.grid.icon:before, a.grid.button.icon:before, .drop_menu a.grid.toggle_button:before, h3.home.icon:before, a.home.button.icon:before, .drop_menu a.home.toggle_button:before, h3.list.icon:before, a.list.button.icon:before, .drop_menu a.list.toggle_button:before, h3.location.icon:before, a.location.button.icon:before, .drop_menu a.location.toggle_button:before, #contact .contact-info > a.address:before,
#contact .contact-info > div.address:before, h3.menu.icon:before, a.menu.button.icon:before, .drop_menu a.menu.toggle_button:before, h3.minus.icon:before, a.minus.button.icon:before, .drop_menu a.minus.toggle_button:before, h3.news.icon:before, a.news.button.icon:before, .drop_menu a.news.toggle_button:before, h3.next.icon:before, a.next.button.icon:before, .drop_menu a.next.toggle_button:before, .owl-next:after, h3.phone.icon:before, a.phone.button.icon:before, .drop_menu a.phone.toggle_button:before, #contact .contact-info > a.phone:before,
#contact .contact-info > div.phone:before, h3.play.icon:before, a.play.button.icon:before, .drop_menu a.play.toggle_button:before, h3.plus.icon:before, a.plus.button.icon:before, .drop_menu a.plus.toggle_button:before, h3.prev.icon:before, a.prev.button.icon:before, .drop_menu a.prev.toggle_button:before, .owl-prev:after, h3.quote.icon:before, a.quote.button.icon:before, .drop_menu a.quote.toggle_button:before, h3.search.icon:before, a.search.button.icon:before, .drop_menu a.search.toggle_button:before, .wp-block-image a:after, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a:after, .wp-block-media-text figure.wp-block-media-text__media a:after, h3.settings.icon:before, a.settings.button.icon:before, .drop_menu a.settings.toggle_button:before, h3.shop.icon:before, a.shop.button.icon:before, .drop_menu a.shop.toggle_button:before, #sb_toggle:before, h3.up.icon:before, a.up.button.icon:before, .drop_menu a.up.toggle_button:before, h3.user.icon:before, a.user.button.icon:before, .drop_menu a.user.toggle_button:before {
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%; }

h3.check.icon:before, a.check.button.icon:before, .drop_menu a.check.toggle_button:before {
  -webkit-mask-image: url(../links/icons/check.svg);
  mask-image: url(../links/icons/check.svg); }

h3.close.icon:before, a.close.button.icon:before, .drop_menu a.close.toggle_button:before, a.button.icon:after, .drop_menu a.toggle_button:after, #sb_toggle:after {
  -webkit-mask-image: url(../links/icons/close.svg);
  mask-image: url(../links/icons/close.svg); }

h3.contact.icon:before, a.contact.button.icon:before, .drop_menu a.contact.toggle_button:before {
  -webkit-mask-image: url(../links/icons/contact.svg);
  mask-image: url(../links/icons/contact.svg); }

h3.doc.icon:before, a.doc.button.icon:before, .drop_menu a.doc.toggle_button:before {
  -webkit-mask-image: url(../links/icons/doc.svg);
  mask-image: url(../links/icons/doc.svg); }

h3.down.icon:before, a.down.button.icon:before, .drop_menu a.toggle_button:before, select:before {
  -webkit-mask-image: url(../links/icons/down.svg);
  mask-image: url(../links/icons/down.svg); }

h3.email.icon:before, a.email.button.icon:before, .drop_menu a.email.toggle_button:before, #contact .contact-info > a.email:before,
#contact .contact-info > div.email:before {
  -webkit-mask-image: url(../links/icons/email.svg);
  mask-image: url(../links/icons/email.svg); }

h3.grid.icon:before, a.grid.button.icon:before, .drop_menu a.grid.toggle_button:before {
  -webkit-mask-image: url(../links/icons/grid.svg);
  mask-image: url(../links/icons/grid.svg); }

h3.home.icon:before, a.home.button.icon:before, .drop_menu a.home.toggle_button:before {
  -webkit-mask-image: url(../links/icons/home.svg);
  mask-image: url(../links/icons/home.svg); }

h3.list.icon:before, a.list.button.icon:before, .drop_menu a.list.toggle_button:before {
  -webkit-mask-image: url(../links/icons/list.svg);
  mask-image: url(../links/icons/list.svg); }

h3.location.icon:before, a.location.button.icon:before, .drop_menu a.location.toggle_button:before, #contact .contact-info > a.address:before,
#contact .contact-info > div.address:before {
  -webkit-mask-image: url(../links/icons/location.svg);
  mask-image: url(../links/icons/location.svg); }

h3.menu.icon:before, a.menu.button.icon:before, .drop_menu a.menu.toggle_button:before {
  -webkit-mask-image: url(../links/icons/menu.svg);
  mask-image: url(../links/icons/menu.svg); }

h3.minus.icon:before, a.minus.button.icon:before, .drop_menu a.minus.toggle_button:before {
  -webkit-mask-image: url(../links/icons/minus.svg);
  mask-image: url(../links/icons/minus.svg); }

h3.news.icon:before, a.news.button.icon:before, .drop_menu a.news.toggle_button:before {
  -webkit-mask-image: url(../links/icons/news.svg);
  mask-image: url(../links/icons/news.svg); }

h3.next.icon:before, a.next.button.icon:before, .drop_menu a.next.toggle_button:before, .owl-next:after {
  -webkit-mask-image: url(../links/icons/next.svg);
  mask-image: url(../links/icons/next.svg); }

h3.phone.icon:before, a.phone.button.icon:before, .drop_menu a.phone.toggle_button:before, #contact .contact-info > a.phone:before,
#contact .contact-info > div.phone:before {
  -webkit-mask-image: url(../links/icons/phone.svg);
  mask-image: url(../links/icons/phone.svg); }

h3.play.icon:before, a.play.button.icon:before, .drop_menu a.play.toggle_button:before {
  -webkit-mask-image: url(../links/icons/play.svg);
  mask-image: url(../links/icons/play.svg); }

h3.plus.icon:before, a.plus.button.icon:before, .drop_menu a.plus.toggle_button:before {
  -webkit-mask-image: url(../links/icons/plus.svg);
  mask-image: url(../links/icons/plus.svg); }

h3.prev.icon:before, a.prev.button.icon:before, .drop_menu a.prev.toggle_button:before, .owl-prev:after {
  -webkit-mask-image: url(../links/icons/prev.svg);
  mask-image: url(../links/icons/prev.svg); }

h3.quote.icon:before, a.quote.button.icon:before, .drop_menu a.quote.toggle_button:before {
  -webkit-mask-image: url(../links/icons/quote.svg);
  mask-image: url(../links/icons/quote.svg); }

h3.search.icon:before, a.search.button.icon:before, .drop_menu a.search.toggle_button:before, .wp-block-image a:after, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a:after, .wp-block-media-text figure.wp-block-media-text__media a:after {
  -webkit-mask-image: url(../links/icons/search.svg);
  mask-image: url(../links/icons/search.svg); }

h3.settings.icon:before, a.settings.button.icon:before, .drop_menu a.settings.toggle_button:before, h3.shop.icon:before, a.shop.button.icon:before, .drop_menu a.shop.toggle_button:before, #sb_toggle:before {
  -webkit-mask-image: url(../links/icons/settings.svg);
  mask-image: url(../links/icons/settings.svg); }

h3.up.icon:before, a.up.button.icon:before, .drop_menu a.up.toggle_button:before {
  -webkit-mask-image: url(../links/icons/up.svg);
  mask-image: url(../links/icons/up.svg); }

h3.user.icon:before, a.user.button.icon:before, .drop_menu a.user.toggle_button:before {
  -webkit-mask-image: url(../links/icons/user.svg);
  mask-image: url(../links/icons/user.svg); }

h3.icon:before, a.button.icon:before, .drop_menu a.toggle_button:before {
  background-color: #111; }

/* Text ------------------------------------------------------------------------------------ */
h1, h2, h3, figure.wp-block-pullquote.is-style-solid-color blockquote p, #top .post_title, .banner_container section.content .banner_title, .banner_container section.content .banner_headline {
  font-family: "essonnes-text", serif;
  font-weight: 700; }

h1, h2, h3 {
  color: #04385d;
  line-height: 1.25em; }

h1 {
  font-size: 2em; }

h2 {
  font-size: 1.75em; }

h3 {
  font-size: 1.5em; }

h4, h5, h6 {
  font-size: 1.2em;
  font-weight: 500; }

h3.icon {
  font-size: 1.5em;
  line-height: 2em; }
  h3.icon:before {
    content: '';
    display: inline-block;
    vertical-align: bottom;
    margin: .25em;
    width: 1.5em;
    height: 1.5em;
    background-color: #fff; }

.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6 {
  color: #fff; }

/* Images ------------------------------------------------------------------------------------ */
.wp-block-image img, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure img, .wp-block-media-text figure.wp-block-media-text__media img {
  display: block;
  position: relative;
  width: auto;
  max-width: 100%;
  height: auto;
  border-radius: 1rem !important;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); }

.wp-block-image a, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a, .wp-block-media-text figure.wp-block-media-text__media a {
  display: block;
  position: relative; }
  .wp-block-image a:before, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a:before, .wp-block-media-text figure.wp-block-media-text__media a:before {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(4, 56, 93, 0.8);
    border-radius: 1rem;
    opacity: 0;
    visibility: hidden; }
  .wp-block-image a:after, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a:after, .wp-block-media-text figure.wp-block-media-text__media a:after {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: 2.4em;
    height: 2.4em;
    background-color: #fff;
    transform: translateX(-50%) translateY(-50%); }
  @media all and (min-device-width: 1025px) {
    .wp-block-image a:before, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a:before, .wp-block-media-text figure.wp-block-media-text__media a:before, .wp-block-image a:after, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a:after, .wp-block-media-text figure.wp-block-media-text__media a:after {
      content: '';
      opacity: 0;
      visibility: hidden; }
    .wp-block-image a:hover:before, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a:hover:before, .wp-block-media-text figure.wp-block-media-text__media a:hover:before, .wp-block-image a:hover:after, .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure a:hover:after, .wp-block-media-text figure.wp-block-media-text__media a:hover:after {
      opacity: 1;
      visibility: visible; } }

.wp-block-image figcaption, figure.wp-block-embed figcaption {
  margin: .75rem 0;
  color: #111;
  font-size: .8em;
  font-weight: 500;
  line-height: 1.5em;
  text-align: center; }

/* Formatting ------------------------------------------------------------------------------------ */
hr.wp-block-separator, hr {
  display: block;
  max-width: 240px;
  height: 2px;
  margin: 2em auto;
  background-color: #d4b157;
  border: none;
  outline: none;
  appearance: none;
  clear: both; }

/* Buttons  ------------------------------------------------------------------------------------ */
a.wp-block-button__link, a.button, .drop_menu a.toggle_button {
  display: inline-block;
  vertical-align: bottom;
  padding: .2em 1.6em;
  font-size: 1em;
  line-height: 2em;
  font-weight: 500;
  color: #03253e !important;
  text-decoration: none;
  background-color: #d4b157;
  border-radius: 2.4em; }
  @media screen and (min-device-width: 1025px) {
    a.wp-block-button__link:hover, a.button:hover, .drop_menu a.toggle_button:hover {
      background-color: #b19d58; } }

a.button.icon, .drop_menu a.toggle_button {
  position: relative;
  padding-left: 2.6em; }
  a.button.icon:before, .drop_menu a.toggle_button:before, a.button.icon:after, .drop_menu a.toggle_button:after {
    content: '';
    position: absolute;
    top: 50%;
    left: .75em;
    margin-top: -.75em;
    width: 1.5em;
    height: 1.5em;
    background-color: #04385d; }
  a.button.icon:before, .drop_menu a.toggle_button:before {
    display: block; }
  a.button.icon:after, .drop_menu a.toggle_button:after {
    display: none; }

@keyframes pulse {
  0% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0; }
  10% {
    opacity: 1; }
  100% {
    opacity: 0;
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem; } }
/* Social buttons  ------------------------------------------------------------------------------------ */
a.social_button {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  font-size: 40px;
  height: 1em;
  padding-left: 1em;
  border-radius: 1em; }
  a.social_button span {
    display: none;
    color: #04385d;
    font-weight: 500; }
  a.social_button svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    fill: #04385d; }
  @media all and (min-device-width: 1025px) {
    a.social_button:hover {
      background-color: #04385d; }
      a.social_button:hover svg {
        fill: #fff; } }

/* Colors  ------------------------------------------------------------------------------------ */
.has-black-color {
  color: #000; }

.has-black-background-color {
  background-color: #000; }

.has-dark-color {
  color: #111; }

.has-dark-background-color {
  background-color: #111; }

.has-primary-color {
  color: #04385d; }

.has-primary-background-color {
  background-color: #04385d; }

.has-accent-color {
  color: #d4b157; }

.has-accent-background-color {
  background-color: #d4b157; }

.has-light-color {
  color: #eee; }

.has-light-background-color {
  background-color: #eee; }

.has-white-color {
  color: #fff; }

.has-white-background-color {
  background-color: #fff; }

/* Text  ------------------------------------------------------------------------------------ */
h1.is-style-title, h2.is-style-title, h3.is-style-title, h4.is-style-title, h5.is-style-title, h6.is-style-title {
  color: #111;
  font-size: 2em;
  text-transform: uppercase; }
  h1.is-style-title:before, h1.is-style-title:after, h2.is-style-title:before, h2.is-style-title:after, h3.is-style-title:before, h3.is-style-title:after, h4.is-style-title:before, h4.is-style-title:after, h5.is-style-title:before, h5.is-style-title:after, h6.is-style-title:before, h6.is-style-title:after {
    content: "";
    display: inline-block;
    width: 4rem;
    height: 4px;
    margin: .25em .5em;
    background-color: #d4b157;
    border-radius: 2px;
    vertical-align: baseline; }

.has-large-font-size {
  font-size: 1.5em !important; }

/* Buttons  ------------------------------------------------------------------------------------ */
.wp-block-buttons {
  margin: 1.25rem 0 !important; }

.wp-block-button.is-style-small {
  font-size: .67em; }

/* Separator  ------------------------------------------------------------------------------------ */
/* Quote  ------------------------------------------------------------------------------------ */
blockquote.wp-block-quote {
  margin: 2rem 0;
  padding-left: 1em;
  border-left: solid 4px #d4b157; }
  blockquote.wp-block-quote p {
    font-size: 1rem;
    font-style: normal; }
  blockquote.wp-block-quote cite {
    font-size: .8rem;
    font-weight: 500; }
  blockquote.wp-block-quote.is-style-large {
    margin: 2em 0;
    padding-left: 1em;
    border-left: solid 4px #d4b157; }
    blockquote.wp-block-quote.is-style-large p {
      font-size: 1.25rem;
      font-style: normal; }
    blockquote.wp-block-quote.is-style-large cite {
      font-size: 1rem;
      font-weight: 500; }

/* Pullquote  ------------------------------------------------------------------------------------ */
figure.wp-block-pullquote {
  position: relative;
  font-size: 1em;
  margin: 4rem 0;
  padding: 0;
  border-top: solid 4px #d4b157;
  border-bottom: solid 4px #d4b157; }
  figure.wp-block-pullquote blockquote {
    max-width: 800px;
    margin: 1em auto;
    padding: 2em; }
    figure.wp-block-pullquote blockquote p {
      font-size: 1.25em;
      font-style: normal;
      margin: 1rem 0; }
    figure.wp-block-pullquote blockquote cite {
      font-size: .9rem;
      font-weight: 500;
      font-style: normal;
      text-transform: uppercase;
      margin: 1rem 0; }
  figure.wp-block-pullquote.is-style-solid-color {
    background-color: #222;
    border: none;
    border-radius: 1rem; }
    figure.wp-block-pullquote.is-style-solid-color.fullwidth {
      border-radius: 0; }
    figure.wp-block-pullquote.is-style-solid-color blockquote {
      padding: 5em 2em;
      color: #fff; }
      figure.wp-block-pullquote.is-style-solid-color blockquote p {
        font-size: 2em;
        line-height: 1.4em;
        margin: 1rem 0 !important; }
      figure.wp-block-pullquote.is-style-solid-color blockquote cite {
        font-size: 1em;
        font-weight: 500;
        margin: 1rem 0 !important; }
      figure.wp-block-pullquote.is-style-solid-color blockquote em {
        color: #d4b157; }

/* Columns/Groups  ------------------------------------------------------------------------------------ */
.wp-block-columns {
  margin: 1.5rem 0 !important; }
  .wp-block-columns .wp-block-column.has-background {
    border-radius: 1rem; }

.wp-block-group.has-background {
  padding: 2em 0; }
.wp-block-group.is-style-fullwidth {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important; }
  .wp-block-group.is-style-fullwidth:first-child {
    margin-top: -1em !important; }
  .wp-block-group.is-style-fullwidth:last-child {
    margin-bottom: -1em !important; }
.wp-block-group .wp-block-group__inner-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 1em; }

/* Verse  ------------------------------------------------------------------------------------ */
/* Image  ------------------------------------------------------------------------------------ */
.wp-block-image {
  margin-left: 0;
  margin-right: 0; }
  @media all and (min-width: 720px) {
    .wp-block-image figure.alignright,
    .wp-block-image figure.alignleft {
      max-width: 60%; } }
  @media all and (max-width: 720px) {
    .wp-block-image figure.alignright,
    .wp-block-image figure.alignleft {
      float: none !important;
      margin: 0 auto !important; } }
  .wp-block-image.is-style-none img {
    border: none;
    border-radius: none;
    box-shadow: none; }
  .wp-block-image.is-style-icon img {
    border: none;
    border-radius: none;
    box-shadow: none;
    max-width: 180px;
    height: auto; }

/* Gallery ------------------------------------------------------------------------------------ */
.wp-block-gallery {
  margin: 2rem 0;
  padding: 0; }
  .wp-block-gallery ul.blocks-gallery-grid {
    margin: 0;
    padding: 0; }
    .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item {
      margin: 0;
      padding: 0; }
      .wp-block-gallery ul.blocks-gallery-grid li.blocks-gallery-item figure figcaption {
        color: #fff !important; }

/* Media & Text ------------------------------------------------------------------------------------ */
.wp-block-media-text {
  margin: 2rem 0;
  padding: 0; }
  .wp-block-media-text .wp-block-media-text__content p {
    line-height: 1.2; }

/* Embed ------------------------------------------------------------------------------------ */
figure.wp-block-embed {
  margin: 2rem 0;
  padding: 0; }
  figure.wp-block-embed .wp-block-embed__wrapper {
    margin: 0;
    padding: 0;
    background-color: transparent; }
    figure.wp-block-embed .wp-block-embed__wrapper:before {
      padding-top: 0 !important; }
    figure.wp-block-embed .wp-block-embed__wrapper iframe {
      margin: 0;
      padding: 0;
      border: none;
      outline: none;
      box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); }
  figure.wp-block-embed.is-type-video .wp-block-embed__wrapper {
    position: relative;
    width: 100%;
    padding-top: 56%; }
    figure.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

/* Tables ------------------------------------------------------------------------------------ */
.wp-block-table {
  margin: 1rem 0;
  padding: 0; }
  .wp-block-table table {
    font-size: 1em;
    line-height: 1.4;
    border-collapse: collapse; }
  .wp-block-table table, .wp-block-table thead, .wp-block-table tbody, .wp-block-table th, .wp-block-table td {
    margin: 0;
    border: none; }
  .wp-block-table thead tr {
    vertical-align: bottom; }
    .wp-block-table thead tr th {
      padding: .8rem;
      color: #fff;
      font-weight: 500;
      text-align: left;
      background-color: #d4b157; }
      .wp-block-table thead tr th:nth-child(1) {
        border-top-left-radius: 0.4rem;
        border-bottom-left-radius: 0.4rem; }
      .wp-block-table thead tr th:nth-last-child(1) {
        border-top-right-radius: 0.4rem;
        border-bottom-right-radius: 0.4rem; }
  .wp-block-table tbody tr {
    vertical-align: top;
    border-bottom: solid 2px #ccc; }
    .wp-block-table tbody tr td {
      padding: .8rem; }
  .wp-block-table figcaption.wp-element-caption {
    margin: 0;
    padding: .8rem;
    font-size: .8em;
    opacity: .5; }

/* Body ------------------------------------------------------------------------------------ */
html {
  height: 100%; }

body {
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: #111; }

body.dark {
  background-color: #111; }

/* Copy ------------------------------------------------------------------------------------ */
html {
  font-size: 20px;
  line-height: 1.75; }

@media all and (max-width: 1025px) {
  html {
    font-size: 16px; } }
body, input, textarea {
  color: #111;
  font-family: "astoria-sans", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: subpixel-antialiased; }

.dark, .dark input, .dark textarea {
  color: #fff; }

strong {
  font-weight: 500; }

sub, sup {
  font-size: .5em;
  line-height: 0; }

sub {
  vertical-align: sub; }

sup {
  vertical-align: super; }

/* Margins */
p, ul, ol, h1, h2, h3, h4, h5, h6 {
  margin: 1rem 0; }

/* Links */
a {
  cursor: pointer;
  color: #111;
  text-decoration: underline; }

a:hover {
  color: #d4b157; }

.dark a {
  color: #fff; }

.dark a:hover {
  color: #d4b157; }

/* Buttons */
/* Lists */
ul, ol {
  padding-left: 1.5em; }

li ul, li ol {
  margin: 0 0 .25rem; }

/* Dividers */
hr.clearall {
  max-width: 100%;
  height: 0;
  margin: 0;
  background-color: transparent !important; }

/* Forms */
input {
  font-size: 1em; }

textarea {
  font-size: 1em;
  resize: none; }

/* Transitions */
a, a *, :before, :after, input, textarea {
  -webkit-backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  -webkit-transition: all 200ms;
  transition: all 200ms; }

/* Containers ------------------------------------------------------------------------------------ */
.container {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

.dark .container,
.container.dark {
  background-color: #222; }

.fullwidth {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important; }

section.content {
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
  padding: 1rem; }

.padding {
  padding: 1rem; }

/* Floating ------------------------------------------------------------------------------------ */
.half, .twothird, .third, .quarter, .threequarter {
  float: left;
  width: 100%; }

@media all and (min-width: 720px) {
  .half {
    width: 50%; }

  .twothird {
    width: 67%; }

  .third {
    width: 33%; }

  .quarter {
    width: 25%; }

  .threequarter {
    width: 75%; } }
.floatleft {
  float: left; }

.floatright {
  float: right; }

/* Grids & Columns ------------------------------------------------------------------------------------ */
@media screen and (min-width: 720px) {
  .halves {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1em; }

  .thirds {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 1em; }

  .quarters {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 1em; } }
/* Banners ------------------------------------------------------------------------------------ */
.banner_background,
.banner_blur {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.banner_blur {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px); }

/* Footer ------------------------------------------------------------------------------------ */
.copyright {
  position: relative;
  font-size: .75em; }
  .copyright a.poweredby {
    display: inline-block;
    position: relative;
    padding: 8px 36px 8px 12px;
    color: #111;
    line-height: 24px;
    font-weight: 400;
    text-decoration: none !important;
    border-radius: 6px;
    -webkit-transition: none;
    transition: none; }
    .copyright a.poweredby svg {
      display: block;
      position: absolute;
      top: 50%;
      right: 6px;
      width: 30px;
      height: 30px;
      margin-top: -15px; }
      .copyright a.poweredby svg .svgstroke {
        fill: none;
        stroke: #111;
        stroke-width: 1.5px;
        stroke-miterlimit: 10; }
    @media all and (min-device-width: 1025px) {
      .copyright a.poweredby:hover {
        color: #fff;
        background-color: #CE1F45; }
        .copyright a.poweredby:hover svg .svgstroke {
          stroke: #fff; } }
  @media all and (min-width: 720px) {
    .copyright p {
      padding-right: 180px; }
      .copyright p span:after {
        content: " •"; }
      .copyright p span:nth-last-child(1):after {
        content: ""; }
    .copyright a.poweredby {
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -18px; } }
  @media all and (max-width: 720px) {
    .copyright {
      text-align: center; }
      .copyright p span {
        display: block; }
      .copyright a.poweredby {
        margin: 8px auto; } }

.dark a.poweredby {
  color: #fff; }
  .dark a.poweredby svg .svgstroke {
    stroke: #fff; }

/* Dots  ------------------------------------------------------------------------------------ */
.owl-dots {
  display: none;
  position: absolute;
  bottom: .5em;
  left: 0;
  width: 100%;
  min-width: 100%;
  text-align: center; }
  @media all and (min-width: 720px) {
    .owl-dots {
      display: block; } }
  .owl-dots .owl-dot {
    display: inline-block;
    width: .5em;
    height: .5em;
    margin: .125em;
    border: solid 2px #fff;
    border-radius: 50%; }
  .owl-dots .owl-dot.active {
    background-color: #fff; }

/* Arrows  ------------------------------------------------------------------------------------ */
.owl-nav {
  display: none; }
  @media all and (min-device-width: 1025px) {
    .owl-nav {
      display: block; } }

.owl-prev,
.owl-next {
  display: block;
  position: absolute;
  z-index: 90;
  top: 50%;
  width: 40px;
  height: 80px;
  background-color: #d4b157;
  border-radius: 0.4rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
  transform: translateY(-50%); }
  .owl-prev:after,
  .owl-next:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: #111; }
  @media all and (min-device-width: 1025px) {
    .owl-prev:hover,
    .owl-next:hover {
      background-color: #b19d58; } }

.owl-prev {
  left: 10px; }

.owl-next {
  right: 10px; }

@media all and (min-width: 1025px) {
  .owl-prev {
    left: 0;
    opacity: 0; }

  .owl-carousel:hover .owl-prev {
    left: 10px;
    opacity: 1; }

  .owl-next {
    right: 0;
    opacity: 0; }

  .owl-carousel:hover .owl-next {
    right: 10px;
    opacity: 1; } }
/* Transitions  ------------------------------------------------------------------------------------ */
.owl-dots,
.owl-dot,
.owl-prev,
.owl-next {
  -webkit-transition: all 200ms;
  transition: all 200ms; }

/* Thumbnails ------------------------------------------------------------------------------------ */
.post_thumb {
  position: relative;
  vertical-align: top;
  margin: .5rem;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  border-radius: 1rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
  overflow: hidden; }
  .post_thumb .image {
    width: 100%;
    padding-top: 67%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
  .post_thumb a.overlay {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  @media all and (min-device-width: 1025px) {
    .post_thumb a.overlay:after {
      content: "Read more";
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 80px;
      height: 20px;
      padding: 50px 0 0;
      margin-top: -40px;
      margin-left: -40px;
      color: #fff;
      font-size: 14px;
      line-height: 20px;
      text-align: center;
      text-decoration: none !important;
      background-image: url("../links/view.svg");
      background-repeat: no-repeat;
      background-position: top center;
      background-size: 60px 60px;
      opacity: 0;
      visibility: hidden;
      transform: scale(0.8, 0.8); }
    .post_thumb a.overlay:hover {
      background-color: rgba(4, 56, 93, 0.8); }
      .post_thumb a.overlay:hover:after {
        opacity: 1;
        visibility: visible;
        transform: scale(1, 1); } }

.grid_item .post_thumb {
  margin: .5rem; }

#gallery .post_thumb {
  margin: 1rem .5rem; }
  #gallery .post_thumb .image {
    padding-top: 80%; }
  @media all and (min-device-width: 1025px) {
    #gallery .post_thumb a.overlay:after {
      content: "Preview"; } }

/* Post items ------------------------------------------------------------------------------------ */
.post_item {
  display: block;
  position: relative;
  margin: 2rem auto;
  text-decoration: none !important; }
  .post_item h2.post_title {
    font-size: 1.5em; }
  .post_item p.post_date {
    display: none;
    font-size: .8em; }
  .post_item p.read_more {
    font-size: .9em; }
  @media screen and (min-width: 720px) {
    .post_item.has_thumbnail h2.post_title {
      float: left;
      width: 50%;
      margin-bottom: 0;
      padding-right: 2%; }
    .post_item.has_thumbnail .post_info {
      float: left;
      width: 50%;
      padding-right: 2%; }
    .post_item.has_thumbnail .post_thumb {
      float: right;
      width: 48%;
      margin: 0; } }

/* Dropdown menus ------------------------------------------------------------------------------------ */
#sidebar a.button, .drop_menu a.toggle_button {
  display: block;
  font-size: 1em;
  background-color: #222; }
  @media screen and (min-width: 720px) {
    #sidebar a.button, .drop_menu a.toggle_button {
      display: inline-block;
      background-color: transparent; } }
  #sidebar a.ispage.button, .drop_menu a.ispage.toggle_button {
    background-color: #d4b157; }
  @media screen and (min-device-width: 1025px) {
    #sidebar a.button:hover, .drop_menu a.toggle_button:hover {
      background-color: #b19d58; } }

#sidebar {
  position: relative;
  text-align: center;
  padding: 1rem; }
  @media screen and (min-width: 720px) {
    #sidebar {
      padding: 1.5rem 1rem;
      font-size: .8em;
      background-color: #d4b157;
      border-top: solid 2px #b19d58; } }
  @media screen and (max-width: 720px) {
    #sidebar {
      position: fixed;
      z-index: 900;
      top: 120%;
      left: 0;
      right: 0;
      height: calc(100vh - 80px);
      background-color: #222;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      -webkit-transition: all ease-out 240ms;
      transition: all ease-out 240ms; }
      #sidebar.toggleon {
        top: 80px;
        box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); } }

#sb_toggle {
  cursor: pointer;
  position: fixed;
  z-index: 1000;
  right: 0;
  bottom: -60px;
  left: 0;
  height: 60px;
  background-color: #04385d;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
  -webkit-transition: all ease-out 120ms;
  transition: all ease-out 120ms; }
  #sb_toggle:before, #sb_toggle:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -15px;
    margin-left: -15px;
    width: 30px;
    height: 30px; }
  #sb_toggle:before {
    display: block;
    background-color: #d4b157; }
  #sb_toggle:after {
    display: none;
    background-color: #222; }
  #sb_toggle.toggleon {
    background-color: #d4b157; }
    #sb_toggle.toggleon:before {
      display: none; }
    #sb_toggle.toggleon:after {
      display: block; }
  @media screen and (max-width: 720px) {
    #sb_toggle {
      bottom: 0; } }

.drop_menu {
  display: block;
  position: relative;
  z-index: 500;
  overflow: visible; }
  .drop_menu.active a.toggle_button {
    background-color: #d4b157; }
    .drop_menu.active a.toggle_button:before {
      display: none; }
    .drop_menu.active a.toggle_button:after {
      display: block; }
  @media screen and (max-width: 720px) {
    .drop_menu {
      margin: 4px 0;
      border-radius: 0.4rem; }
      .drop_menu.active {
        background-color: #b19d58; }
      .drop_menu ul {
        display: none;
        margin: 0;
        padding: 0;
        text-align: left; }
        .drop_menu ul li {
          display: block;
          margin: 0;
          padding: 0; }
          .drop_menu ul li a {
            display: block;
            padding: .5em 1em;
            color: #fff !important;
            font-weight: 600;
            text-decoration: none !important; }
          .drop_menu ul li.current-cat a {
            background-color: rgba(4, 56, 93, 0.2); } }
  @media screen and (min-width: 720px) {
    .drop_menu {
      display: inline-block;
      vertical-align: bottom; }
      .drop_menu ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 50%;
        width: 14em;
        margin: 0;
        margin-left: -7em;
        padding: 4px 0 0;
        text-align: left;
        box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); }
        .drop_menu ul li {
          display: block;
          vertical-align: bottom;
          margin: 0;
          padding: 0;
          background-color: #b19d58;
          overflow: hidden; }
          .drop_menu ul li a {
            display: block;
            position: relative;
            padding: .5em 1em;
            color: #fff !important;
            font-weight: 600;
            text-decoration: none !important; } }
        @media screen and (min-width: 720px) and (min-device-width: 1025px) {
          .drop_menu ul li a:hover {
            background-color: rgba(4, 56, 93, 0.3) !important; } }
  @media screen and (min-width: 720px) {
          .drop_menu ul li.current-cat a {
            background-color: rgba(4, 56, 93, 0.2); }
          .drop_menu ul li:first-child {
            border-top-right-radius: 0.4rem;
            border-top-left-radius: 0.4rem; }
          .drop_menu ul li:last-child {
            border-bottom-right-radius: 0.4rem;
            border-bottom-left-radius: 0.4rem; } }
  .drop_menu.active {
    z-index: 501; }
    .drop_menu.active ul {
      display: block; }
    @media screen and (min-width: 720px) {
      .drop_menu.active .overlay {
        position: fixed;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; } }

/* Pagination ------------------------------------------------------------------------------------ */
.page_numbers {
  position: relative;
  font-size: 0;
  font-weight: 500;
  text-align: center; }
  .page_numbers > * {
    display: inline-block;
    margin: 1rem 0;
    padding: 1em;
    font-size: .75rem;
    line-height: 1em;
    background-color: #eee; }
  .page_numbers a {
    color: #111;
    text-decoration: none; }
    .page_numbers a:hover {
      color: #fff;
      background-color: #d4b157; }
  .page_numbers .current {
    background-color: #ccc; }
  .page_numbers *:first-child {
    border-top-left-radius: 0.4rem;
    border-bottom-left-radius: 0.4rem; }
  .page_numbers *:last-child {
    border-top-right-radius: 0.4rem;
    border-bottom-right-radius: 0.4rem; }

/* Dark */
.dark .page_numbers > * {
  background-color: rgba(255, 255, 255, 0.1); }
.dark .page_numbers a {
  color: #fff; }
  .dark .page_numbers a:hover {
    color: #fff;
    background-color: #d4b157; }
.dark .page_numbers .current {
  background-color: rgba(255, 255, 255, 0.2); }

/* Social buttons  ------------------------------------------------------------------------------------ */
.social ul {
  display: block;
  margin: 0;
  padding: 0; }
  .social ul li {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0 2px; }
    .social ul li a {
      display: block;
      position: relative;
      font-size: 40px;
      height: .5em;
      padding: .25em 0 .25em 1em;
      border-radius: .5em; }
      .social ul li a span {
        display: none;
        color: #111;
        font-size: 14px;
        line-height: 1.42em;
        font-weight: 500;
        padding-right: 1em; }
      .social ul li a:after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 1em;
        height: 1em;
        background-color: #04385d;
        background-size: .8em .8em;
        background-repeat: no-repeat;
        background-position: center; }
      @media all and (min-device-width: 1025px) {
        .social ul li a:hover:after {
          background-color: #d4b157; } }

/* Styling ------------------------------------------------------------------------------------ */
input, .ninja-forms-field {
  outline: 0 none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  position: relative;
  width: calc(100% - 4px) !important;
  margin: 0 auto !important;
  padding: .5em 0;
  color: #111 !important;
  font-family: "astoria-sans", sans-serif !important;
  font-size: 1em;
  line-height: 1.5;
  font-weight: 400;
  text-indent: .5em;
  background-color: #eee;
  border-color: transparent;
  border-style: solid;
  border-width: 2px !important;
  border-radius: 0.4rem; }

input[type=submit], .submit-wrap .ninja-forms-field {
  padding: .75em 0;
  cursor: pointer;
  color: #222 !important;
  font-weight: 500;
  text-align: center;
  text-indent: 0;
  background-color: #d4b157;
  border-color: transparent; }
  input[type=submit]:hover, .submit-wrap .ninja-forms-field:hover {
    background-color: #b19d58; }

/* All Forms ------------------------------------------------------------------------------------ */
/* Ninja Forms ------------------------------------------------------------------------------------ */
.nf-field-container {
  margin: .5rem 0 !important;
  color: #111; }
  .nf-field-container p {
    font-size: .8em; }

.nf-form-fields-required {
  display: none; }

.ninja-forms-req-symbol {
  color: #111 !important; }

.dark .ninja-forms-req-symbol {
  color: #fff !important; }

.nf-before-field {
  font-size: .8em; }

.nf-after-field {
  font-size: .8em; }

.nf-field-label {
  margin: 0 !important;
  color: #111;
  font-size: .9em;
  font-family: "astoria-sans", sans-serif;
  font-weight: 500; }

.dark label,
.dark .nf-field-label {
  color: #fff; }

::-webkit-input-placeholder {
  color: rgba(17, 17, 17, 0.5); }

:-moz-placeholder {
  color: rgba(17, 17, 17, 0.5); }

::-moz-placeholder {
  color: rgba(17, 17, 17, 0.5); }

:-ms-input-placeholder {
  color: rgba(17, 17, 17, 0.5); }

.number-wrap .ninja-forms-field {
  max-width: 200px; }

select:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 10px;
  width: 20px;
  height: 20px;
  margin-top: -10px; }

input[type=checkbox],
input[type=radio] {
  /* Hide the OS/Browser checkboxes/radio buttons */
  visibility: hidden !important;
  margin: 0 !important;
  width: 0 !important; }
  input[type=checkbox] + label,
  input[type=radio] + label {
    visibility: visible;
    position: relative;
    margin: .5rem 0 !important;
    padding-left: 50px;
    font-size: .9em;
    line-height: 24px;
    cursor: pointer; }
    input[type=checkbox] + label:before,
    input[type=radio] + label:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 40px;
      height: 24px;
      border: none;
      border-radius: 12px;
      background: #ccc;
      transition: all 0.3s ease; }
    input[type=checkbox] + label:after,
    input[type=radio] + label:after {
      content: "";
      position: absolute;
      top: 3px;
      left: 3px;
      width: 18px;
      height: 18px;
      background: #fff;
      border-radius: 50%;
      transition: all 0.3s ease; }
  input[type=checkbox]:checked + label:before,
  input[type=radio]:checked + label:before {
    background: #d4b157; }
  input[type=checkbox]:checked + label:after,
  input[type=radio]:checked + label:after {
    left: 19px; }

/* Containers ------------------------------------------------------------------------------------ */
.container {
  z-index: 10;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

/* Top ------------------------------------------------------------------------------------ */
#top {
  position: relative;
  z-index: 200;
  text-align: center;
  background-color: #04385d; }
  #top .post_title {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    padding: 4rem 1rem;
    color: #fff;
    font-size: 2.75em;
    line-height: 1.2em;
    text-transform: uppercase; }
    #top .post_title.has_background {
      padding: 10rem 1rem 12rem; }
    #top .post_title span {
      display: block;
      color: #d4b157;
      font-size: .5em;
      text-transform: uppercase !important;
      letter-spacing: .1em; }
  #top .banner_background {
    opacity: .4; }

/* Banners  ------------------------------------------------------------------------------------ */
.banner_container {
  position: relative;
  overflow: hidden;
  height: 80vh;
  background-color: #03253e; }
  @media all and (max-width: 1180px) {
    .banner_container {
      min-height: 400px;
      max-height: 120vw; } }
  @media all and (min-width: 1180px) {
    .banner_container {
      min-height: 720px;
      max-height: 900px; } }
  .banner_container section.content {
    position: absolute;
    top: 54%;
    left: 50%;
    width: calc(100% - 2em);
    max-width: 720px;
    text-align: center;
    transform: translateX(-50%) translateY(-50%); }
    .banner_container section.content .banner_title {
      margin: 1rem 0;
      font-size: 2.5em;
      line-height: 1.2em;
      text-transform: uppercase; }
    .banner_container section.content .banner_headline {
      margin: 1rem 0;
      font-size: 2.5em;
      line-height: 1.2em; }
    .banner_container section.content .banner_subhead {
      margin: 1rem 0;
      font-size: 1.5em;
      line-height: 1.4em; }
    .banner_container section.content .banner_caption {
      margin: 1rem 0;
      font-size: 1.2em; }
    @media all and (min-width: 720px) {
      .banner_container section.content.textleft {
        max-width: 1180px;
        text-align: left; }
        .banner_container section.content.textleft > div {
          padding-right: 50%; }
      .banner_container section.content.textright {
        max-width: 1180px;
        text-align: left; }
        .banner_container section.content.textright > div {
          padding-left: 50%; } }

/* Masonry ------------------------------------------------------------------------------------ */
.masonry {
  max-width: 1280px;
  margin: 0 auto;
  padding: 1rem;
  text-align: center; }
  .masonry .grid_item {
    float: left;
    width: 100%; }
    @media all and (min-width: 480px) {
      .masonry .grid_item {
        width: 50%; } }
    @media all and (min-width: 1025px) {
      .masonry .grid_item {
        width: 33.3%; } }

/* Footers ------------------------------------------------------------------------------------ */
#footer {
  padding: 1rem 0 3rem;
  background-color: #04385d; }
  #footer .privacy {
    text-align: center; }
    #footer .privacy p {
      font-size: .75em;
      color: rgba(255, 255, 255, 0.5); }
      #footer .privacy p a {
        color: rgba(255, 255, 255, 0.5); }
        #footer .privacy p a:hover {
          color: #d4b157; }
  #footer .logos {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: .5rem;
    font-size: 0;
    text-align: center; }
    #footer .logos img {
      display: inline-block;
      width: 3rem;
      height: auto; }

#contact-footer {
  padding: 4em 0;
  background-color: #eee; }

/* Home page ------------------------------------------------------------------------------------ */
#thumbnails {
  z-index: 220;
  background-color: #03253e; }
  #thumbnails p {
    margin: .5rem 0; }
  @media all and (min-width: 720px) {
    #thumbnails section.content {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      top: -2em;
      max-width: 1280px;
      margin-bottom: -2em;
      padding: 0 1em;
      text-align: center; } }
  @media all and (max-width: 720px) {
    #thumbnails p {
      margin: .5rem 0 2rem; } }

/* Location pages ------------------------------------------------------------------------------------ */
#top.type-location .post_title {
  text-transform: none;
  padding: 4rem 1rem 6rem !important; }
#top.type-location .banner_background {
  opacity: .4; }

#quicknav {
  padding: 1.5em 1em;
  font-weight: 500;
  text-align: center;
  background-color: #03253e; }
  #quicknav a {
    display: inline-block;
    padding: .25em 1em;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none !important;
    border-radius: 0.4rem; }
    #quicknav a:hover {
      color: #fff; }

#gallery {
  padding: 4rem 0; }
  #gallery .owl-carousel {
    padding: 1rem 0 2rem; }

#contact {
  padding: 4em 0;
  text-align: center;
  background-color: #03253e; }
  #contact .contact-info > a,
  #contact .contact-info > div {
    display: block;
    margin: 1rem 0;
    padding: 1.5em 0 2em;
    color: #fff !important;
    font-size: 1rem;
    line-height: 1.5rem !important;
    text-decoration: none !important;
    background-color: #04385d;
    border-radius: 1rem;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); }
    #contact .contact-info > a:before,
    #contact .contact-info > div:before {
      content: '';
      display: block;
      width: 3em;
      height: 3em;
      margin: 0 auto 1em;
      background-color: #d4b157; }
    #contact .contact-info > a > div,
    #contact .contact-info > div > div {
      font-size: .8em;
      color: #d4b157;
      text-transform: uppercase; }

/* Header ------------------------------------------------------------------------------------ */
#nav {
  position: fixed;
  z-index: 1000;
  width: 100%; }
  #nav a {
    text-decoration: none !important; }
  #nav a#nav_logo {
    display: block;
    position: relative;
    background-image: url("../links/Dunmore-White-Logo.svg");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat; }
  #nav.active {
    background-color: #04385d;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.4); }

#nav,
#nav * {
  -webkit-transition: all 200ms;
  transition: all 200ms; }

@media all and (min-width: 1025px) {
  /* Desktop ------------------------------------------------------------------------------------ */
  #nav a#nav_logo {
    width: 250px;
    height: 125px; }
  #nav.active a#nav_logo {
    width: 200px;
    height: 100px; }

  #top {
    padding-top: 125px; }

  #page_banner {
    margin-top: -125px; }

  @keyframes dropdown {
    0% {
      top: 110%;
      opacity: 0; }
    100% {
      top: 100%;
      opacity: 1; } }
  /* Main menu ------------------------------------------------------------------------------------ */
  #main_menu {
    z-index: 1100;
    position: absolute;
    top: 54%;
    right: 1rem;
    font-size: 0;
    line-height: 0;
    text-align: center;
    transform: translateY(-50%); }
    #main_menu ul.menu {
      display: block;
      margin: 0;
      padding: 0; }
      #main_menu ul.menu > li {
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin: 0;
        padding: 0; }
        #main_menu ul.menu > li > a {
          display: block;
          padding: 15px;
          color: #fff;
          font-size: 28px;
          line-height: 30px;
          font-family: "essonnes-text", serif;
          font-weight: 700; }
          #main_menu ul.menu > li > a:after {
            content: '';
            position: absolute;
            top: 12px;
            left: 50%;
            width: 2px;
            height: 2px;
            background-color: rgba(212, 177, 87, 0);
            border-radius: 50%;
            transform: translateX(-50%); }
        #main_menu ul.menu > li.current-menu-item > a, #main_menu ul.menu > li.current-menu-ancestor > a {
          color: #d4b157 !important; }
        #main_menu ul.menu > li:hover > a:after {
          top: 0px;
          width: 8px;
          height: 8px;
          background-color: #d4b157; }
        #main_menu ul.menu > li ul.sub-menu {
          display: none;
          position: absolute;
          width: 260px;
          text-align: left;
          background-color: #d4b157;
          overflow: hidden;
          border-radius: .5rem;
          box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
          animation: 250ms dropdown; }
          #main_menu ul.menu > li ul.sub-menu li {
            display: block;
            margin: 0;
            padding: 0; }
            #main_menu ul.menu > li ul.sub-menu li a {
              display: block;
              padding: 12px 18px;
              color: #04385d !important;
              font-size: 16px;
              line-height: 20px;
              font-weight: 500; }
            #main_menu ul.menu > li ul.sub-menu li.current-menu-item > a {
              background-color: #b19d58; }
            #main_menu ul.menu > li ul.sub-menu li:hover > a {
              background-color: #b19d58; }
            #main_menu ul.menu > li ul.sub-menu li:first-child a {
              padding-top: 18px; }
            #main_menu ul.menu > li ul.sub-menu li:last-child a {
              padding-bottom: 18px; }
        #main_menu ul.menu > li:hover ul.sub-menu {
          display: block; }

  /* Main menu ------------------------------------------------------------------------------------ */
  #alt_menu {
    z-index: 1100;
    position: absolute;
    top: 60%;
    right: 20px;
    transform: translateY(-50%); }
    #alt_menu a#phone {
      display: inline-block;
      vertical-align: middle; }
    #alt_menu .social {
      display: inline-block;
      vertical-align: middle; } }
@media all and (max-width: 1025px) {
  /* Mobile ------------------------------------------------------------------------------------ */
  #nav a#nav_logo {
    width: 180px;
    height: 90px;
    margin: 0; }

  #top {
    padding-top: 90px; }

  /* Menu toggle ------------------------------------------------------------------------------------ */
  #nav > .add_toggle > .toggle_button {
    display: block;
    position: absolute;
    z-index: 1010;
    top: 0;
    bottom: 0;
    width: 60px;
    cursor: pointer; }
  #nav > .add_toggle.active > .toggle_button {
    z-index: 1200; }
  #nav > .add_toggle.active > .overlay {
    position: fixed;
    z-index: 1050;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); }
  #nav > .add_toggle#main_menu > .toggle_button {
    right: 0; }
    #nav > .add_toggle#main_menu > .toggle_button:before, #nav > .add_toggle#main_menu > .toggle_button:after {
      content: "";
      display: block;
      position: absolute;
      left: 50%;
      width: 24px;
      height: 2px;
      margin-left: -12px;
      background-color: #fff;
      border-radius: 1px; }
    #nav > .add_toggle#main_menu > .toggle_button:before {
      top: 50%;
      margin-top: -5px; }
    #nav > .add_toggle#main_menu > .toggle_button:after {
      bottom: 50%;
      margin-bottom: -5px; }
  #nav > .add_toggle#main_menu.active > .toggle_button:before {
    margin-top: -1px;
    background-color: #d4b157;
    transform: rotate(45deg); }
  #nav > .add_toggle#main_menu.active > .toggle_button:after {
    margin-bottom: -1px;
    background-color: #d4b157;
    transform: rotate(-45deg); }
  #nav > .add_toggle#alt_menu > .toggle_button {
    right: 0; }
    #nav > .add_toggle#alt_menu > .toggle_button span, #nav > .add_toggle#alt_menu > .toggle_button:before, #nav > .add_toggle#alt_menu > .toggle_button:after {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      width: 6px;
      height: 6px;
      margin-top: -3px;
      background-color: #fff;
      border-radius: 50%; }
    #nav > .add_toggle#alt_menu > .toggle_button span {
      left: 50%;
      margin-left: -3px; }
    #nav > .add_toggle#alt_menu > .toggle_button:before {
      left: 50%;
      margin-left: -12px; }
    #nav > .add_toggle#alt_menu > .toggle_button:after {
      right: 50%;
      margin-right: -12px; }
  #nav > .add_toggle#alt_menu.active > .toggle_button span {
    background-color: rgba(255, 255, 255, 0); }
  #nav > .add_toggle#alt_menu.active > .toggle_button:before, #nav > .add_toggle#alt_menu.active > .toggle_button:after {
    width: 24px;
    height: 2px;
    margin-top: -1px;
    background-color: #d4b157;
    border-radius: 1px; }
  #nav > .add_toggle#alt_menu.active > .toggle_button:before {
    margin-left: -12px;
    transform: rotate(45deg); }
  #nav > .add_toggle#alt_menu.active > .toggle_button:after {
    margin-right: -12px;
    transform: rotate(-45deg); }

  /* Menus ------------------------------------------------------------------------------------ */
  #main_menu {
    text-align: left; }
    #main_menu ul.menu {
      display: block;
      position: fixed;
      z-index: 1100;
      top: 0;
      bottom: 0;
      right: -320px;
      width: 280px;
      margin: 0;
      padding: 100px 20px;
      max-width: 100%;
      text-align: left;
      background-color: #111;
      overflow-y: auto;
      box-shadow: 0 0 0 rgba(0, 0, 0, 0);
      -webkit-overflow-scrolling: touch; }
      #main_menu ul.menu > li {
        display: block;
        margin: 4px 0;
        padding: 0;
        background-color: #04385d;
        border-radius: 0.4rem;
        overflow: hidden; }
        #main_menu ul.menu > li a {
          display: block;
          position: relative;
          z-index: 1;
          height: 20px;
          padding: 12px;
          color: #fff;
          font-size: 18px;
          line-height: 20px;
          font-weight: 500; }
        #main_menu ul.menu > li.current-menu-item > a {
          color: #d4b157; }
        #main_menu ul.menu > li.menu-item-has-children {
          position: relative; }
          #main_menu ul.menu > li.menu-item-has-children > a {
            padding-right: 45px; }
          #main_menu ul.menu > li.menu-item-has-children .toggle_button {
            cursor: pointer;
            display: block;
            position: absolute;
            z-index: 2;
            top: 0;
            right: 0;
            width: 44px;
            height: 44px; }
            #main_menu ul.menu > li.menu-item-has-children .toggle_button:after {
              content: '';
              display: block;
              position: absolute;
              top: 20%;
              right: 20%;
              width: 60%;
              height: 60%;
              background-color: #fff;
              mask-image: url(../links/icons/down.svg); }
          #main_menu ul.menu > li.menu-item-has-children.active .toggle_button:after, #main_menu ul.menu > li.menu-item-has-children.current-menu-item .toggle_button:after, #main_menu ul.menu > li.menu-item-has-children.current-menu-ancestor .toggle_button:after {
            transform: rotate(180deg); }
        #main_menu ul.menu > li ul.sub-menu {
          display: none;
          margin: 0;
          padding: 0;
          background-color: #03253e; }
          #main_menu ul.menu > li ul.sub-menu li {
            display: block;
            position: relative;
            margin: 0;
            padding: 0;
            border-radius: 0; }
            #main_menu ul.menu > li ul.sub-menu li a {
              font-size: 14px;
              border-top: solid 2px rgba(0, 0, 0, 0.2); }
            #main_menu ul.menu > li ul.sub-menu li.current-menu-item a {
              color: #d4b157; }
        #main_menu ul.menu > li.active ul.sub-menu, #main_menu ul.menu > li.current-menu-item ul.sub-menu, #main_menu ul.menu > li.current-menu-ancestor ul.sub-menu {
          display: block; }
    #main_menu.active ul.menu {
      right: 0; }

  #alt_menu {
    text-align: left; }
    #alt_menu ul.menu {
      background-color: #fff; } }
/* Additional  ------------------------------------------------------------------------------------ */
#swipebox-overlay img {
  border-radius: 1rem; }

#swipebox-overlay {
  background: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px); }

#swipebox-slider {
  height: calc(100% - 110px);
  top: 60px; }

#swipebox-bottom-bar, #swipebox-top-bar {
  background: transparent; }

#swipebox-top-bar {
  font-family: "astoria-sans", sans-serif;
  font-weight: bold;
  text-shadow: none;
  line-height: 60px; }

#swipebox-close {
  top: 5px;
  right: 5px;
  border-radius: 50%;
  background-color: #d4b157; }
  #swipebox-close:hover {
    background-color: #b19d58; }

#swipebox-bottom-bar {
  bottom: -50px; }

#swipebox-arrows {
  max-width: 105px; }

#swipebox-prev,
#swipebox-next {
  width: 50px;
  height: 50px;
  border-radius: 0.4rem; }
  #swipebox-prev:hover,
  #swipebox-next:hover {
    background-color: #d4b157; }
