@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Oswald:wght@200..700&display=swap');


:root {
  --color-primary: #0A3155;
  --color-gold: #C5A364;
  --color-tan: #DBC8A7;
  --color-yellow: #FFD621;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-dgray: #313131;
  --color-lgray: #bbbbbb;
  --color-mgray: #707070;
  --color-draft: #ff00b3;
  --color-strat-teal: #2F818E; 
  --color-strat-orange: #C45434;
	--color-strat-blue: #00476B;
  --color-aux-blue: #557A9B;
  --font-oswald: "Oswald", arial, sans-serif;
  --font-open-sans: "Open Sans", arial, sans-serif;
}

body {
  font-family: var(--font-open-sans); 
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
}

.ar-bodytext {
  font-family: var(--font-open-sans); 
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
}

@media (max-width: 767px) {
  .ar-text-table {
    font-family: var(--font-oswald); 
    font-weight: 300;
    font-style: normal;
  }
}

.ar-text-subheading {
  font-family: var(--font-oswald); 
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.ar-text-heading {
  font-family: var(--font-oswald); 
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.ar-text-quote {
  font-family: var(--font-oswald); 
  font-weight: 400;
}

.ar-text-nav {
  font-family: var(--font-oswald); 
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.ar-text-mainheading {
  font-family: var(--font-oswald); 
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
    letter-spacing: .1em;

}

.ar-text-draft {color: var(--color-draft);}
.ar-text-tan {color: var(--color-tan);}
.ar-text-primary {color: var(--color-primary);}
.ar-text-gold {color: var(--color-gold);}
.ar-text-yellow {color: var(--color-yellow);}
.ar-text-lgray {color: var(--color-lgray);}
.ar-text-mgray {color: var(--color-mgray);}
.ar-text-dray {color: var(--color-dgray);}
.ar-text-strat-blue {color: var(--color-strat-blue);}
.ar-text-strat-teal {color: var(--color-strat-teal);}
.ar-text-strat-orange {color: var(--color-strat-orange);}
.ar-text-aux {color: var(--color-aux-blue);}

.ar-bg-draft {background-color: var(--color-draft);}
.ar-bg-tan {background-color: var(--color-tan);}
.ar-bg-primary {background-color: var(--color-primary);}
.ar-bg-gold {background-color: var(--color-gold);}
.ar-bg-yellow {background-color: var(--color-yellow);}
.ar-bg-lgray {background-color: var(--color-lgray);}
.ar-bg-mgray {background-color: var(--color-mgray);}
.ar-bg-dgray {background-color: var(--color-dgray);}
.ar-bg-strat-orange {background-color: var(--color-strat-orange);}
.ar-bg-strat-teal {background-color: var(--color-strat-teal);}
.ar-bg-strat-blue {background-color: var(--color-strat-blue);}
.ar-bg-aux {background-color: var(--color-aux-blue);}

.ar-line-tan {
  background-color: var(--color-tan);
  height:4px;
}
.ar-line-white {
  background-color: white;
  height:4px;
}
.ar-line-yellow {
  background-color: var(--color-yellow);
  height:4px;
}
.ar-line-gold {
  background-color: var(--color-gold);
  height:4px;
}
.ar-line-primary {
  background-color: var(--color-primary);
  height:4px;
}
.ar-line-aux {
  background-color: var(--color-aux-blue);
  height:4px;
}

.ar-line-black {
  background-color: var(--color-black);
  height:4px;
}
.ar-line-mgray {
  background-color: var(--color-mgray);
  height:4px;
}
li a,
p a {
  text-decoration: underline;
}

html.search-active,
body.search-active {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}

body.search-active {
  overflow: hidden !important;
}


@media (max-width: 767px) {

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

  .embed-container iframe,
  .embed-container object,
  .embed-container embed { 
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
  }
}



/* GALLERY STYLES */

.break-inside-avoid {
  transform: translateZ(0); /* Triggers GPU acceleration for smoother rendering */
}

.gallery-trigger img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

#gallery-lightbox {
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
              display 0.4s cubic-bezier(0.4, 0, 0.2, 1) allow-discrete;

  /* Force layout engine to respect screen coordinates over browser defaults */
  position: fixed;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  margin: 0 !important;
  border: none !important;
  
  width: 100vw !important;
  height: 100vh !important;
}

/* Viewport content layout stabilizer */
.lightbox-modal-viewport {
  width: 100vw;
  height: 100vh;
}

/* Ensure display behaviors coordinate properly when opening/closing */
#gallery-lightbox:not([open]) {
  display: none !important;
}

#gallery-lightbox[open] {
  display: flex !important;
  opacity: 1;
}

/* Entry point tracking animation rule for modern layout engines */
@starting-style {
  #gallery-lightbox[open] {
    opacity: 0;
  }
}

/* Semi-Transparent Backdrop Layer */
#gallery-lightbox::backdrop {
  background-color: rgb(0 0 0 / 0%);
  transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
              display 0.4s cubic-bezier(0.4, 0, 0.2, 1) allow-discrete;
}

/* Target color opacity completion state */
#gallery-lightbox[open]::backdrop {
  background-color: rgb(0 0 0 / 90%);
}

@starting-style {
  #gallery-lightbox[open]::backdrop {
    background-color: rgb(0 0 0 / 0%);
  }
}

/* Smooth crossfade asset exchange switch */
#gallery-lightbox-img {
  transition: opacity 0.2s ease-in-out;
}

.gallery-nav-btn {
  flex-shrink: 0;
  opacity: 1;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), 
              background-color 0.2s ease;
  pointer-events: auto;
}

.gallery-nav-btn:hover {
  background-color: rgb(0 0 0 / 85%) !important;
  transform: scale(1.05);
}

.gallery-nav-btn:hover svg {
  transform: scale(1.1);
  transition: transform 0.2s ease;
}