/**
 * Theme stylesheet (this theme does not use the root level style.css)
 * @package Great Performances FarSky Theme 2025
**/


/* WORDPRESS RESET */
@media all {
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:0;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}
}

/* FONTS */
@media all {
@font-face {
  font-family:'Playfair';
  src:url('../fonts/PlayfairDisplay-Regular.woff2') format('woff2'),
      url('../fonts/PlayfairDisplay-Regular.woff')  format('woff');
  font-weight:100; font-style:normal; font-display:swap; }
@font-face {
    font-family:'oooh_babyregular';
    src:url('../fonts/ooohbaby-regular-webfont.woff2') format('woff2'),
         url('../fonts/ooohbaby-regular-webfont.woff') format('woff');
    font-weight:normal;
    font-style:normal;
}
.handwriting                        { font-family:'oooh_babyregular', serif; font-weight:100; font-style:normal; }
.lato                               { font-family:"Lato", sans-serif; font-weight:400; font-style:normal; }
.lato-bold, strong                  { font-family:"Lato", sans-serif; font-weight:700; font-style:normal; }
.lato-italic, em                    { font-family:"Lato", sans-serif; font-weight:400; font-style:italic; }
.lato-bold-italic,
strong em, em strong                { font-family:"Lato", sans-serif; font-weight:700; font-style:italic; }
body                                { font-family:"Lato", sans-serif; font-weight:400; font-style:normal; font-stretch:100%; line-height:1.5; font-size:16px; color:#666; background-color:#f9f3e9; letter-spacing:0.03em;}
h1, h2, h3, h4                      { font-family:'Playfair', serif; font-weight:100!important; color:#c89e4b; line-height:1.0em; }
h1                                  { font-size:clamp(3rem, 4vw + 2rem, 4.5rem)!important;  }
h2                                  { font-size:clamp(2rem, 7vw, 3rem)!important;  }
h3                                  { font-size:1.75rem;  }
h4                                  { font-size:1.25rem;  }
a                                   { text-decoration:underline; color:inherit; }
sup.legal-mark                      { font-size:0.6em; vertical-align:super; line-height:1; }

/* TEXT COLOR PALETTE */
.black                              { color:#222222; }
.brown                              { color:#c89e4b; }
.gold                               { color:#d09c39; }
.grey                               { color:#54595F; }
.green                              { color:#aca249; }

/* DISPLAY TOOLS */
.clear                              { float:none; clear:both; }
.txt-l, .txt-left                   { text-align:left; }
.txt-r, .txt-right                  { text-align:right; }
.txt-c, .txt-cntr                   { text-align:center; }
.txt-hide                           { text-indent:-9999px; }
.hide                               { display:none; }
.bold-preamble                      { color:#000; font-size:1.1rem; }
.bold-preamble:after                { content:' '; padding-right:4px; }
a.block-link                        { text-decoration:inherit; }
.accent                             { color:#222; }
}

/* PAGE STRUCTURE */
body                                { overflow-x:hidden; }
main                                { width:100%; max-width:1920px; margin:0 auto; color:#54595F; }
.site-buffer                        { margin-top:150px; }
.site-no-buffer                     { margin-top:0; }

/* LEGAL PAGES */
.legal-content                      { margin:0 auto; width:100%; max-width:880px; }

/* HEADER ELEMENTS */
@media all {
/*
This section is comprised of a number of different elements:
  The (outside) site header containes the GP logo (.home-navigation), the DESKTOP NAV, the search trigger, and the hamburger trigger
  The primary Menu section appears and disappears with the hamburger trigger
  The primary menu has its own (inside) site header with an inverted logo and the primary menu close trigger
  Primary nav is the actual navigation menu output from the NAV WALKER
*/
.site-header                        { position:sticky; width:100%; z-index:50; margin:0 auto; top:0; transition:opacity 0.5s; }
.site-header-container              { display:flex; flex:0 0 auto; position:fixed; width:100%; align-items:center; justify-content:space-between; padding:0 2vw; top:0; }
.site-header-bg                     { width:100%; height:100px; position:absolute; top:0; left:0; z-index:-10; background-color:#f9f3e9ee; box-shadow:0 0 4px #999; opacity:0; transition:opacity 0.5s; }

.home-navigation                    { display:flex; align-items:center; padding-top:15px;} 
.home-navigation a                  { display:block; }
.site-header-buttons                { display:flex; align-items:center; position:relative; top:5px; }
.header-search                      { border:none; outline:none; cursor:pointer; padding:10px; border-radius:20px; color:#c89e4b; background:transparent; margin-right:40px; }
.header-search:focus                { outline:2px solid #c89e4b5e; outline-offset:2px; }
.primary-menu-open                  { border:none; outline:none; padding:0; margin:0; cursor:pointer; z-index:1000; background:transparent; }
.primary-menu-open:focus            { outline:2px solid #c89e4b5e; outline-offset:2px; }
.primary-menu-close                 { border:none; outline:none; padding:0; margin:0; cursor:pointer; z-index:1000; background:transparent; }
.primary-menu-close:focus           { outline:2px solid #fff; outline-offset:2px; }
.primary-menu.active                { opacity:1; clip-path:circle(250% at 100% 0%); animation:reveal-circle 1s cubic-bezier(0.77, 0, 0.175, 1) forwards; }
.primary-menu.closing               { animation:hide-circle 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards; }
@keyframes reveal-circle            { from { opacity:0; clip-path:circle(0% at 100% 0%); }    to { opacity:1; clip-path:circle(250% at 100% 0%); }}
@keyframes hide-circle              { from { opacity:1; clip-path:circle(250% at 100% 0%); }  to { opacity:0; clip-path:circle(0% at 100% 0%); }}
.desktop-nav                        { position:relative; top:-2px;  margin-right:25px; }
.desktop-nav .menu-item             { margin:0 10px 0 0; display:inline; transition:all 0.5s; cursor:pointer; font-size:0.9rem; }
.desktop-nav .menu-item:not(:last-child)::after { content:'|'; margin:0 0 0 10px; }
.desktop-nav .menu-item a:link,
.desktop-nav .menu-item a:visited   { color:#c89e4b; text-decoration:none; transition:color 0.3s; } 
.desktop-nav .menu-item a:hover,
.desktop-nav .menu-item a:active    { color:#222; }

.primary-menu                       { height:100vh; display:flex; flex-direction:column; background-color:#aca249; position:fixed; top:0; width:100%; z-index:999; opacity:0; clip-path:circle(0% at 100% 0%); transition:opacity 0s linear; }

.primary-navigation                 { width:100%; max-width:1440px; margin:100px auto 0; padding:0 2.5% 100px; flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.primary-nav .menu-item-has-children{ position:relative; }
.primary-nav .menu-item             { font-family:'Playfair',serif; color:#fff; font-size:1.5rem; padding:5px 10px; margin:5px 10px; border-radius:5px; }
.primary-nav .sub-menu              { margin:0 0 0 2rem; display:none; }
.sub-menu .menu-item                { font-family:"Lato",sans-serif; font-size:1rem; text-wrap-mode:nowrap; background:none;}
.primary-nav .submenu-toggle        { background:none; border:none; cursor:pointer; position:absolute; left:35%; top:0; width:40px; height:100%; font-size:1.5rem; font-weight:bold; color:#fff; }
.primary-nav .submenu-toggle:focus  { outline:2px solid #fff; outline-offset:2px; }
.primary-nav .sub-menu.active       { display:block;  }
.primary-nav [aria-expanded="true"] { content:'−'; }
.primary-navigation a:link,
.primary-navigation a:visited       { color:inherit; text-decoration:none; border-bottom:1px solid transparent;} 
.primary-navigation a:hover,
.primary-navigation a:active        { border-bottom:1px solid #fff; }
.primary-navigation a:focus         { outline:2px solid #fff; outline-offset:2px; }
}

/* SEARCH & SEARCH MODAL ELEMENTS */
@media all {
.search-page                        { width:95%; margin:0 auto 20px; }
.search-page header                 { margin-bottom:20px; }
.search-form                        { display:block; width:95%; max-width:600px; margin:0 auto; position:relative; }
.search-field:focus-visible         { outline:2px solid #c89e4b5e; outline-offset:2px; }
.search-results-grid                { display:grid; grid-template-columns:repeat(auto-fit, 30%); justify-content:center; align-items:stretch; gap:10px; }
.search-results-grid a              { text-decoration:none; }
.search-result                      { display:block; background:#fff; padding:10px; min-height:20px; }
.search-result h2                   { margin:0 0 15px; }
.search-form-modal                  { padding:30px; position:relative; max-width:600px; margin:0 auto; }
.search-form-modal input[type=search] { border:none; border-bottom:1px solid #ccc; width:100%; height:50px; margin:20px auto; padding:0 50px 0 10px; color:#383632; background:transparent; }
.search-form-modal .search-submit   { background:url('../assets/sprites/site-sprite.webp') -650px -139px no-repeat;  width:50px; height:50px; border:none; position:absolute; right:19px; top:39.5%; text-indent:-9999px; cursor:pointer; }
}

/* SEARCH RETURNS:PAGE CARD */
@media all {
.page-card                     { background:#2c2c2c; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,0.1); text-align:center; transition:transform 0.3s ease;padding-bottom:10px; cursor:pointer; padding-bottom:30px; }
.page-card:hover               { transform:translateY(-8px);}
.page-card img                     { width:100%; height:280px; object-fit:cover; }
.page-card a                   { text-decoration:none; }
.page-card h3                  { margin:1rem; text-align:center; color:#aca249; }
.page-card p                   { color:#f1f1f1; }
.page-card-desc                { padding:0 1rem; color:#555; font-size:0.75rem; text-align:left; }
.btn-view-page                 { display:inline-block; margin:1rem; padding:0.75rem 1.5rem; background:#c00; color:white; border-radius:6px; text-decoration:none; font-weight:600; }
}

/* SEARCH PAGINATION */
@media all {
.vanilla-search-pagination {
  margin:2vw;
}
.vanilla-search-pagination .pagination {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0.5rem;
}

.vanilla-search-pagination .page-numbers,
.vanilla-search-pagination .prev,
.vanilla-search-pagination .next {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.5rem;
  height:2.5rem;
  padding:0 0.75rem;
  border-radius:0.375rem;
  background:#c89e4b;
  color:#fff;
  text-decoration:none;
  font-size:0.75rem;
  transition:all 0.2s ease;
}

.vanilla-search-pagination .page-numbers:hover,
.vanilla-search-pagination .prev:hover,
.vanilla-search-pagination .next:hover {
  background:#54595F;
}

.vanilla-search-pagination .page-numbers.current {
  background:#aca249;
  cursor:default;
}

.vanilla-search-pagination .dots {
  padding:0 0.5rem;
  color:#ccc;
}
}

/* HUBSPOT CONTACT FORM */
.gp-contact-form                    { width:90%; margin:0 auto; }

/* MODALS AND MODAL CONTROLS */
@media all {
.gp-modal                           { display:block; position:fixed; top:0; left:0; width:100%; height:100%; /*background-color:#aca249;*/background-color:#fff; z-index:100000; justify-content:center; align-items:center; pointer-events:auto; opacity:0; clip-path:circle(0% at 100% 0%); transition:opacity 0s linear;}
.gp-modal.active                    { display:flex; opacity:1; clip-path:circle(250% at 100% 0%); animation:reveal-circle 1s cubic-bezier(0.77, 0, 0.175, 1) forwards; }
.gp-modal.closing                   { animation:hide-circle 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards; }
.gp-modal-content                   { background:transparent; width:90%; max-width:90%; max-height:90%; padding:20px; position:relative; z-index:100001; pointer-events:auto; }
.gp-modal-close                     { border:none; outline:none; padding:0; margin:0; cursor:pointer; z-index:1000; position:fixed; left:93%; top:30px; background-color:transparent; }
.gp-modal-close:focus               { outline:2px solid #fff; outline-offset:2px; }
#contact-modal-body, #search-modal-body { z-index:100001; pointer-events:auto; }
#contact-modal-body input,
#contact-modal-body textarea,
#contact-modal-body button,
#search-modal-body input,
#search-modal-body button           { pointer-events:auto; }
body.modal-open                     { overflow:hidden; }
body.modal-open *                   { pointer-events:none; }
body.modal-open .gp-modal.active,
body.modal-open .gp-modal.active *  { pointer-events:auto; }
.gp-modal.active,
.gp-modal-content,
.gp-modal-close,
#contact-modal-body,
#search-modal-body                  { isolation:isolate; }
}

/* HERO IMAGE */
@media all {
.hero-image                         { display:block; }
.hero-image-photo                   { width:100%; height:55vw; display:flex; align-items:flex-end; justify-content:flex-end; }
.hero-image-gradient                { width:100%; height:30%;position:absolute; top:0; background:transparent; background:linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%); z-index:0; }
.hero-image-text                    { width:80%; padding:100px 5vw 5% 0; z-index:10; }
.hero-image-text h1                 { font-size:clamp(3rem, 10vw, 6rem); margin-bottom:20px; text-shadow:-1px -1px 3px rgb(255 255 255 / 10%), 1px 1px 2px rgb(0 0 0 / 30%); text-align:right; }
.hero-image-text p                  { text-transform:uppercase; color:#c89e4b; }
.hero-link-container                { display:flex; align-items:center; gap:15px; justify-content:flex-end; }
}

/* HIGHLIGHT BLOCK HALF */
@media all {
.highlight-block-halves             { margin:6vh auto;  display:flex; flex-wrap:nowrap; justify-content:center; padding:0 3%; max-width:1440px; }
.highlight-block-halves-text        { width:50%; flex-grow:1; }
.highlight-block-halves-text ul     { padding:15px 5%; list-style-position:inside; }
.highlight-block-halves-text h2     { text-align:left; padding:0 5%; margin:4vh 2vh 4vh 0; }
.highlight-block-halves-text p      { text-align:left; padding:1rem 5%; }
.highlight-block-halves-img         { width:50%; flex-grow:1; align-self:center; }
.highlight-block-halves-img img     { width:100%; object-fit:cover; object-position:center; }
.highlight-block-halves .left       { order:1; align-self:center;}
.highlight-block-halves .right      { order:2; align-self:center;}
}

/* HIGHLIGHT BLOCK WHOLE */
@media all {
.highlight-block-whole              { margin:6vh auto; padding:0 3%; max-width:1440px; }
.highlight-block-whole-text         { width:100%; text-align:center;}
.highlight-block-whole-text ul      { padding:15px 5%; list-style-position:inside; }
.highlight-block-whole-text h2      { text-align:center; padding:15px 5% 0; }
.highlight-block-whole-text p       { text-align:center; padding:0 20%; margin:2vh 0; }
.highlight-block-whole-img          { width:100%; max-height:60vh; overflow:hidden; }
.highlight-block-whole-img img      { width:100%; max-height:60vh; object-fit:cover; position:relative; object-position:center; }
}

/* SIMPLE IMAGE BLOCK */
@media all {
.simple-image                       { margin:6vh auto; padding:0 3%; max-width:1440px; max-height:60vh; overflow:hidden; display:flex;}
.simple-image img                   { width:100%; object-fit:contain; position:relative; object-position:center; align-self:center; }
}

/* HIGHLIGHT BLOCK KNOCKOUT */
@media all {
.highlight-block-knockout           { margin:8vh auto -17vh; position:relative; z-index:1; }
.highlight-block-knockout-img       { width:100%; overflow:hidden; }
.highlight-block-knockout-img img   { width:100%; position:relative; z-index:10; max-height:60vh; object-fit:cover; object-position:center; }
.knockout-shape                     { background:#f9f3e9; width:65vw; border-radius:25vw; margin:0 auto; height:13vh; position:relative; bottom:7vh; z-index:20; }
.highlight-block-knockout-text      { position:relative; z-index:30; top:-17vh; text-align:center;}
.highlight-block-knockout-text ul   { list-style-type:none; }
.highlight-block-knockout-text h2   { margin:0 auto 2vh; width:50%; }
.highlight-block-knockout-text p    { padding:1rem 20%; }
}

/* HEADLINE TEXT BLOCK HALVES */
@media all {
.headline-text-block-halves         { margin:6vh auto; display:flex; justify-content:center; padding:0 3%; max-width:1440px; }
.headline-text-block-halves-headline,
.headline-text-block-halves-text    { width:50%; align-self:center;}
.headline-text-block-halves-text ul { padding:15px 5%; list-style-position:inside; }
.headline-text-block-halves-headline h2 { text-align:left; padding:0 5%; }
.headline-text-block-halves-text p      { text-align:left; padding:15px 5%; }
.headline-text-block-halves .left   { order:1; }
.headline-text-block-halves .right  { order:2; }
}

/* PICTURE IN PICTURE */
@media all {
.picture-in-picture                 { margin:6vh auto; max-width:1440px; padding:0 3%; }
.pip-top-right-headline             { display:block; padding:3vw 0 1.5vw 10%; }
.page-topper h2                     { padding-bottom:2vw; }
.picture-in-picture-banner          { max-height:600px; overflow-y:hidden; max-width:1440px; text-align:center; }
.picture-in-picture-banner img      { max-height:60vh; width:100%; object-fit:cover; object-position:center; }
.picture-in-picture-flex            { display:flex; position:relative; }
.picture-in-picture-flex .left      { order:1; }
.picture-in-picture-flex .right     { order:2; }
.picture-in-picture-inlay           { width:40%; position:relative; text-align:center; }
.pip-top-left .picture-in-picture-inlay             { align-self:center; }
.pip-bottom-left .picture-in-picture-inlay-frame    { position:relative; z-index:5; top:-20vh; margin-bottom:-20vh; left:10%; width:90%; max-width:400px; }
.pip-bottom-right .picture-in-picture-inlay-frame   { position:relative; z-index:5; top:-20vh; margin-bottom:-20vh; left:7%; width:90%; max-width:400px; }
.pip-top-left .picture-in-picture-inlay-frame       { position:relative; z-index:5; top:0; margin-bottom:-20vh; left:10%; width:90%; max-width:400px; }
.pip-top-right .picture-in-picture-inlay-frame      { position:relative; z-index:5; top:0; margin-bottom:-20vh; left:7%; width:90%; max-width:400px; }
.picture-in-picture-inlay-frame img { width:100%; border:10px solid #f9f3e9; }
.picture-in-picture-text            { width:60%; margin-bottom:4vh; }
.picture-in-picture-text ul         { padding:15px 5%; list-style-position:inside; }
.picture-in-picture-text.left h2    { text-align:left; padding:3vh 0 2vh; }
.picture-in-picture-text.left p     { text-align:left; padding:15px 0 0; }
.picture-in-picture-text.right h2   { text-align:left; padding:3vh 0 1.5vh 3%; }
.picture-in-picture-text.right p    { text-align:left; padding:1.5vh 0 0 3%; }
.pip-button-centered                { display:block; text-align:center; }
.explore-button                     { background:#c89e4b; padding:10px 70px; text-align:center; color:#fff; text-transform:uppercase; text-decoration:none; border-radius:10px; cursor:pointer; display:inline-block; margin-top:25px; transition:all 0.25s; }
.explore-button:hover               { background:#fff; color:#c89e4b; }
}

/* SLIDER/CAROUSEL MODULE */
@media all {
.carousel                           { margin:6vh auto; padding:0 3%; max-width:1440px; }
.carousel h2                        { margin-bottom:2vw; }
.swiper-container                   { max-height:600px; height:auto; width:100%; margin:0; padding:0; overflow:hidden; position:relative; }
.swiper-wrapper                     { text-align:center; }
.swiper-wrapper .swiper-slide       { align-self:center; }
.swiper-container .swiper-slide img { width:100%; height:auto; object-fit:cover; object-position:bottom; aspect-ratio:16 / 9; } 
.swiper-button-prev,
.swiper-button-next                 { color:#d09c39!important; }
.gp-swiper-button-prev,
.gp-swiper-button-next              {  }
.gp-swiper-button-disabled          { opacity:0.3; cursor:not-allowed; }
.gp-swiper-pagination               { position:absolute; bottom:10px; text-align:center; }
.gp-swiper-pagination-bullet        { background:#000; width:8px; height:8px; border-radius:2px; margin:0 5px; opacity:0.75; display:inline-block; }
.gp-swiper-pagination-bullet-active { background:#fff; }
figcaption                          { position:absolute; bottom:10px; left:10px; background:#000000cc; line-height:1em; color:#f1f1f1; padding:3px; }
}

/* MARQUEE MODULE */
@media all {
.logo-marquee                       { overflow:hidden; white-space:nowrap; background:transparent; padding:20px 0; }
.marquee-track                      { display:inline-flex; animation:marquee var(--duration, 30s) linear infinite; height:100px; }
.marquee-item                       { flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:200px; height:100px; padding:0 30px; }
.marquee-item img                   { max-width:100%; max-height:100%; object-fit:contain; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.logo-marquee:hover .marquee-track  { animation-play-state:paused; }
}

/* GALLERY MODULE */
@media all {
.gallery                            { margin:6vh auto; padding:0 3%; max-width:1440px; }
.gallery h2                         { text-align:left; margin:0 auto 3vw; } 
.gallery-thumbnails                 { width:100%; display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:15px; }
.gallery-item                       { aspect-ratio:1/1; overflow:hidden; cursor:pointer; }
.gallery-item img                   { width:100%; height:100%; object-fit:contain; }
.gallery-item:focus                 { outline:2px solid #c89e4b5e; outline-offset:2px; }
.gallery-swiper                     { max-width:100%; max-height:80vh; }
.gallery-full-image                 { max-width:100%; max-height:80vh; object-fit:contain; }
}

/* CONTACT US LINK BLOCK */
.contact-us-link-block              { display:block; margin:6vh auto; padding:0 3%; max-width:1440px; text-align:center; position:relative; z-index:5;}

/* FAQS */
@media all {
.faq-container                      { width:90%; max-width:1440px; margin:0 auto; padding:0 3%; }
.faq-container h3                   { font-family:"Lato", sans-serif; font-weight:700; text-transform:uppercase; }
.q-a-block-container                { margin:30px 0 60px 20vw; }
.q-a-set                            { border-bottom:2px solid #c89e4b; padding:20px 0;}
.q-a-block-question                 { background:none; border:none; padding:0; font:inherit; font-size:1.25rem; text-align:left; width:100%; color:#54595F; font-weight:600; cursor:pointer; margin-bottom:20px; }
.q-a-block-question:before          { content:'+'; margin-right:10px; }
.q-a-block-question:focus-visible   { outline:2px solid #c89e4b5e; outline-offset:2px; }
button.q-a-block-question           { outline:revert !important; }
.q-a-block-answer                   { display:none; }
.q-a-block-answer li                { list-style:inside; text-indent:10px; }
}

/* SINGLE VENUES (VENUE DETAIL TEMPLATE) */
@media all {
.venue-carousel                     { max-height:600px; height:100%; width:100%; margin:0 auto; padding:0; position:relative; }
.carousel-gradient                  { width:100%; height:30%;position:absolute; top:0; background:transparent; background:linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%); z-index:2; }
.venue-header                       { display:block; position:relative; margin-bottom:6vh; }
.venue-header h1                    { position:absolute; bottom:50px; left:5%; z-index:10; text-shadow:-1px -1px 3px rgb(255 255 255 / 10%), 1px 1px 2px rgb(0 0 0 / 30%); }
.venue-faq,
.venue-spaces                       { width:90%; max-width:1440px; margin:6vh auto; }
.venue-spaces h2                    { margin:0 auto 40px; }
.spaces-list                        { width:100%; display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); justify-content:center; gap:20px; }
.space                              { padding:0 5%; background-color:#ebe5db; border-radius:10px; max-width:480px; }
.space h3                           { margin:20px 0; }
.space p                            { margin:15px auto; font-size:0.75rem; }
.space-capacity                     { font-weight:600; }
.space-img-container                { overflow:hidden; }
.space-img-container img            { width:100%; height:300px; object-fit:cover; object-position:bottom;}
.venue-faq-description              { width:80%; margin:20px auto; text-align:center; }
.venue-contact-map                  { margin:6vh auto; position:relative; width:100%; max-width:1440px; }
.venue-contact-map iframe           { width:100%; height:450px; overflow:hidden; }
.highlight-block-halves.venue h2    { text-align:center; }
.highlight-block-halves.venue p     { text-align:center; line-height:1.5em; margin:20px auto; }
.venue-location-tags                { display:flex; justify-content:center; flex-wrap:wrap; }
.venue-location-tag                 { background:#c89e4b; color:#fff; font-size:0.75rem; padding:5px 10px; border-radius:30px; margin:10px; }
}

/* VENUES BROWSER */
@media all {
.search-stats                       { padding:2vw 3%; text-align:center; font-size:0.75rem; }
.venue-results-grid                 { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:2rem; padding:0 3%; }
.browser-pagination                 { margin:40px 0; text-align:center; } 
.load-more-button                   { background:#c89e4b; border:none; padding:10px 70px; text-align:center; color:#fff; text-transform:uppercase; text-decoration:none; border-radius:10px; cursor:pointer; display:inline-block; margin-top:25px; transition:all 0.25s; }
.load-more-button:hover             { background:#fff; color:#c89e4b;}
.venue-filters                      { padding:0 3%; } 
#venue_filter_form                  { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:center; max-width:1440px; margin:0 auto; }
#venue_filter_form > *              { flex:1 1 200px; min-width:180px; padding:0.5rem; border:1px solid #c89e4b; background:#f1f1f1; color:#222; height:45px; }
#venue_filter_form > *:focus-visible   { outline:2px solid #c89e4b5e; outline-offset:2px; }
#venue_filter_form button           { flex:0 1 auto; padding:0.5rem 0.75rem; background:#aca249; color:#fff; border:none; cursor:pointer; transition:background 0.3s }
#venue_filter_form button:hover     { background:#8d8520; }
#reset_venue_filters                { background:#666; }
#reset_venue_filters:hover          { background:#444; }

.dual-range-slider                  { flex:3 1 600px; }
.dual-range-wrapper                 { position:relative; height:10px; }
.slider-label                       { font-size:0.8rem; }
.dual-range-wrapper input[type="range"] { -webkit-appearance:none; appearance:none; width:100%; height:8px; background:transparent; position:absolute; pointer-events:none; margin:0; }
.dual-range-wrapper input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; height:28px; width:28px; background:#aca249; cursor:pointer; pointer-events:auto; border:3px solid #fff; box-shadow:0 4px 12px rgba(0,0,0,0.2); transition:all 0.2s; position:relative; top:20px; z-index:10}
/* MIN thumb — rounded on left only */
.dual-range-wrapper input.range-min::-webkit-slider-thumb { border-radius:0 50% 50% 50%; }
.dual-range-wrapper input.range-max::-webkit-slider-thumb { border-radius:50% 0 50% 50%; }
/* Firefox */
.dual-range-wrapper input.range-min::-moz-range-thumb { border-radius:0 50% 50% 50%; }
.dual-range-wrapper input.range-max::-moz-range-thumb { border-radius:50% 0 50% 50%; }
/* Edge/IE (HAHAHAHAHA! Grok suggested this one. Man, he's too much. Funny dude, funny dude.) */
.dual-range-wrapper input.range-min::-ms-thumb { border-radius:0 50% 50% 50%; }
.dual-range-wrapper input.range-max::-ms-thumb { border-radius:50% 0 50% 50%; }
.dual-range-wrapper input[type="range"]::-webkit-slider-thumb:hover,
.dual-range-wrapper input[type="range"]:focus-visible::-webkit-slider-thumb { background:#222; transform:scale(1.15); }
.range-track                        { position:absolute; top:50%; transform:translateY(-50%); width:100%; height:8px; background:#ddd; border-radius:4px; pointer-events:none; }
.range-fill                         { position:absolute; top:50%; transform:translateY(-50%); height:5px; background:#c89c4d; border-radius:4px; left:0; right:0; pointer-events:none; transition:all 0.1s; }
.range-thumb                        { position:absolute; top:-42px; transform:translateX(-50%); background:#c89d4d; color:white; padding:6px 12px; border-radius:6px; font-size:0.9rem; font-weight:600; white-space:nowrap; pointer-events:none; opacity:0; transition:opacity 0.2s; }
.range-thumb::after                 { content:""; position:absolute; bottom:-6px; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:#c89d4d; color:#fff; }
input[type="range"]:focus-visible + .range-thumb,
.dual-range-wrapper:hover .range-thumb { opacity:1; }
}

/* VENUE CARD */
@media all {
.venue-card                         { background:#fff; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,0.1); transition:transform 0.3s ease; position:relative; padding-bottom:40px; }
.venue-card:hover                   { transform:translateY(-8px);}
.venue-card a                       { text-decoration:none;  }
.venue-card img                     { width:100%; height:280px; object-fit:cover; }
.card-thumbnail                     { position:relative; }
.venue-exclusive                    { position:absolute; top:0.25rem; left:0.25rem; background:#aca249db; padding:0.25rem 0.5rem; width:fit-content; color:#000; font-size:0.75rem; }
.venue-card h3                      { margin:0.4rem 1rem; text-align:center; color:#aca249; }
.venue-card-location                { background:#f1f1f1; width:95%; margin:0 auto; padding:0.5rem; text-align:center; font-size:0.75rem; text-transform:uppercase; border-radius:50px; }
.venue-card-desc                    { padding:0.5rem 1rem; color:#555; font-size:0.75rem; border-bottom:1px dotted #e1e1e1;}
.card-tags-container                { display:flex; flex-wrap:nowrap; align-items:center; padding:3%; font-size:0.75rem; }
.card-tags-label                    { order:1; flex:1 1 25%; text-align:right; font-family:'Playfair',serif; padding-right:3%; font-size:0.9rem;color:#c89c4d; }
.card-tags                          { order:2; flex:3 3 75%; }
.card-tag-gold                      { background:#c89d4c; color:#fff; padding:0.06rem 0.5rem 0.05rem ; border-radius:50px; width:fit-content; display:inline-block; margin:3px; }
.card-tag-green                     { background:#aca249; color:#fff; padding:0.06rem 0.5rem 0.05rem ; border-radius:50px; width:fit-content; display:inline-block; margin:3px; }
.card-view-more                     { position:absolute; bottom:0; text-align:right; padding:3%; color:#c89e4b; width:100%; font-size:0.75rem; transition:color 0.3s; cursor:inherit; }
.card-view-more:hover               { color:#222; }
}

/* SINGLE MENUS (MENU DETAIL TEMPLATE) */
@media all {
.menu-long-desc                     { font-family:'Playfair',serif; color:#c89e4b; width:60%; margin:25px auto 10px; text-align:center; font-size:1.5rem; }
.menu-block-halves                  { display:flex; flex-wrap:nowrap; justify-content:center; margin:6vh auto; padding:0 3%; max-width:1440px; }
.sub-cat-name-logo-container        { display:flex; flex-wrap:nowrap; align-items:center; }
.sub-cat-logo-box                   { order:2; height:80px; width:80px; border-radius:10px; padding-left:10px; }
.sub-cat-logo-box img               { width:100%; height:100%; object-fit:contain; }
.sub-cat-name-box                   { order:1; padding-left:10px; }
.sub-cat-name-box h2                { margin:0!important; position:relative; top:-4px; }
.menu-block-halves-text             { width:70%; }
.menu-block-halves-text h2          { text-align:left; padding:0; margin:0 0 15px; }
.menu-block-halves-text p           { text-align:left; padding:0 5%; }
.menu-block-halves-img              { width:30%; align-self:center; }
.menu-block-halves-img img          { width:100%; height:auto; object-fit:cover; }
.menu-block-halves .left            { order:1; align-self:center;}
.menu-block-halves .right           { order:2; align-self:center; margin-left:25px; }
.menu-container                     { width:90%; }
.menu-container h3                  { font-family:"Lato", sans-serif; font-weight:700; text-transform:uppercase; }
.m-d-set                            { border-bottom:2px solid #c89e4b; padding:20px 0 10px;}
.m-d-block-question                 { background:none; border:none; padding:0; font:inherit; font-size:1.25rem; text-align:left; width:100%; color:#54595F; font-weight:600; cursor:pointer; margin-bottom:20px; }
.m-d-block-question:before          { content:'+'; margin-right:10px; }
.m-d-block-question:focus-visible   { outline:2px solid #c89e4b5e; outline-offset:2px; }
button.m-d-block-question           { outline:revert !important; }
.m-d-block-answer                   { display:none; }
.m-d-block-answer li                { list-style:inside; text-indent:10px; margin:10px 0;}
.m-d-block-answer li strong         { text-transform:uppercase;}
.dish-desc                          { position:relative; left:4%; }
.dietary-tags                       { font-size:0.9rem; color:#d09c39;  }
.menu-cta                           { font-size:0.9rem; color:#c89e4b; padding:8px 0; text-align:center;}
#menu-faq-cta p                     { font-family:'Playfair',serif; font-size:1.25rem; }
.menu-categories-grid               { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:2rem; padding:2rem; }
}

/* MENU CARD */
@media all {
.menu-cat-block                     { background:#fff; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,0.1); text-align:center; transition:transform 0.3s ease; padding-bottom:10px; }
.menu-cat-block:hover               { transform:translateY(-8px); }
.menu-cat-block a                   { text-decoration:none;  }
.menu-cat-block img                 { width:100%; height:280px; object-fit:cover; }
.menu-cat-block h3                  { margin:1rem 1rem 0.5rem; }
.menu-cat-desc                      { padding:0 1rem; color:#555; font-size:0.9rem;}
.btn-view-menu                      { display:inline-block; margin:1rem; padding:0.75rem 1.5rem; background:#c00; color:white; border-radius:6px; text-decoration:none; font-weight:600; }
}

/* BLOG BROWSER */
@media all {
.blog-results-grid                            { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:2rem; padding:2rem; }
.blog-filter-form .tier1                      { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:center; max-width:90%; margin:0 auto 2vw; }
.blog-filter-form .tier1 > *                  { flex:1 1 200px; min-width:180px; padding:0.5rem; border:1px solid #c89e4b; background:#f1f1f1; color:#222; height:45px; }
.blog-filter-form .tier1 > *:focus-visible    { outline:2px solid #c89e4b5e; outline-offset:2px; }
.blog-filter-form .tier1 button               { flex:0 1 auto; padding:0.5rem 0.75rem; background:#aca249; color:#fff; border:none; cursor:pointer; transition:background 0.3s }
.blog-filter-form .tier1 button:hover         { background:#8d8520; }

.blog-filter-form .tier2                      { padding:0 30px; position:relative; max-width:760px; margin:0 auto 2vw; }

.blog-filter-form input[type=search]          { border:none; border-bottom:1px solid #ccc; width:100%; height:50px; margin:20px auto; padding:0 50px 0 10px; color:#383632; background:transparent; }
.blog-filter-form .search-submit              { background:url('../assets/sprites/site-sprite.webp') -650px -139px no-repeat;  width:50px; height:50px; border:none; position:absolute; right:19px; top:39.5%; text-indent:-9999px; cursor:pointer; }
.blog-filter-form input[type=search]:focus-visible         { outline:2px solid #c89e4b5e; outline-offset:2px; }
.results-count                                { font-size:0.75rem; text-align:center; }
.reset-button                                 { background:#ccc!important; color:#333!important; }
.reset-button:hover                           { background:#aaa!important; }
.back-to-list                                 { display:block; text-align:center; padding:1vw; text-decoration:none; font-size:0.75rem; }
.back-to-list-padless                         { display:block; text-align:center; padding:0; text-decoration:none; font-size:0.75rem; }
}

/* BLOG CARD */
/* Some of the styling here is defined in the venues card section above. */
@media all {
.blog-card                          { background:#aca24961; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,0.1); transition:transform 0.3s ease; position:relative; padding-bottom:40px; }
.blog-card-title-link               { text-decoration:none; }
.blog-card-title-link::after        { content:""; position:absolute; inset:0; z-index:1; cursor:pointer; }
.blog-card:hover                    { transform:translateY(-8px);}
.blog-card-title-link,
.blog-card-title-link:focus         { z-index:2; }
.blog-card a                        { text-decoration:none;  }
.blog-card img                      { width:100%; height:280px; object-fit:cover; }
.blog-card h3                       { margin:0.4rem 1rem; text-align:center; color:#2c2c2c; }
.blog-card-time                     { display:block; background:#f1f1f1; width:95%; margin:0 auto; padding:0.5rem; text-align:center; font-size:0.75rem; text-transform:uppercase; border-radius:50px; margin:1.5vw auto; }
.blog-card-desc                     { padding:0.5rem 1rem; color:#555; font-size:0.75rem; border-bottom:1px dotted #aeaeae;}
.card-view-more                     { cursor:pointer; z-index:2; color:#222; }

/* BLOG POSTS */
@media all {
.blog-post-container                { width:100%; margin:0 auto; padding:2vw; max-width:880px; }
.post-header h1                     { text-align:center; margin-bottom:25px; }
.single-blog__headline img          { width:100%; height:35vw; object-fit:cover; }
.elementor-widget-text-editor       { max-width:760px; }
.post-byline                        { text-align:center; color:#d09c39; margin:2vw auto 5vw; border-bottom:2px solid #c89c4d; width:fit-content; padding:0 0 20px; }
.post-meta                          { display:flex; flex-wrap:wrap; gap:0.5rem; margin:2vw auto 5vw; font-size:0.75rem; justify-content:center; border-top:2px solid #c89c4d; padding:26px 0 14px; width:40%; }                
.post-tag                           { background:#aca249; color:#fff!important; padding:0.35rem 0.75rem; border-radius:9999px; text-decoration:none; transition:background 0.2s; }
.post-tag:hover                     { background:#fff; color:#aca249!important;}
.post-category                      { background:#c89d4c; color:#fff!important; padding:0.35rem 0.75rem; border-radius:9999px; text-decoration:none; transition:background 0.2s; }
.post-category:hover                { background:#fff; color:#c89d4c!important; }
.post-content-elementor li          { padding:0.75vw; }
.post-buffer                        { height:50px; }
.gp-related-title                   { margin:2vw; text-align:left; }
.gp-related-list                    { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:2rem; padding:2rem; }
.gp-related-list li                 { list-style:none; display:block; font-size:0.75rem; text-align:center; box-shadow:0 4px 12px rgba(0,0,0,0.1); transition:transform 0.3s ease; position:relative; background:#fff; overflow:hidden; padding-bottom:1vw; border-radius:8px; } 
.gp-related-list li:hover           { transform:translateY(-8px);}
.gp-related-list li a               { text-decoration:none; }
.gp-related-list li a p             { padding-top:0.5vw; width: 80%; margin: 0 auto; }
/* The following definitions are for VANILLA POSTS only. They do not (or shouldn't) apply to Elementor Posts. */
.post-content-vanilla               {  }
.vanilla-thumbnail                  { width:50%; margin:0 auto; }
.vanilla-thumbnail img              { object-fit:contain; width:100%; margin:0 auto; height:auto; }
.vanilla-body                       { width:100%; max-width:760px; margin:0 auto 25px; }
.vanilla-body p                     { margin:2.5% 0; }
.vanilla-body p:empty,
.vanilla-body p:only-child:contains('&nbsp;') { display:none; }
.vanilla-body h1                    { display:none; }
.vanilla-body h2,
.vanilla-body h3                    { margin:1.5vw 0; }
.vanilla-body ul                    { list-style:inside disc; }
.vanilla-body ol                    { list-style:inside decimal; }
.vanilla-body li                    { margin:1vw 0; display:block; }
}

/* PARTNERS BROWSER */
@media all {
.partners-grid                      { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:2rem; padding:2rem; }
.partner-card-animated,
.partner-card-static                { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,0.1); text-align:center; transition:transform 0.3s ease; padding-bottom:10px; }
.partner-card-animated:hover        { transform:translateY(-8px); }
.partner-card-animated a,
.partner-card-static a              { text-decoration:none; }
.partner-card-animated img,
.partner-card-static img            { width:100%; height:280px; object-fit:cover; }
.partner-card-animated h3,
.partner-card-static h3             { margin:1rem 1rem 0.5rem; }
.partner-desc                       { padding:0 1rem; color:#555; font-size:0.9rem; }
}

/* TESTIMONIAL */
@media all {
.testimonials                        { margin:6vh auto; max-width:1440px; padding:0 3%; }
.testimonials-title                  { margin:0 auto; width:clamp(400px, 70%, 900px); }
.testimonial-left                    { position:relative; margin:6vh 0 6vh 6vh; display:flex; justify-content:flex-start; }
.testimonial-right                   { position:relative; margin:6vh 6vh 6vh 0; display:flex; justify-content:flex-end; }
.testimonial-flex                    { width:25%; }
.testimonial-left  .testimonial-flex { order:3; }
.testimonial-right .testimonial-flex { order:1; }
.testimonial-image                   { width:25%; max-width:150px; position:relative; top:-3vw; }
.testimonial-image img               { width:100%; object-fit:cover; border-radius:50%; }
.testimonial-left  .testimonial-image    { order:1; left:3vw; }
.testimonial-right .testimonial-image    { order:3; left:-3vw; }
.testimonial-text                    { width:50%; background:#fff; order:2; }
.testimonial-left  .testimonial-text     { padding:2vw 2vw 2vw 5vw; border-radius:0 50px; }
.testimonial-right .testimonial-text     { padding:2vw 5vw 2vw 2vw; border-radius:50px 0; }
.testimonial-body                    { font-family:'oooh_babyregular', serif; font-weight:100; font-style:normal; font-size:1.5rem; }
.testimonial-body::before            { content: "“"; }
.testimonial-body::after             { content: "”"; }
.testimonial-author                  { text-align:right; font-size:0.75rem; text-transform:uppercase; margin-top:20px; }
}

/* VIDEO EMBED */
@media all {
.video-embed                        { position:relative; padding-bottom:44%; height:0; overflow:hidden; width:calc(80% - 3vw); max-width:1440px; margin:3vw auto; }
.video-embed iframe                 { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
}

/* INDIVIDUALS BROWSER & CARDS */
@media all {
.individuals-browser                { margin:6vh auto; max-width:1440px; padding:0 3%; cursor:normal; }
.individuals-grid                   { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:2rem; padding:2rem; }
.individual-card-link               { display:block; text-decoration:none; height:100%; }
/*.individual-card                    { transition:transform 0.3s ease; }*/
/*.individual-card:hover              { transform:translateY(-8px); }*/
.individual-headshot-square         { margin:0 auto 2vh; width:200px; height:200px; overflow:hidden; }
.individual-headshot-oval           { margin:0 auto 2vh; width:200px; height:250px; overflow:hidden; border-radius:50%; }
.individual-headshot-rectangle      { margin:0 auto 2vh; width:200px; height:300px; overflow:hidden; }
.individual-headshot-circle         { margin:0 auto 2vh; width:200px; height:200px; overflow:hidden; border-radius:50%; }
.individual-headshot-square img, 
.individual-headshot-oval img,    
.individual-headshot-rectangle img,
.individual-headshot-circle img     { width:100%; object-fit:contain; object-position:center; }
.individual-headshot-fallback       { height:auto; object-fit:contain; object-position:center; width:100%; padding:2vw; text-align:center;} 
.individual-name,
.individual-job-title               {text-align:center; padding:0 0 0.5vw; text-decoration:none; }
/* INDIVIDUAL HIGHLIGHT BLOCK */
.individual-highlight-block               { margin:6vh auto;  display:flex; flex-wrap:nowrap; justify-content:center; padding:0 3%; max-width:1440px; }
.individual-highlight-block-alt-head      { display:none; }
.individual-highlight-block-text          { width:60%; flex-grow:1; }
.individual-highlight-block-text ul       { padding:15px 5%; list-style-position:inside; }
.individual-highlight-block-text h2       { text-align:left; padding:0 5%; margin:4vh 2vh 4vh 0; }
.individual-highlight-block-text p        { text-align:left; padding:0 5%; }
.individual-highlight-block-img           { width:40%; flex-grow:1; align-self:center; }
.individual-highlight-block .left         { order:1; align-self:center;}
.individual-highlight-block .right        { order:2; align-self:center;}

.individual-highlight-headshot-square     { margin:0 auto; width:300px; height:300px; overflow:hidden; }
.individual-highlight-headshot-oval       { margin:0 auto; width:65%; overflow:hidden; border-radius:50%; } 
.individual-highlight-headshot-rectangle  { margin:0 auto; width:65%; overflow:hidden; }
.individual-highlight-headshot-circle     { margin:0 auto; width:300px; height:300px; overflow:hidden; border-radius:50%; }
.individual-highlight-headshot-square img, 
.individual-highlight-headshot-oval img,    
.individual-highlight-headshot-rectangle img,
.individual-highlight-headshot-circle img     { display:block; margin:0 auto; width:100%; object-fit:contain; object-position:center; }
}

/* TAXONOMY ICONS */
@media all {
.taxonomy-icon,
.social-icon                        { display:block; width:50px; height:50px; display:inline-block; }
.icon-outdoor-space                 { background:url('../assets/sprites/taxonomy-sprite.webp') 0      0       no-repeat; }
.icon-outdoor-wedding-venue         { background:url('../assets/sprites/taxonomy-sprite.webp') -50px  0       no-repeat; }
.icon-parking-lot                   { background:url('../assets/sprites/taxonomy-sprite.webp') -100px 0       no-repeat; }
.icon-public-transportation         { background:url('../assets/sprites/taxonomy-sprite.webp') -150px 0       no-repeat; }
.icon-reception-area                { background:url('../assets/sprites/taxonomy-sprite.webp') -200px 0       no-repeat; }
.icon-restrooms                     { background:url('../assets/sprites/taxonomy-sprite.webp') -250px 0       no-repeat; }
.icon-stuning-view                  { background:url('../assets/sprites/taxonomy-sprite.webp') -300px 0       no-repeat; }
.icon-tall-cielings                 { background:url('../assets/sprites/taxonomy-sprite.webp') -350px 0       no-repeat; }
.icon-valet                         { background:url('../assets/sprites/taxonomy-sprite.webp') -400px 0       no-repeat; }
.icon-wheelchair-accessible         { background:url('../assets/sprites/taxonomy-sprite.webp') -450px 0       no-repeat; }
.icon-iconic                        { background:url('../assets/sprites/taxonomy-sprite.webp') 0      -50px   no-repeat; }
.icon-in-house-av-tech              { background:url('../assets/sprites/taxonomy-sprite.webp') -50px  -50px   no-repeat; }
.icon-indoor-event-space            { background:url('../assets/sprites/taxonomy-sprite.webp') -100px -50px   no-repeat; }
.icon-kitchen                       { background:url('../assets/sprites/taxonomy-sprite.webp') -150px -50px   no-repeat; }
.icon-liability-insurance           { background:url('../assets/sprites/taxonomy-sprite.webp') -200px -50px   no-repeat; }
.icon-meeting-space                 { background:url('../assets/sprites/taxonomy-sprite.webp') -250px -50px   no-repeat; }
.icon-modern                        { background:url('../assets/sprites/taxonomy-sprite.webp') -300px -50px   no-repeat; }
.icon-museum-wedding-site           { background:url('../assets/sprites/taxonomy-sprite.webp') -350px -50px   no-repeat; }
.icon-natural-light                 { background:url('../assets/sprites/taxonomy-sprite.webp') -400px -50px   no-repeat; }
.icon-on-site-accomodation          { background:url('../assets/sprites/taxonomy-sprite.webp') -450px -50px   no-repeat; }
.icon-historic                      { background:url('../assets/sprites/taxonomy-sprite.webp') 0      -100px  no-repeat; }
.icon-200-ft-clear-top-tent         { background:url('../assets/sprites/taxonomy-sprite.webp') -50px  -100px  no-repeat; }
.icon-auditorium                    { background:url('../assets/sprites/taxonomy-sprite.webp') -100px -100px  no-repeat; }
.icon-ceremony-area                 { background:url('../assets/sprites/taxonomy-sprite.webp') -150px -100px  no-repeat; }
.icon-classic                       { background:url('../assets/sprites/taxonomy-sprite.webp') -200px -100px  no-repeat; }
.icon-coat-check                    { background:url('../assets/sprites/taxonomy-sprite.webp') -250px -100px  no-repeat; }
.icon-cultural-institution          { background:url('../assets/sprites/taxonomy-sprite.webp') -300px -100px  no-repeat; }
.icon-dressing-room                 { background:url('../assets/sprites/taxonomy-sprite.webp') -350px -100px  no-repeat; }
.icon-garden                        { background:url('../assets/sprites/taxonomy-sprite.webp') -400px -100px  no-repeat; }
.icon-handicap-accessible           { background:url('../assets/sprites/taxonomy-sprite.webp') -450px -100px  no-repeat; }
.icon-rooftop                       { background:url('../assets/sprites/taxonomy-sprite.webp') 0      -150px  no-repeat; }
.icon-rustic                        { background:url('../assets/sprites/taxonomy-sprite.webp') -50px  -150px  no-repeat; }
.icon-ballroom                      { background:url('../assets/sprites/taxonomy-sprite.webp') -100px -150px  no-repeat; }
.icon-barn                          { background:url('../assets/sprites/taxonomy-sprite.webp') -150px -150px  no-repeat; }
.icon-classy                        { background:url('../assets/sprites/taxonomy-sprite.webp') -200px -150px  no-repeat; }
.icon-corporate                     { background:url('../assets/sprites/taxonomy-sprite.webp') -250px -150px  no-repeat; }
.icon-eclectic                      { background:url('../assets/sprites/taxonomy-sprite.webp') -300px -150px  no-repeat; }
.icon-estate                        { background:url('../assets/sprites/taxonomy-sprite.webp') -350px -150px  no-repeat; }
.icon-factory                       { background:url('../assets/sprites/taxonomy-sprite.webp') -400px -150px  no-repeat; }
.icon-grand                         { background:url('../assets/sprites/taxonomy-sprite.webp') -450px -150px  no-repeat; }
.icon-country-clubs                 { background:url('../assets/sprites/taxonomy-sprite.webp') 0      -200px  no-repeat; }
.icon-historic                      { background:url('../assets/sprites/taxonomy-sprite.webp') -50px  -200px  no-repeat; }
.icon-hotels                        { background:url('../assets/sprites/taxonomy-sprite.webp') -100px -200px  no-repeat; }
.icon-industrial                    { background:url('../assets/sprites/taxonomy-sprite.webp') -150px -200px  no-repeat; }
.icon-libraries-bookshops           { background:url('../assets/sprites/taxonomy-sprite.webp') -200px -200px  no-repeat; }
.icon-lofts                         { background:url('../assets/sprites/taxonomy-sprite.webp') -250px -200px  no-repeat; }
.icon-museums                       { background:url('../assets/sprites/taxonomy-sprite.webp') -300px -200px  no-repeat; }
.icon-national-register-of-historic-places    { background:url('../assets/sprites/taxonomy-sprite.webp') -350px -200px  no-repeat; }
.icon-park                          { background:url('../assets/sprites/taxonomy-sprite.webp') -400px -200px  no-repeat; }
.icon-restaurant                    { background:url('../assets/sprites/taxonomy-sprite.webp') -450px -200px  no-repeat; }
.icon-wedding-venue                 { background:url('../assets/sprites/taxonomy-sprite.webp') 0      -250px  no-repeat; }
.icon-wireless-internet             { background:url('../assets/sprites/taxonomy-sprite.webp') -50px  -250px  no-repeat; }
}

/* SOCIAL ICONS */
@media all {
.icon-facebook                      { background:url('../assets/sprites/taxonomy-sprite.webp') -100px  -250px  no-repeat; }
.icon-instagram                     { background:url('../assets/sprites/taxonomy-sprite.webp') -150px  -250px  no-repeat; }
.icon-pinterest                     { background:url('../assets/sprites/taxonomy-sprite.webp') -200px  -250px  no-repeat; }
.icon-linkedin                      { background:url('../assets/sprites/taxonomy-sprite.webp') -250px  -250px  no-repeat; }
.icon-tiktok                        { background:url('../assets/sprites/taxonomy-sprite.webp') -300px  -250px  no-repeat; }
}

/* SITE ICONS */
@media all {
  .arrow-left                       { background:url('../assets/sprites/site-sprite.webp') -720px 0px no-repeat;    width:51px; height:51px; }
  .arrow-left:hover                 { background:url('../assets/sprites/site-sprite.webp') -720px -70px no-repeat;  width:51px; height:51px; }
  .arrow-right                      { background:url('../assets/sprites/site-sprite.webp') -790px 0px no-repeat;    width:51px; height:51px; }
  .arrow-right:hover                { background:url('../assets/sprites/site-sprite.webp') -790px -70px no-repeat;  width:51px; height:51px; }
  .arrow-up                         { background:url('../assets/sprites/site-sprite.webp') -650px 0px no-repeat;    width:51px; height:51px; }
  .arrow-up:hover                   { background:url('../assets/sprites/site-sprite.webp') -650px -70px no-repeat;  width:51px; height:51px; }
  .arrow-down                       { background:url('../assets/sprites/site-sprite.webp') -580px 0px no-repeat;    width:51px; height:51px; }
  .arrow-down:hover                 { background:url('../assets/sprites/site-sprite.webp') -580px -70px no-repeat;  width:51px; height:51px; }
  .gp-logo-gold                     { background:url('../assets/sprites/site-sprite.webp') 0px 0px no-repeat;       width:294px; height:76px; }     
  .gp-logo-white                    { background:url('../assets/sprites/site-sprite.webp') 0px -100px no-repeat;    width:294px; height:76px; }
  .gp-logo-gold-mobile              { position:relative; top:15px; background:url('../assets/sprites/site-sprite.webp') 0px -200px no-repeat; width:232px; height:60px; }     
  .gp-logo-white-mobile             { position:relative; top:15px; background:url('../assets/sprites/site-sprite.webp') -270px -200px no-repeat; width:232px; height:60px; }
  .gp-logo-gold-tiny                { position:relative; top:5px; background:url('../assets/sprites/site-sprite.webp') -550px -230px no-repeat; width:135px; height:35px; }     
  .gp-logo-white-tiny               { position:relative; top:5px; background:url('../assets/sprites/site-sprite.webp') -700px -230px no-repeat; width:135px; height:35px; }
  .hamburger                        { background:url('../assets/sprites/site-sprite.webp') -580px -140px no-repeat;  width:36px; height:36px; }
  .site-search                      { background:url('../assets/sprites/site-sprite.webp') -650px -139px no-repeat;  width:36px; height:36px; }
  .menu-close                       { background:url('../assets/sprites/site-sprite.webp') -790px -140px no-repeat;  width:51px; height:51px; }
}

/* FOOTER ELEMENTS */
@media all {
.global-warning                     { position:fixed; top:0; width:100%; padding:5px; background:#f00; color:#fff; text-align:center; font-size:0.75rem; }
.site-footer                        { background:#fff; color:#c89e4b; padding:5vw 0; }
.site-footer-container              { margin:0 auto; max-width:1440px; display:flex; flex-wrap:nowrap; padding:0 3%; }
.site-footer-left                   { width:50%; position:relative; }
.site-footer-right                  { width:50%; position:relative; }
.site-footer-right-container        { width:fit-content; position:absolute; right:0; }
.site-footer-right h3               { padding-left:1.2vw; }
.footer-nav li                      { list-style:none; margin:1vh 0; }
.social-icons                       { margin-top:15px; }
.social-icons li                    { list-style:none;  display:inline-block; width:50px; height:50px; margin:0 0.5vw; }
.footer-nav a                       { text-decoration:none; color:inherit; width:100%; height:100%;}
.footer-nav a:hover                 { color:#d09c39; }
.footer-contact,
.footer-address                     { margin:20px 0; padding-left:20px;}
.footer-address a,
.footer-contact a                   { text-decoration:none; color:inherit; width:100%; height:100%;}
.footer-address a:hover,    
.footer-contact a:hover             { color:#d09c39; }
.min-width-warning                  { display:none; position:fixed; height:100%; width:100%; background-color:#aca249; align-items:center; align-content:center; flex-wrap:wrap;}
.min-width-warning h3               { width:100%; padding:0 2%; text-align:center; color:#fff; font-size:2.5rem; margin-bottom:2vh;}
.min-width-warning p                { width:100%; padding:0 2%; text-align:center; color:#222; }
}

/* PRINT READY */
@media print {
  .menu-faq-cta,
  .back-link,
  .btn-secondary,
  .skip-link,
  header, footer, nav, aside        { display:none !important; }
  .menu-hero .hero-image            { height:200px; page-break-inside:avoid; }
  .sub-category, .course            { page-break-inside:avoid; }
  h1, h2, h3                        { page-break-after:avoid; }
  body                              { font-size:12pt; color:#000; background:#fff; }
}

/* MEDIA QUERY BREAKS */
@media all and (max-width:320px) {
  main, .site-header, .site-footer, .gp-modal    { display:none; }
  .min-width-warning                { display:flex; }
}

@media all and (min-width:321px) and (max-width:480px) {
  .primary-menu-open, .primary-menu-close, .gp-modal-close { left:84%; }
  .primary-nav .submenu-toggle      { left:auto; right:0; }
  .sub-menu .menu-item              { margin:2vw 0; }
  .site-header-container            { padding:2px 2px 0; }
  .site-header-bg                   { height:85px; }
  .site-header-buttons              { margin-right:30px; }
  .header-search                    { padding:10px; margin-right:30px; }
  .home-navigation                  { padding-top:5px;}
  .home-navigation a                { top:0; }
  .gp-logo-gold,
  .gp-logo-gold-mobile              { display:none!important; }
  .gp-logo-gold-tiny                { display:block; }
  .gp-logo-white,
  .gp-logo-white-mobile             { display:none!important;}
  .gp-logo-white-tiny               { display:block;}
  .primary-nav .menu-item           { margin:12px; }
  .desktop-nav                      { display:none; }
  .sub-menu                         { display:none; }
  .search-results-grid              { grid-template-columns:none; justify-content:normal; }

  /* Headline Text Block */
  .headline-text-block-halves         { display:block; }
  .headline-text-block-halves-headline,
  .headline-text-block-halves-text    { width:100%; height:auto; }
  .headline-text-block-halves-headline.left,
  .headline-text-block-halves-headline.right { order:2!important;}
  .headline-text-block-halves-text.left,
  .headline-text-block-halves-text.right { order:1!important; }

  /* Highlight Block Halves */
  .highlight-block-halves             { flex-wrap:wrap; margin:6vh auto; padding:0 3%; }
  .highlight-block-halves
  .highlight-block-halves-text,
  .highlight-block-halves-text .left,
  .highlight-block-halves-text .right { order:2!important; width:100%; height:auto;  }
  .highlight-block-halves-img,
  .highlight-block-halves-img.left,
  .highlight-block-halves-img.right   { order:2!important; width:100%; height:160px; overflow:hidden; }
  .highlight-block-halves-text        { margin-bottom:2vh; }
  .highlight-block-halves-text h2     { margin:4vw 0; }

  /* Highlight Block Knockout */
  .knockout-shape                     { width:90%; }
  .highlight-block-knockout-text p    { padding:1rem 5%; }

  /* Highlight Block Whole */
  .highlight-block-whole-text h2      { margin:4vw 0; }
  .highlight-block-whole-text p       { padding:0 5%; }

  /* Picture in Picture */
  .picture-in-picture-flex            { display:block; }
  .picture-in-picture-text,
  .picture-in-picture-inlay           { width:100%; }
  .picture-in-picture-text.left,
  .picture-in-picture-text.right      { order:1!important; }
  .picture-in-picture-inlay.left,
  .picture-in-picture-inlay.right     { order:2!important; }
  .picture-in-picture-inlay-frame     { top:0!important; left:0!important; width:100%!important; max-width:100%!important; margin-bottom:0!important;}
  .picture-in-picture-inlay-frame img { display:none; }
  .pip-top-right-headline             { width:100vw; text-align:center; }

  .hero-image-photo                   { align-items:flex-end!important; height:85vw;}
  .hero-image-text                    { width:100%; padding:0 5px 10px; }
  .footer-nav                         { display:flex;  justify-content:space-around; flex-wrap:wrap; margin-bottom:5vw; }
  .footer-nav li                      { margin:0.5vh 3vw; }
  .site-footer-container              { flex-wrap:wrap; }
  .site-footer-left                   { order:2!important; width:100%; text-align:center; }
  .site-footer-right                  { order:1!important; width:100%; }
  .site-footer-right-container        { width:100%; position:relative; right:auto; margin-bottom:5vw; }
  .site-footer-right h3,
  .footer-contact,
  .footer-address                     { text-align:center; margin:0 auto; padding:0; }
  .site-footer-right .social-icons    { display:flex; justify-content:space-around; margin:15px auto 0; }
  .q-a-block-container                { margin:15px 0 30px; }
  .q-a-set                            { padding:10px 0; }
  .form-group                         { display:flex; flex-wrap:wrap; margin:6vh auto; gap:0;}
  .form-group-title                   { order:1; width:100%; }
  .form-group-fields                  { order:2; width:100%; }
  .menu-long-desc                     { width:95%; font-size:0.75rem; }
  .menu-block-halves-img              { display:none; }
  .menu-block-halves-text, .menu-container { width:100%; }
  .menu-block-halves-text.left,
  .menu-block-halves-text.right       { margin:0 auto; }
  .testimonial-flex                   { display:none; }
  .testimonial-image                  { width:20%; }
  .testimonial-text                   { width:80%; }

  /* Individual highlight block */
  .individual-highlight-block               { flex-wrap:wrap;}
  .individual-highlight-block-alt-head      { display:block; order:1; align-self:center;}
  .individual-highlight-block-text h2       { display:none; }
  .individual-highlight-block-text,
  .individual-highlight-block-img           { width:100%; }
  .individual-highlight-block .left         { order:3; align-self:center; }
  .individual-highlight-block .right        { order:2; align-self:center; }
  .individual-highlight-headshot-square,
  .individual-highlight-headshot-oval,
  .individual-highlight-headshot-rectangle,
  .individual-highlight-headshot-circle     { width:50%; margin:4vw auto; }

  .space                              { max-width:95%; }

}

@media all and (min-width:481px) and (max-width:600px) {
  .primary-menu-open, .primary-menu-close, .gp-modal-close { left:86%; }
  .primary-nav .submenu-toggle        { left:auto; right:0; }
  .sub-menu .menu-item                { margin:2vw 0; }
  .site-header-container              { padding:12px 12px 0; }
  .primary-nav .menu-item             { margin:12px; }
  .desktop-nav                        { display:none; }
  .sub-menu                           { display:none; }
  .search-results-grid                { grid-template-columns:none; justify-content:normal; }
  .site-header-bg                     { height:100px; }
  .home-navigation                    { padding-top:8px;}
  .home-navigation a                  { top:0; }
  .gp-logo-gold                       { display:none!important; }
  .gp-logo-gold-mobile                { display:block; }
  .gp-logo-white                      { display:none!important; }
  .gp-logo-white-mobile               { display:block;}
  .gp-logo-gold-tiny,
  .gp-logo-white-tiny                 { display:none!important; }

  /* Headline Text Block */
  .headline-text-block-halves         { display:block; }
  .headline-text-block-halves-headline,
  .headline-text-block-halves-text    { width:100%; height:auto; }
  .headline-text-block-halves-headline.left,
  .headline-text-block-halves-headline.right { order:2!important;}
  .headline-text-block-halves-text.left,
  .headline-text-block-halves-text.right { order:1!important; }

  /* Highlight Block Halves */
  .highlight-block-halves             { flex-wrap:wrap; margin:6vh auto; padding:0 3%; }
  .highlight-block-halves
  .highlight-block-halves-text,
  .highlight-block-halves-text.left,
  .highlight-block-halves-text.right  { order:2!important; width:100%; height:auto;  }
  .highlight-block-halves-img,
  .highlight-block-halves-img.left,
  .highlight-block-halves-img.right   { order:2!important; width:100%; height:160px; overflow:hidden; }
  .highlight-block-halves-text        { margin-bottom:2vh; }
  .highlight-block-halves-text h2     { margin:4vw 0; }

  /* Highlight Block Knockout */
  .knockout-shape                     { width:85%; }
  .highlight-block-knockout-text p    { padding:1rem 7.5%; }

  /* Highlight Block Whole */
  .highlight-block-whole-text h2      { margin:4vw 0; }
  .highlight-block-whole-text p       { padding:0 7.5%; }

  /* Picture in Picture */
  .picture-in-picture-flex            { display:block; }
  .picture-in-picture-text,
  .picture-in-picture-inlay           { width:100%; }
  .picture-in-picture-text.left,
  .picture-in-picture-text.right      { order:1!important; }
  .picture-in-picture-inlay.left,
  .picture-in-picture-inlay.right     { order:2!important; }
  .picture-in-picture-inlay-frame     { top:0!important; left:0!important; width:100%!important; max-width:100%!important; margin-bottom:0!important;}
  .picture-in-picture-inlay-frame img { display:none; }
  .pip-top-right-headline             { width:100vw; text-align:center; }

  .hero-image-photo                   { align-items:flex-end!important; height:70vw;}
  .hero-image-text                    { width:100%; padding:0 5px 10px; }
  .site-footer-container              { flex-wrap:wrap; }
  .site-footer-left                   { order:2!important; width:100%; text-align:center; }
  .site-footer-right                  { order:1!important; width:100%; }
  .site-footer-right-container        { width:100%; position:relative; right:auto; margin-bottom:5vw; }
  .footer-nav                         { display:flex;  justify-content:space-around; flex-wrap:wrap; margin-bottom:5vw; }
  .footer-nav li                      { margin:0.5vh 3vw; }
  .site-footer-right h3,
  .footer-contact,
  .footer-address                     { text-align:center; margin:0 auto; padding:0; }
  .site-footer-right .social-icons    { display:flex; justify-content:space-around; margin:15px auto 0; }
  .q-a-block-container                { margin:20px 0 40px; }
  .q-a-set                            { padding:10px 0; }
  .form-group                         { display:flex; flex-wrap:wrap; margin:6vh auto; gap:0;}
  .form-group-title                   { order:1; width:100%; }
  .form-group-fields                  { order:2; width:100%; }
  .menu-long-desc                     { width:95%; font-size:1.05rem; }
  .menu-block-halves-img              { display:none; }
  .menu-block-halves-text, .menu-container { width:100%; }
  .menu-block-halves-text.left,
  .menu-block-halves-text.right       { margin:0 auto; }
  .testimonial-flex                   { width:10%; }
  .testimonial-image                  { width:20%; }
  .testimonial-text                   { width:70%; }

  /* Individual highlight block */
  .individual-highlight-block               { flex-wrap:wrap;}
  .individual-highlight-block-alt-head      { display:block; order:1; align-self:center;}
  .individual-highlight-block-text h2       { display:none; }
  .individual-highlight-block-text,
  .individual-highlight-block-img           { width:100%; }
  .individual-highlight-block .left         { order:3; align-self:center; }
  .individual-highlight-block .right        { order:2; align-self:center; }
  .individual-highlight-headshot-square,
  .individual-highlight-headshot-oval,
  .individual-highlight-headshot-rectangle,
  .individual-highlight-headshot-circle     { width:50%; margin:4vw auto; }

  .space                              { max-width:95%; }
}

@media all and (min-width:601px) and (max-width:768px) {
  .primary-menu-open, .primary-menu-close, .gp-modal-close { left:88%; }
  .primary-nav .submenu-toggle        { left:auto; right:0; }
  .sub-menu .menu-item                { margin:2vw 0; }
  .primary-nav .menu-item             { margin:5px; }
  .desktop-nav                        { display:none; }
  .home-navigation a                  { top:0; }
  .search-results-grid                { grid-template-columns:none; justify-content:normal; justify-items:normal; }
  .gp-logo-gold                       { display:block; }
  .gp-logo-gold-mobile                { display:none!important; }
  .gp-logo-white                      { display:block; }
  .gp-logo-white-mobile               { display:none!important;}
  .gp-logo-gold-tiny,
  .gp-logo-white-tiny                 { display:none!important; }

  /* Headline Text Block */


  /* Highlight Block Halves */
  .highlight-block-halves-text h2     { margin:4vw 0; }

  /* Highlight Block Knockout */
  .highlight-block-knockout-text p    { padding:1rem 10%; }

  /* Highlight Block Whole */
  .highlight-block-whole-text h2      { margin:4vw 0; }
  .highlight-block-whole-text p       { padding:0 10%; }

  /* Picture in Picture */
  .picture-in-picture-flex            { flex-wrap:wrap; padding-bottom:20px; }
  .picture-in-picture-text,
  .picture-in-picture-inlay           { width:100%; }
  .picture-in-picture-text.left,
  .picture-in-picture-text.right      { order:1!important; }
  .picture-in-picture-inlay.left,
  .picture-in-picture-inlay.right     { order:2!important; }
  .picture-in-picture-inlay-frame     { top:0!important; left:0!important; width:100%!important; max-width:100%!important; margin-bottom:0!important;}
  .picture-in-picture-inlay-frame img { display:none; }
  .pip-top-right-headline             { width:100vw; text-align:center; }

  .site-footer-container              { flex-wrap:wrap; }
  .site-footer-left                   { order:2!important; width:100%; text-align:center; }
  .footer-nav                         { display:flex;  justify-content:space-around; flex-wrap:wrap; margin-bottom:5vw; }
  .footer-nav li                      { margin:0.5vh 3vw; }
  .site-footer-right                  { order:1!important; width:100%; }
  .site-footer-right-container        { width:100%; position:relative; right:auto; margin-bottom:5vw; }
  .site-footer-right h3,
  .footer-contact,
  .footer-address                     { text-align:center; margin:0 auto; padding:0; }
  .site-footer-right .social-icons    { display:flex; justify-content:space-around; margin:15px auto 0; }
  .form-group                         { display:flex; flex-wrap:wrap; margin:6vh auto; gap:0;}
  .form-group-title                   { order:1; width:100%; }
  .form-group-fields                  { order:2; width:100%; }
  .menu-long-desc                     { width:75%; font-size:1.25rem; }
  .menu-block-halves-img              { display:none; }
  .menu-block-halves-text, .menu-container { width:100%; }
  .menu-block-halves-text.left,
  .menu-block-halves-text.right       { margin:0 auto; }
  .testimonial-flex                   { width:20%; }
  .testimonial-image                  { width:20%; }
  .testimonial-text                   { width:60%; }

  /* Individual highlight block */
  .individual-highlight-block               { flex-wrap:wrap;}
  .individual-highlight-block-alt-head      { display:block; order:1; align-self:center;}
  .individual-highlight-block-text h2       { display:none; }
  .individual-highlight-block-text,
  .individual-highlight-block-img           { width:100%; }
  .individual-highlight-block .left         { order:3; align-self:center; }
  .individual-highlight-block .right        { order:2; align-self:center; }
  .individual-highlight-headshot-square,
  .individual-highlight-headshot-oval,
  .individual-highlight-headshot-rectangle,
  .individual-highlight-headshot-circle     { width:50%; margin:4vw auto; }
}

@media all and (min-width:769px) and (max-width:850px) {
  .primary-menu-open, .primary-menu-close, .gp-modal-close { left:90%; }
  .sub-menu .menu-item                { margin:1.5vw 0; }
  .desktop-nav                        { display:none; }
  .gp-logo-gold                       { display:block; }
  .gp-logo-gold-mobile                { display:none!important; }
  .gp-logo-white                      { display:block; }
  .gp-logo-white-mobile               { display:none!important;}
  .gp-logo-gold-tiny,
  .gp-logo-white-tiny                 { display:none!important; }
  .search-results-grid                { grid-template-columns:repeat(auto-fit, 48%); }
  .testimonial-flex                   { width:20%; }
  .testimonial-image                  { width:20%; }
  .testimonial-text                   { width:60%; }
  
  /* Headline Text Block */


  /* Highlight Block Halves */
  

  /* Highlight Block Knockout */


  /* Highlight Block Whole */


  /* Picture in Picture */
  .picture-in-picture-inlay-frame     { top:-13vh; }

  /* Individual highlight block */
  .individual-highlight-block               { flex-wrap:wrap;}
  .individual-highlight-block-alt-head      { display:block; order:1; align-self:center;}
  .individual-highlight-block-text h2       { display:none; }
  .individual-highlight-block-text,
  .individual-highlight-block-img           { width:100%; }
  .individual-highlight-block .left         { order:3; align-self:center; }
  .individual-highlight-block .right        { order:2; align-self:center; }
  .individual-highlight-headshot-square,
  .individual-highlight-headshot-oval,
  .individual-highlight-headshot-rectangle,
  .individual-highlight-headshot-circle     { width:50%; margin:4vw auto; }
}

@media all and (min-width:851px) and (max-width:900px) {
  .desktop-nav                        { display:none; }
  .sub-menu .menu-item                { margin:1.5vw 0; }
}

@media all and (min-width:851px) and (max-width:1024px) {
  .primary-menu-open, .primary-menu-close, .gp-modal-close { left:90%; }
  .sub-menu .menu-item                { margin:1.5vw 0; }
  .gp-logo-gold                       { display:block; }
  .gp-logo-gold-mobile                { display:none!important; }
  .gp-logo-white                      { display:block; }
  .gp-logo-white-mobile               { display:none!important;}
  .gp-logo-gold-tiny,
  .gp-logo-white-tiny                 { display:none!important; }
/* Headline Text Block */


  /* Highlight Block Halves */
  

  /* Highlight Block Knockout */


  /* Highlight Block Whole */


  /* Picture in Picture */
  .picture-in-picture-inlay-frame     { top:-17vh; }
}

@media all and (min-width:1025px) and (max-width:1200px) {
  .sub-menu .menu-item                { margin:1.5vw 0; }
  .gp-logo-gold                       { display:block; }
  .gp-logo-gold-mobile                { display:none!important; }
  .gp-logo-white                      { display:block; }
  .gp-logo-white-mobile               { display:none!important;}
  .gp-logo-gold-tiny,
  .gp-logo-white-tiny                 { display:none!important; }
  /* Headline Text Block */


  /* Highlight Block Halves */
  

  /* Highlight Block Knockout */


  /* Highlight Block Whole */


  /* Picture in Picture */
}

@media all and (min-width:1201px) and (max-width:1440px) {
  .sub-menu .menu-item                { margin:1vw 0; }
  .gp-logo-gold                       { display:block; }
  .gp-logo-gold-mobile                { display:none!important; }
  .gp-logo-white                      { display:block; }
  .gp-logo-white-mobile               { display:none!important;}
  .gp-logo-gold-tiny,
  .gp-logo-white-tiny                 { display:none!important; }
  .knockout-shape                     { width:50%; }
  .hero-image-text                    { width:60%; padding:150px 5vw 5% 0; }
  /* Headline Text Block */


  /* Highlight Block Halves */
  

  /* Highlight Block Knockout */


  /* Highlight Block Whole */


  /* Picture in Picture */
}

@media all and (min-width:1441px) {
  .sub-menu .menu-item                { margin:0.75vw 0; }
  .gp-logo-gold                       { display:block; }
  .gp-logo-gold-mobile                { display:none!important; }
  .gp-logo-white                      { display:block; }
  .gp-logo-white-mobile               { display:none!important;}
  .gp-logo-gold-tiny,
  .gp-logo-white-tiny                 { display:none!important; }
  .knockout-shape                     { width:50%; }
  .hero-image-text                    { width:45%; padding:150px 5vw 5% 0; }
  /* Headline Text Block */


  /* Highlight Block Halves */
  

  /* Highlight Block Knockout */


  /* Highlight Block Whole */


  /* Picture in Picture */
}

