@charset "UTF-8";

/*========== 1. reset styles to normal ========*/
html { scroll-behavior: smooth; }
.progress, sub, sup { vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hr, main, menu, nav, section, summary { display: block; }
hr, sub, sup { position: relative; }
body, figure { margin: 0; }
button, hr, input, select { overflow: visible; }
[type=checkbox], [type=radio], legend { box-sizing: border-box; padding: 0; }
html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; box-sizing: border-box; font-size: 100%; }
audio, canvas, progress, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
a { background-color: transparent; }
a:active, a:hover { outline-width: 0; }
abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: 700; }
dfn { font-style: italic; }
h1 { font-size: 2em; margin: 0 0 0.67em; }
mark { background-color: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 60%; line-height: 0; }
sub { bottom: -0.25em; }
sup { top: -0.45em; }
img { border-style: none; }
svg:not(:root) { overflow: hidden; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
hr { box-sizing: content-box; height: 0; border: 0; }
button, input, select, textarea { font: inherit; line-height: initial; margin: 0; }
optgroup { font-weight: 700; }
button, select { text-transform: none; }
[type=button], [type=reset], [type=submit], button { cursor: pointer; }
[disabled] { cursor: default; }
[type=reset], [type=submit], button, html [type=button] { -webkit-appearance: button; border: 0; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
button:-moz-focusring, input:-moz-focusring { outline: ButtonText dotted 1px; }
fieldset { border: 1px solid silver; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { color: inherit; display: table; max-width: 100%; white-space: normal; }
textarea { overflow: auto; }
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto; }
[type=search] { -webkit-appearance: textfield; }
[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration { -webkit-appearance: none; }
address { font-style: normal; }
img { max-width: 100%; display: block; margin: 0 auto; }
*, *::before, *::after { box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
*::before, *::after, a { transition: all 0.4s; }
i::before { transition: none; }
button { background-color: transparent; }
.clearfix:before, .clearfix:after { display: table; content: " "; clear: both; }
a[name] { display: block; cursor: auto !important; }
p.has_target { margin: 0; }

/*========= 2. Foundational CSS + classes ========*/
.hide { display: none !important; }
.youtube:after, star:before, .toogle:before, main ul li:before { font-family: "fontello"; font-weight: 400; margin: 0; font-style: normal; }

/* --- icons ---- */
star:before { content: "\e80f\e80f\e80f\e80f\e80f"; color: #f4bd17; }
.youtube:after { content: "\e80e"; }

/*========== 10. Anchor Header Height & IE Fixes ========*/

/*   Media Queries   */
@media (min-width:1025px) {
  a[name]:before { height: 120px; margin-top: -120px; display: block; content: ""; visibility: hidden; }
}
@media (max-width:1025px) {
  a[name]:before { height: 90px; margin-top: -90px; display: block; content: ""; visibility: hidden; }
}
@media (max-width:590px) {
  a[name]:before { height: 90px; margin-top: -90px; display: block; content: ""; visibility: hidden; }
}

/*   Firefox  Only */
@-moz-document url-prefix() { }

/*   Safari  Only */
@media not all and (-webkit-min-device-pixel-ratio:0), not all and (min-resolution:0.001dpcm) {
  @supports (-webkit-appearance:none) {

  /*   */ }
}

/* ------------- Base Setup Styles -------------- */
html { font-size: 10px; }
body { position: relative; background-color: #fff; color: #000; font: 400 1.8rem/1.2 sofia-pro-variable, sans-serif; counter-reset: section; overflow-x: hidden; }
p { color: #000; font: 400 1.8rem/1.666 sofia-pro-variable, sans-serif; margin: 10px auto; }
a { cursor: pointer; text-decoration: none; color: #E7964C; }
a:hover { color: #91B67C; }
hr { position: relative; display: table; clear: both; margin: 40px auto; width: 100%; height: 1px; background-color: #4b7fa6; }
*:focus, a:focus, button:focus, input:focus { outline-width: medium; outline-color: #6293B8 !important; }

/* ------------- Text Styles -------------- */
h1, h2, h3, h4, h5, h6 { margin: 0; position: relative; }
#page-title h1, .h1-small, #welcome .signature span, header .hd-title { color: #000; font: 600 1.4rem/1 sofia-pro-variable, sans-serif; font-variation-settings: "slnt" 0, "wght" 591.7808; display: block; margin: 0 auto 10px; letter-spacing: 0.15rem; text-transform: uppercase; }
#page-title h1 { color: #fff; }
#page-title h1:only-child, h2#append, .h1 { color: #000; font: 400 6.8rem/1 moret, serif; }
h2#append { color: #fff; }
h2, .h2, .dividerLead, .more-to-explore span { color: #000; font: 400 6.3rem/1 moret, serif; position: relative; }
h3, .h3 { color: #000; display: block; position: relative; font: 600 2.8rem/1 sofia-pro-variable, sans-serif; font-variation-settings: "slnt" 0, "wght" 591.7808; }
.toggle h2, .toggle h3 { color: #000; display: block; position: relative; font: 400 2.4rem/1.25 sofia-pro-variable, sans-serif; }
.fo-title { color: #000; text-align: center; margin-bottom: 15px; font: 600 1.4rem/1 sofia-pro-variable, sans-serif; letter-spacing: 0.15rem; display: block; text-transform: uppercase; }
#offer-modal .btn { margin: 20px auto 0; }
main ul { list-style: none; padding: 0; margin: 10px 0; text-align: left; overflow: hidden; }
main ul li { position: relative; display: block; margin: 0 0 10px 26px; padding-left: 24px; line-height: 1.6; overflow: hidden; }
main ul li:before { content: "\e933"; color: #E7964C; position: absolute; left: 1px; top: 5px; font-size: 0.7em; }
.column-2 { -moz-column-count: 2; column-count: 2; margin: 20px auto; }
.center-list { display: table; margin: 20px auto; }

/* ------------- Buttons -------------- */
[class^=btn] { position: relative; z-index: 1; display: table; vertical-align: middle; cursor: pointer; text-align: center; transition: 0.3s all; font: 600 1.5rem/1 sofia-pro-variable, sans-serif; color: #fff; text-transform: uppercase; letter-spacing: 0.15rem; padding: 17px 30px; border-radius: 10px; background-color: #E7964C; min-width: 200px; }
[class^=btn]:hover { background-color: #6293B8; color: #fff; }
.btn-alt { background-color: #91B67C; color: #fff; }
.btn-alt:hover { background-color: #6293B8; color: #fff; }
dialog::backdrop { background: rgba(0, 0, 0, 0.5); cursor: pointer; }
dialog.modal-content { box-sizing: border-box; border: none; margin: auto; padding: 30px; position: relative; text-align: left; max-height: calc(100% - 65px); width: 600px; max-width: 92%; overflow-y: auto; position: fixed; animation-duration: 0.5s; animation-fill-mode: both; animation-name: fadeInUp; }
dialog .modal-close { position: absolute; right: 5px; top: 5px; cursor: pointer; width: 40px; height: 40px; padding-bottom: 4px; border-radius: 50%; display: flex; justify-content: center; align-items: center; transform: none; border: none; line-height: 0; background-color: #fff; transition: 0.3s all; }
dialog .modal-close::before { line-height: 0; font-size: 35px; content: "x"; }
dialog .modal-close:hover { background-color: #000; color: #fff; }

/* --- flexbox --- */
[class*=flex] { display: flex; }
[class*=-row] { -webkit-box-orient: horizontal; align-items: center; justify-content: space-around; }
[class*=-wrap] { flex-wrap: wrap; }
.container { width: 100%; max-width: 1150px; margin: 0 auto; }
.container.full { max-width: 100%; }
.align-center { align-items: center; }
.align-start { align-items: flex-start; }
.align-end { align-items: flex-end; }
.justify-start { justify-content: flex-start; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; gap: 15px; }
.justify-around { justify-content: space-around; }
.justify-between { justify-content: space-between; }
.direction-row { flex-direction: row; }
.direction-column { flex-direction: column; }
.gap-10 { gap: 10px; }
.gap-15 { gap: 15px; }
.gap-20 { gap: 20px; }
.gap-30 { gap: 30px; }
.gap-40 { gap: 40px; }
.gap-50 { gap: 50px; }
.wave { position: absolute; inset: auto 0 0; width: 100%; height: 150px; margin: 0; -o-object-fit: cover; object-fit: cover; -o-object-position: top; object-position: top; }
@media (max-width:1024px) {
  .flex.container { flex-direction: column; }
  .wave { height: 100px; }
}
@media (max-width:550px) {
  h2, .h2, .dividerLead, .more-to-explore span { font-size: 5.5rem; }
  .column-2 { -moz-column-count: 1; column-count: 1; }
  .wave { height: 60px; }
}

/* --- header ---- */
header { position: fixed; z-index: 100; left: 0; top: 0; width: 100%; background-color: #fff; transition: 0.3s all; }
header:focus-within { z-index: 500; }
header .logo { position: relative; z-index: 1; }
header .hd-title { color: #E7964C; margin-bottom: 5px; }
header .pho { color: #6293B8; font: 400 35px/1 moret, serif; position: relative; display: table; margin-bottom: 5px; }
header .phy { color: #000; font: 400 17px/1 sofia-pro-variable, sans-serif; position: relative; display: block; }
header .pho:hover, header .phy:hover { color: #6293B8; }
header .hd-info { display: flex; align-items: flex-start; gap: 40px; text-align: center; }
header .hd-btns { flex: 0 1 421px; }
header .hd-btns > div { display: table; margin-left: auto; margin-right: 0; }
header .btn.ra { text-align: center; font-family: moret, serif; font-weight: 400; font-size: 25px; letter-spacing: 5px; padding: 20px 46px; background-color: #91B67C; border-radius: 100%; }
header .btn.ra span { display: block; font-family: sofia-pro-variable, sans-serif; font-size: 11px; letter-spacing: 2px; margin-top: 5px; }
header .btn.ra:hover { background-color: #6293B8; }
header .btn.pay { padding: 10px 30px; min-width: unset; font-size: 14px; margin: 7px auto 0; }
header li a { font-weight: 400; font-family: sofia-pro-variable, sans-serif; }
@media (min-width:1025px) and (max-width:1150px) {
  header .pho { font-size: 30px; }
  header .hd-info { gap: 15px; }
  header .hd-btns { flex: 0 1 352px; }
}
@media (min-width:1025px) {
  .place-nav { max-width: 1350px; margin: 0 auto; padding: 10px; display: flex; justify-content: space-between; align-items: center; }
  nav { flex: 0 1 1050px; background-color: #6293B8; }
  nav, nav ul li, nav ul li a { position: relative; }
  nav > ul { padding: 0; max-width: 1300px; margin: auto; }
  nav ul { margin: auto; list-style: none; display: flex; justify-content: space-around; }
  nav ul li a { display: block; color: #fff; }
  nav ul li a:hover { color: #fff; }
  nav > ul > li { flex: 1 1 auto; text-align: center; }
  nav > ul > li:last-of-type:after { display: none; }
  nav > ul > li > a { padding: 6px; font-size: 14px; color: #fff; text-transform: uppercase; font-weight: 600; letter-spacing: 1px; }
  nav > ul > li > a > button > i { color: #E7964C; }
  nav > ul > li > a span { color: #000; }
  nav > ul > li:hover > a { color: #E7964C; }
  nav ul li:hover > ul { display: block; visibility: visible; animation-name: fadeIn; animation-duration: 0.25s; animation-fill-mode: both; }
  nav ul ul { display: none; min-width: 280px; width: 100%; padding: 0; position: absolute; z-index: 3; left: 0; text-align: left; background-color: #6293B8; box-shadow: 10px 17.3px 25px rgba(0, 0, 0, 0.2); }
  nav > ul > li:last-child ul { right: 0; left: auto; }
  nav ul ul li > a { padding: 10px 12px; font-size: 14px; line-height: 1.3; text-transform: none; }
  nav ul ul li > a button i { color: #fff; }
  nav ul ul li:hover > a { background-color: #3e698a; color: #fff; }
  nav ul ul ul { left: 100%; top: 0; background-color: #4b7fa6; }
  nav ul ul ul li button i:before { content: "\e825" !important; }
  nav ul ul ul ul { top: auto; left: 0px; position: relative; display: block; box-shadow: none; background-color: #3b6483; }
  nav ul ul ul ul li a { padding-left: 2em; padding-left: 2em; }
  nav ul ul ul ul li a { background-color: #3e698a; }
  nav ul ul ul ul li:hover a { background-color: #2f4f67; }
  .has-submenu span > a, .has-submenu button { display: inline-block; line-height: 1; }
  .has-submenu.open > ul { display: block; }
  .has-submenu.open > ul *:focus { background-color: rgba(255, 255, 255, 0.2); }
  nav li button { display: inline-block; padding: 0; }
}
.fix-nav header { position: fixed !important; box-shadow: 0 3px 7px rgba(24, 23, 24, 0.35); animation-duration: 1s; animation-fill-mode: both; z-index: 100; background-color: #fff; }
.fix-nav header .logo{border-radius: 50%; padding: 20px; order: -3; background-color: #fff; margin-bottom: -70px; margin-top: -30px;}
.fix-nav header .hd-info > div{display: flex; flex-wrap: wrap;}
.fix-nav header .hd-info .hd-title{flex: 1 1 100%}
.fix-nav header .hd-info a{flex: 1 1 50%}
.fix-nav header .pho{font-size: 26px;}
.fix-nav header .hd-info{gap: 5px;}
.fix-nav header .hd-btns{flex: 0 1 auto;}
.fix-nav nav > ul{padding-left: 300px;}
.fix-nav #hd-top, .fix-nav .fm, .fix-nav .of, .fix-nav .pay { display: none; }
@media (max-width:1024px) {
  .hd-info { display: none; }
  header .logo { padding: 8px; order: 1; }
  header .logo img { max-height: 100px; }
  header .pho { font-size: 25px; text-align: center; display: block; }
  header .phy { font-size: 15px; }
  header .hd-info { order: 2; display: none; }
  header .mean-bar { order: 3; }
  #hd-top, #main-nav, header nav ul, header .hd-btns, header [class^=btn] { display: none; }
  .nav-down { box-shadow: 0 3px 7px rgba(24, 23, 24, 0.2); }
  .nav-up { transform: translateY(-100%); }
  body, header, .mean-container .mean-nav { transition: all 0.3s; }
  body { right: 0; }
  .attach header { position: fixed !important; box-shadow: 0 3px 7px rgba(24, 23, 24, 0.35); }
  .attach header .top-nav { display: none !important; }
  body.mean-active header { left: -80%; transform: none; }
  body.mean-active { overflow: hidden; right: 80%; }
  body.mean-active:before { z-index: 98; content: ""; opacity: 0.7; background-color: #000; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background-image: none; height: inherit; }
  body.mean-active .mean-container .mean-nav { right: 0; }
  .mean-container { display: flex !important; flex-flow: row nowrap; align-items: center; justify-content: space-between; }
  .mean-container .mean-bar { background-color: #6293B8; width: 64px; min-height: 64px; display: flex; flex-direction: column; justify-content: center; align-items: center; align-self: flex-start; margin-left: 8px; }
  .mean-container .meanmenu-reveal { display: block; color: #fff; }
  .mean-container a.meanmenu-reveal.meanclose i:before { transform: rotate(45deg); font-size: 60px; content: "+"; margin: -5px 0 0 8px; }
  .mean-container .mean-bar .icon-menu { position: relative; display: table; transition: 0.3s all; z-index: 1; margin: 0 auto; }
  .mean-container .meanmenu-reveal .icon-menu:before { width: 36px; content: url(assets/images/menu-icon.png); letter-spacing: 3.2px; margin-bottom: 10px; }
  .mean-container .mean-bar .icon-menu:after, .mean-container .meanmenu-reveal.meanclose:after { content: "MENU"; font-style: normal; position: absolute; left: 50%; transform: translateX(-50%); bottom: -5px; letter-spacing: 1px; font-size: 0.55em; font-weight: 700; }
  .mean-container .meanmenu-reveal.meanclose i:before { transform: rotate(45deg); font-size: 60px; content: "+"; margin: -5px 0 0 8px; }
  .mean-container .meanmenu-reveal.meanclose:after { content: "CLOSE"; bottom: 5px; }
  .mean-container .mean-nav { position: fixed; right: -80%; margin: 0; top: 0; bottom: 0; width: 80%; overflow: auto; display: flex; flex-flow: column; justify-content: flex-start; background-color: #3e698a; }
  .mean-container .mean-nav ul { font-size: 16px; padding: 0; margin: 0; width: 100%; list-style-type: none; }
  .mean-container .mean-nav ul li { position: relative; width: 100%; }
  .mean-container .mean-nav ul li a { display: block; padding: 1em 5%; padding-right: 58px !important; margin: 0; text-align: left; color: #fff; border-top: 1px solid rgba(255, 255, 255, 0.5); text-decoration: none; text-transform: uppercase; }
  .mean-container .mean-nav ul li li a { padding: 1em 10%; border-top: 1px solid #f1f1f1; border-top: 1px solid rgba(255, 255, 255, 0.25); opacity: 0.75; text-shadow: none !important; visibility: visible; }
  .mean-container .mean-nav ul li.mean-first a { border-top: none; margin-top: 0; }
  .mean-container .mean-nav ul li.mean-last a { border-bottom: none; margin-bottom: 0; }
  .mean-container .mean-nav ul li li li a { padding: 1em 15%; }
  .mean-container .mean-nav ul li li li li a { padding: 1em 20%; }
  .mean-container .mean-nav ul li li li li li a { padding: 1em 25%; }
  .mean-container .mean-nav ul li a:hover { background: #252525; background: rgba(255, 255, 255, 0.1); }
  .mean-container .mean-nav ul li a.mean-expand { width: 48px; line-height: 50px; font-size: 20px; padding: 0 !important; text-align: center; position: absolute; right: 0; top: 0; z-index: 2; background: rgba(255, 255, 255, 0.1); border: none !important; border-left: 1px solid rgba(255, 255, 255, 0.4) !important; border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important; }
  .mean-container .mean-nav ul li a.mean-expand:before { content: "\e825"; font-family: "fontello"; font-weight: 400; margin: 0; font-style: normal; }
  .mean-container .mean-nav ul li .mean-expand.mean-clicked:before { content: "\e83a"; }
  .mean-remove { display: none !important; }
  .mean-nav .social { min-height: 66px; background-color: rgba(0, 0, 9, 0.1); margin: 0; padding: 10px 5px; justify-content: center; align-items: center; }
  .mean-nav .fo-title { color: #fff; text-align: center; }
  .mean-nav .hours { display: block; text-align: center; color: #fff; padding: 10px; margin: 10px auto auto; }
  .mean-nav .hours p { display: table; text-align: left; font-size: 15px; margin: 10px auto 0; color: #fff; }
}
@media (max-width:750px) {
  header { padding-left: 64px; }
  header .logo { margin: 0 auto; }
  header .hd-info { display: none; }
}

/* ------------- Custom Video -------------- */

/* ------------- Play Button -------------- */
.play { cursor: pointer; border: none; background-color: transparent; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; color: #000; font: 700 15px/1 sofia-pro-variable, sans-serif, sans-serif; text-transform: uppercase; letter-spacing: 1.5px; text-align: center; transition: 0.3s all; }
.play i { width: 75px; height: 75px; border-radius: 50%; background-color: #fff; display: block; color: #000; display: inline-flex; align-items: center; justify-content: center; font-size: 30px; margin: 10px; transition: 0.3s all; }
.play i:before { margin: auto; padding-left: 5px; }
.play:hover { color: #4b7fa6; }
.play:hover i { background-color: #4b7fa6; color: #fff; }
#video-modal { padding: 0; }

/* ------------- Close Button -------------- */
[data-embed] .close, [data-vimeo] .close { cursor: pointer; line-height: 1; background-color: #6293B8; color: #fff; padding: 6px 10px 6px 5px; z-index: 5; position: absolute; top: 0; right: 0; display: flex; align-items: center; justify-content: center; width: -moz-fit-content; width: fit-content; }
[data-embed] .close button, [data-vimeo] .close button { color: #fff; text-transform: uppercase; }
[data-embed] .close i, [data-vimeo] .close i { font-style: normal; font-size: 1.25em; line-height: 1; vertical-align: middle; }
[data-embed] .close:focus, [data-vimeo] .close:focus { background-color: #487a9f; }
[data-embed] .close:hover, [data-vimeo] .close:hover { background-color: #1b1b1b; color: #fff; }
[data-embed] .close i:before { transform: rotate(45deg); }
@media (max-width:1000px) {
  [data-embed] .close, [data-vimeo] .close { position: relative; inset: unset; margin: 0 auto; }
}

/* ----------- Banner ----------- */
#banner { position: relative; padding: 0; }
#banner video{width: 100%;}
#banner figure img { max-height: 90vh; height: 750px; width: 100%; -o-object-fit: cover; object-fit: cover; }
#banner article { z-index: 50; text-align: center; position: absolute; top: 45%; left: 50%; transform: translate(-50%, -50%); width: 100%; max-width: 980px; padding: 0 20px; }
#banner .h1-small, #banner #welcome .signature span, #welcome .signature #banner span, #banner header .hd-title, header #banner .hd-title, #banner h2, #banner p { color: #fff; text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
#banner p { max-width: 760px; }

/* ----------- Welcome ----------- */
#welcome { padding: 0 20px 40px; overflow: hidden; }
#welcome .container { max-width: 1400px; position: relative; padding: 40px 0 60px; }
#welcome .art-1, #welcome .art-2 { position: absolute; }
#welcome .art-1 { top: -70px; right: -80px; z-index: 25; }
#welcome .art-2 { bottom: -40px; left: -50px; }
#welcome .h1-small, #welcome .signature span, #welcome header .hd-title, header #welcome .hd-title { color: #000; text-align: center; }
#welcome article { max-width: 762px; margin: 0 auto; }
#welcome article p { font-size: 2.5rem; text-align: center; margin-bottom: 20px; font-variation-settings: "slnt" 0, "wght" 268.75; }
#welcome .signature { display: table; margin: 0 auto; }
#welcome .signature img { transition: transform 0.3s ease-in-out; }
#welcome .signature span { color: #000; display: block; text-align: center; margin-top: 5px; transition: color 0.3s ease-in-out; }
#welcome .signature:hover span { color: #E7964C; }
#welcome .signature:hover img { transform: scale(1.05); }
@media (max-width:1300px) {
  #welcome .art-1 { right: -15vw; }
}
@media (max-width:1024px) {
  #welcome { padding-top: 60px; }
  #welcome .art-1 { right: -20vw; top: -90px; max-width: 200px; }
  #welcome .art-2 { max-width: 200px; }
}

/* ------------- Page Foundation -------------- */
#page { position: relative; display: block; width: 100%; margin: auto; clear: both; }
#page.has_divider { padding-bottom: 0; }
.page_index .internal { display: none; }
.center { text-align: center; }

/* ------------- Internal Title -------------- */
#interior-banner { position: relative; text-align: center; padding: 50px 20px; }
#interior-banner .contain { position: relative; z-index: 1; }
#interior-banner #intro p, #interior-banner #intro li { color: #fff; }
#interior-banner #intro .btn { margin: 10px auto 0; }
#interior-banner:before { content: ""; position: absolute; inset: 0; background-color: #000000; opacity: 0.45; }
.banner-no-img #interior-banner { background-color: #ccc; padding: 100px 20px; max-height: 90vh; height: 750px; width: 100%; display: flex; align-items: center; padding-bottom: 200px; }
.banner-no-img #interior-banner .contain { max-width: 1000px; margin: 0 auto; }
.flex-title { height: 100%; margin: auto; align-items: center; justify-content: space-between; width: 100%; max-width: 1250px; }
.flex-title #page-title { margin: auto; }
.flex-title .contain { flex: 0 1 50%; text-align: left; }
.flex-title .contain > div { max-width: 600px; margin: auto; }
#intro { margin: 0 auto; }
#main-img { flex: 0 1 auto; min-height: 200px; -o-object-fit: cover; object-fit: cover; }
#static-banner { display: none; }
@media (max-width:1024px) {
  .flex-title { flex-direction: column; gap: 20px; }
  #interior-banner { padding: 0; display: flex; flex-direction: column; background-color: #6293B8; }
  #interior-banner .contain { text-align: center; padding: 30px 20px 130px; }
  #interior-banner:before { display: none; }
  .banner-no-img #interior-banner { padding: 50px 20px; }
}
@media (max-width:550px) {
  #interior-banner .contain { padding-bottom: 80px; }
}

/*============= Last. Animations ================*/
.animated { animation-duration: 1s; animation-fill-mode: both; }
.animated.infinite { animation-iteration-count: infinite; }
.pulse { animation-name: pulse; }
@keyframes pulse {
  from { transform: scale3d(1, 1, 1); }
  50% { transform: scale3d(1.05, 1.05, 1.05); }
  to { transform: scale3d(1, 1, 1); }
}
.fadeIn { animation-name: fadeIn; }
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.fadeInDown { animation-name: fadeInDown; }
@keyframes fadeInDown {
  from { opacity: 0; transform: translate3d(0, -100%, 0); }
  to { opacity: 1; transform: none; }
}
.fadeInLeft { animation-name: fadeInLeft; }
@keyframes fadeInLeft {
  from { opacity: 0; transform: translate3d(-100%, 0, 0); }
  to { opacity: 1; transform: none; }
}
.fadeInRight { animation-name: fadeInRight; }
@keyframes fadeInRight {
  from { opacity: 0; transform: translate3d(100%, 0, 0); }
  to { opacity: 1; transform: none; }
}
.fadeInUp { animation-name: fadeInUp; }
@keyframes fadeInUp {
  from { opacity: 0; transform: translate3d(0, 100%, 0); }
  to { opacity: 1; transform: none; }
}
.fadeOut { animation-name: fadeOut; }
@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
.zoomIn { animation-name: zoomIn; }
@keyframes zoomIn {
  from { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
  50% { opacity: 1; }
}
.slideInDown { animation-name: slideInDown; }
@keyframes slideInDown {
  from { transform: translate3d(0, -100%, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); }
}
.slideInLeft { animation-name: slideInLeft; }
@keyframes slideInLeft {
  from { transform: translate3d(-100%, 0, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); }
}
.slideInRight { animation-name: slideInRight; }
@keyframes slideInRight {
  from { transform: translate3d(100%, 0, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); }
}
.slideInUp { animation-name: slideInUp; }
@keyframes slideInUp {
  from { transform: translate3d(0, 100%, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); }
}
.zoomIn { animation-name: zoomIn; }
@keyframes zoomIn {
  from { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
  50% { opacity: 1; }
}
.heartbeat { animation: heartbeat 1.5s ease-in-out infinite both; }
@keyframes heartbeat {
  from { transform: scale(1); transform-origin: center center; animation-timing-function: ease-out; }
  10% { transform: scale(0.91); animation-timing-function: ease-in; }
  17% { transform: scale(0.98); animation-timing-function: ease-out; }
  33% { transform: scale(0.87); animation-timing-function: ease-in; }
  45% { transform: scale(1); animation-timing-function: ease-out; }
}
.kenburns-top { animation: kenburns-top 3s ease-out both; }
@keyframes kenburns-top {
  0% { transform: scale(1.25) translateY(-15px); transform-origin: top; }
  100% { transform: scale(1) translateY(0); transform-origin: 50% 16%; }
}
.rotating { animation: rotating 15s linear infinite; }
@keyframes rotating {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.floating { animation-name: floating; animation-duration: 3s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; }
@keyframes floating {
  0% { transform: translate(0, 0px); }
  50% { transform: translate(0, 15px); }
  100% { transform: translate(0, 0px); }
}
