:root {
	/*colors*/
    --white: #fff;
    --black: #000000;
	--silver: #C5C5C5;
    --titanium: #f4f4f4;
    --royal-blue: #000956;
    --blue-shade: #00063a;
    --bright-red: #D10215;
    --darker-red: #B00112;
    --light-gray: #000000BF;
    --dark-gray: #303030;
	/*radius*/
	--radius-small: 0.3rem;
	--radius-medium:0.5rem;
	--radius-large: 0.8rem;
  /* Font weights */
  --font-thin: 100;
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
}

/* Global Styles */
html {
    background-color: var(--white);
    box-sizing: border-box;
    font-size: 16px;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}

body {
    background-color: var(--white);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--black);
    font-family: 'Raleway', sans-serif;
    font-size: 1rem;
    margin: 0;
    padding: 0;
}

/*** Colors ***/
.bg-royal-blue { background-color: var(--royal-blue); }
.bg-bright-red { background-color: var(--bright-red); }
.bg-darker-red { background-color: var(--darker-red); }
.bg-light-gray { background-color: var(--light-gray); }
.bg-dark-gray { background-color: var(--dark-gray); }
.bg-white { background-color: var(--white); }
.bg-black { background-color: var(--black); }
.bg-titanium { background-color: var(--titanium); }
.bg-transparent { background-color: transparent; }

/* Utility classes */
.font-thin      { font-weight: var(--font-thin); }
.font-light     { font-weight: var(--font-light); }
.font-regular   { font-weight: var(--font-regular); }
.font-medium    { font-weight: var(--font-medium); }
.font-semibold  { font-weight: var(--font-semibold); }
.font-bold      { font-weight: var(--font-bold); }
.font-extrabold { font-weight: var(--font-extrabold); }

/*** Border Radius ***/
.radius-small { border-radius: var(--radius-small); }
.radius-medium { border-radius: var(--radius-medium); }
.radius-large { border-radius: var(--radius-large); }

/*** Border Radius ***/
.border-silver { border-color: var(--silver); }

/*** Container ***/
.container {
    max-width: 90rem;
    margin: 0 auto;
}

.section-block {
    overflow: hidden;
}

/*** Lists ***/
.unstyled-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul li, ul ol {
    line-height: 1.4em;
}

/*** Fonts ***/
a {
    color: var(--royal-blue);
    text-decoration: none;
}

p:empty {
    display: none;
}

/*** Headings ***/
h1, h2, h3, h4, h5, h6 {
    line-height: 1.1em;
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    margin: 0;
}

h1, .h1, body .h1 { font-size: 3rem; }
h2, .h2, body .h2 { font-size: 2rem; }
h3, .h3, body .h3 { font-size: 1.4rem; text-transform: uppercase; }
h4, .h4, body .h4 { font-size: 1.1rem; }
h5, .h5, body .h5 { font-size: 0.9rem; }
h6, .h6, body .h6 { font-size: 0.85rem; }

@media screen and (max-width: 768px) {
    h1, .h1, body .h1 { font-size: 2rem; }
    h2, .h2, body .h2 { font-size: 1.25rem; }
    h3, .h3, body .h3 { font-size: 1.1rem; }
    h4, .h4 body .h4 { font-size: 1rem; }
    h5, .h5, body .h5 { font-size: 0.85rem; }
    h6, .h6, body .h6 { font-size: 0.85rem; }
}

p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5em;
}

a.text-dark {
	color: var(--black);
}
a.text-dark:hover {
	color: var(--bright-red);
}

/*p a {
    text-decoration: underline;
    text-underline-offset: 0.2em;
}*/

/*** Buttons ***/
.button, a.button, header nav ul .button a, input[type="submit"], body input[type=submit], body .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit],[type=button],[type=reset]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
body .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit],[type=button],[type=reset]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
body .gform-theme.gform-theme--framework.gform_wrapper input[type=submit].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .wp-core-ui .editor-styles-wrapper .button, .wp-core-ui .editor-styles-wrapper .button-primary, body .site-content .wp-block-button__link.wp-element-button {
    background: var(--bright-red);
    display: inline-flex;
    color: var(--white);
    border: 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1rem;
    padding: 0.75rem 1.25rem;
    border-radius: 0;
    text-decoration: none;
    transition: all 0.2s ease;
    line-height: 1.2em;
	text-align: center;
}

.button:hover, header nav ul .button a:hover, body .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit],[type=button],[type=reset]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover,
body .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit],[type=button],[type=reset]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover,
body .gform-theme.gform-theme--framework.gform_wrapper input[type=submit].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover, body .site-content .wp-block-button__link.wp-element-button:hover {
    cursor: pointer;
    background-color: var(--darker-red);
    color: var(--white);
}

.text-light .button.button-secondary, .text-light a.button.button-secondary, .text-light .button-secondary input[type="submit"], body .text-light .button-secondary input[type=submit], .wp-core-ui .editor-styles-wrapper .text-light .button.button-secondary, .wp-core-ui .editor-styles-wrapper .text-light .button-secondary {
    border: 2px solid var(--white);
    background: transparent;
    color: var(--white);
}

.text-light .button.button-secondary:hover, .text-light a.button.button-secondary:hover, .text-light .button-secondary input[type="submit"]:hover, body .text-light .button-secondary input[type=submit]:hover, .wp-core-ui .editor-styles-wrapper .text-light .button.button-secondary:hover, .wp-core-ui .editor-styles-wrapper .text-light .button-secondary:hover {
	background: #00000021;
}

.button.button-secondary, a.button.button-secondary, header nav ul .button.button-secondary a, .button-secondary input[type="submit"], body .button-secondary input[type=submit], .wp-core-ui .editor-styles-wrapper .button.button-secondary, .wp-core-ui .editor-styles-wrapper .button-secondary {
    border: 2px solid var(--black);
    background: transparent;
    color: var(--black);
}

.button.button-secondary:hover, a.button.button-secondary:hover, header nav ul .button.button-secondary a:hover, .button-secondary input[type="submit"]:hover, body .button-secondary input[type=submit]:hover, .wp-core-ui .editor-styles-wrapper .button.button-secondary:hover, .wp-core-ui .editor-styles-wrapper .button-secondary:hover {
	opacity: .8;
}

.button-info {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 1rem; 
    font-weight: 600;
    color: var(--black);
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    transition: text-decoration 0.2s ease;
}

.button-info:hover {
    text-decoration: none;
}

.button svg {
    width: 1.2rem;
    height: 1.2rem;
}

/*** Inputs ***/
input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="number"], input[type="password"], body .gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type=hidden])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), body .gform-theme--framework textarea:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), body .gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    height: auto;
    line-height: 1.2em;
    padding: 0.65rem 1rem;
    background-color: var(--white);
    color: var(--black);
    border-radius: var(--radius-small);
    transition: all 0.2s ease;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="tel"]:focus, input[type="number"]:focus, input[type="password"]:focus, body .gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type=hidden])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, body .gform-theme--framework textarea:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus, body .gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus {
    outline: none;
    /* border-color: var(--white);
    background-color: rgba(var(--black), 0.9); */
}

/*** Cards ***/
.card {
    box-sizing: border-box;
    border: 1px solid rgba(var(--silver));
    background-color: rgba(var(--white), 0.4);
    border-radius: var(--radius-medium);
    padding: 2rem;
    transition: all 0.2s ease;
}

a.card:hover, a .card:hover {
    cursor: pointer;
    background-color: rgba(var(--black), 0.7);
}

.card-md {
    border-radius: var(--radius-medium);
    padding: 1.25rem;
}

.card-sm {
    border-radius: var(--radius-small);
    padding: 0.75rem;
}

.card-solid {
    background-color: rgba(var(--black-shade), 0.98);
}

.card-content {
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .card {
        padding: 1rem;
    }
}

/*** Tabbed Content ***/
.tab-panel {
    max-width: 100%;
}

.tab-button {
    color: var(--white);
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1rem;
    flex-grow: 1;
    transition: all 0.2s ease;
}

.tab-button:hover {
    cursor: pointer;
    background-color: rgba(var(--black), 0.7);
}

.tab-button img, .tab-button svg {
    width: 1.25rem;
    height: 1.25rem;
}

.tab-button.active {
    background-color: rgba(var(--orange), 0.5);
    border-color: rgba(var(--orange-tint));
}

/*** Featured Posts ***/
.post-item h3 {
    font-family: 'Raleway', sans-serif;
    text-transform: none;
    font-size: 1.5rem;
    line-height: 1.2em;
}

.single-post .post-item h3 {
    font-size: 1.25rem;
}

/*** Footer ***/
.footer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-menu li a {
  color: white;
  text-decoration: none;
  display: block;
  padding: 0.2rem 0;
}

.footer-menu li a:hover {
  text-decoration: underline;
}

.copyright {
    font-size: 0.8rem;
}

.copyright a {
    color: var(--white);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

img.width-one-half.height-one-half {
    height: 1.4rem;
}

/*** Breadcrumbs ***/
.breadcrumbs > span > span {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    margin: 0;
    padding: 0;
}

.breadcrumbs > span > span:not(.breadcrumb_last)::after {
    content: '/';
    visibility: visible;
    opacity: 1;
    width: 1rem;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.breadcrumbs > span {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    margin: 0;
    padding: 0;
}

@media screen and (min-width: 768px) {
    .breadcrumbs > span, .breadcrumbs > span > span {
        gap: 0.5rem;
    }
}

/*** Header ***/
header .header-inner {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: 4rem;
    z-index: 9999;
}

/* Logo */
header .logo {
    width: 10rem;
    height: auto;
}

@media screen and (max-width: 768px) {
    header .logo {
        width: 6rem;
    }
}

header .logo-wrapper a {
    display: grid;
    grid-template-columns: max-content max-content;
    gap: 1.25rem;
    align-items: center;
    text-decoration: none;
    position: relative;
}

/* Navigation */
header .navigation-wrapper {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 1rem;
	flex-direction: column;
    position: relative;
}

header nav.main-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2rem;
}

header nav ul {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
	
}

header nav ul li {
    position: relative;
}

header nav ul li:hover, header .menu-item .submenu-toggle:hover {
    cursor: pointer;
}

header nav ul a {
    display: block;
    padding: 1.25rem 1rem;
    transition: all 0.2s ease;
    font-weight: 600;
	color: var(--white);
	font-size: 1rem;
	font-family: 'Raleway', sans-serif;
}

header nav .menu-item.current-menu-item a, header nav .menu-item a:hover {
    color: var(--white);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

header nav .menu-item a:hover {
    cursor: pointer;
}

header .menu-item.menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    justify-content: center;
    padding-right: 0.25rem;
}

/* header nav ul .menu-item-has-children {
    padding-right: 1.5rem;
} */

header nav ul li {
    display: flex;
    align-items: center;
    justify-content: center;
}

header nav ul.sub-menu li, header nav ul.sub-menu li a {
    width: 100%;
}

header .menu-item .submenu-toggle {
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: 0;
}

header .menu-item .submenu-toggle svg {
    display: block;
    width: 1rem;
    height: auto;
    color: var(--white);
}

header .menu-item.em-active {
    position: relative;
    z-index: 9999;
}

/*** Mobile Menu ***/
header.section .menu-toggle {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 1.75rem;
    height: 1.25rem;
    padding: 0;
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--white);
}

@media screen and (min-width: 1025px) {
    .section button.menu-toggle {
        display: none;
    }
}

.section .menu-toggle:hover {
    cursor: pointer;
}

.menu-toggle-icon {
    transition: all 0.3s ease;
    width: 100%;
    height: 2px;
    background: var(--white);
    display: inline-block;
    content: "";
    position: absolute;
}

.menu-toggle-icon:nth-child(1) {
    top: 0;
    left: 0;
}

.menu-toggle-icon:nth-child(2) {
    top: calc( 50% - 1px );
    left: 0;
}

.menu-toggle-icon:nth-child(3) {
    bottom: 0;
    left: 0;
}

.menu-toggle.active .menu-toggle-icon:nth-child(3) {
    transform: rotate(-225deg);
    top: calc(50% - 1px);
}

.menu-toggle.active .menu-toggle-icon:nth-child(1), .menu-toggle.active .menu-toggle-icon:nth-child(2) {
    transform: rotate(225deg);
    top: calc(50% - 1px);
}

.menu-item-has-children a {
    position: relative;
}

/*** Mobile Menu ***/
nav.menu-mobile ul {
    padding: 0;
    list-style: none;
    margin: 0;
    background-color: var(--blue-shade);
}

nav.menu-mobile {
    display: none;
}
.button.menu-mobile{
	display: none;
}
@media screen and (max-width:767px){
	.button.menu-mobile{
		display: block;
	}
}

.menu-mobile ul > .menu-item > .menu-item-inner {
    background: rgba(var(--black), 0.3);
    border-bottom: 1px solid rgba(var(--black), 0.5);
}

.menu-mobile .menu-item > .menu-item-inner {
    display: grid;
    grid-template-columns: 1fr max-content;
    padding: 0;
}

.menu-mobile .menu-item > .menu-item-inner > a.menu-item-title {
    color: var(--white);
    padding: 0.75rem 1.5rem;
    background-color: var(--blue-shade);
    border-top: 2px solid var(--royal-blue);
    font-weight: 700;
    text-align: left;
}

.menu-mobile .menu-item > .menu-item-inner > .menu-item-icon {
    width: 3rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--royal-blue);
    color: var(--white);
    border: 0;
}

.menu-mobile .menu-item {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.menu-mobile .menu-item > .menu-item-inner > .menu-item-icon > svg {
    width: 1rem;
    height: 1rem;
    transition: transform 0.3s;
}

.menu-item.has-children.active > .menu-item-inner > .menu-item-icon > svg {
    transform: rotate(180deg);
}

/*** Mobile Sub Menu ***/
.menu-mobile .sub-menu {
    background-color: var(--black-darker);
}

.menu-mobile .sub-menu .menu-item > a {
    padding: 1rem;
    padding-left: 1.5rem;
    background: var(--royal-blue);
    border-bottom: 1px solid var(--blue-shade);
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: 0.75rem;
    color: var(--white);
}

.menu-mobile .sub-menu {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    opacity: 0;
    display: block; /* needs to always be block for animation to work */
  }
  
  .menu-mobile .menu-item.has-children.active > .sub-menu {
    max-height: 500px; /* or something big enough */
    opacity: 1;
  }

.menu-mobile .sub-menu .menu-item .menu-item-icon svg {
    fill: var(--black);
}

body.menu-open .header-wrapper, body .header-wrapper:hover {
    z-index: 9999;
    position: relative;
}

@media screen and (min-width: 1025px) {
    .section button.menu-toggle {
        display: none;
    }
}

@media screen and (max-width: 1025px) {
    header .main-menu-wrapper {
        display: none;
    }
}

.menu-item-has-children a {
    position: relative;
}

/*** Submenu ***/
.main-navigation ul.sub-menu {
    display: none; /* Hide submenus by default */
    position: absolute;
    padding: 0;
    z-index: 200;
    border: 1px solid var(--blue-shade);
    background-color: var(--royal-blue);
    border-radius: var(--radius-small);
    opacity: 0;
    transition: all 0.3s ease;
    min-width: 18rem;
    z-index: -99999;
    max-height: 0;
    overflow: hidden;
    top: 100%;
    left: 0;
}

/* Ensure submenu is visible when the parent menu item has aria-expanded="true" */
.menu-item[aria-expanded="true"] > .sub-menu {
    opacity: 1;
    display: block;
    z-index: 99999;
    max-height: 100rem;
    overflow: visible;
}

header nav ul.sub-menu li a {
    padding: 0.75rem 1.25rem;
    display: block;
    border-bottom: 1px solid var(--blue-shade);
}

header nav ul.sub-menu li a:hover {
    background-color: rgba(var(--black), 0.5);
}

header .menu-item.menu-item-has-children:not(.mega-menu-trigger):hover ul.sub-menu {
    opacity: 1;
    display: block;
    z-index: 99999;
    max-height: 100rem;
    overflow: visible;
}

nav.menu-mobile .menu-item-has-children.active .sub-menu {
    border-top: 1px solid var(--titanium);
}

/* Ensure transitions are smooth when toggling submenus */
.menu-item[aria-expanded="true"] > .sub-menu {
    transition: all 0.3s ease;
    opacity: 1;
    max-height: 100rem;
    z-index: 99999;
    overflow: visible;
}

.menu-item[aria-expanded="false"] > .sub-menu {
    opacity: 0;
    max-height: 0;
    z-index: -99999;
    overflow: hidden;
}

/*** Gravity Forms ***/
.gform_wrapper .gform_footer {
    align-items: center;
    justify-content: center;
}

.gform_wrapper label.gfield_label.gform-field-label, legend.gform-field-label {
    display: inline-block;
    position: relative;
}

.gform_wrapper span.gfield_required {
    position: absolute;
    top: -3px;
    right: -8px;
    font-size: 50px;
    line-height: 1em;
}

span.gfield_required.gfield_required_asterisk {
    color: var(--bright-red);
}


.gform_wrapper .text-light .gfield_label, .text-light .gform_wrapper .gfield_label {
    color: var(--white);
    font-weight: bold;
}

.gform_wrapper .text-light .gform-field-label, .text-light .gform_wrapper .gform-field-label {
    color: var(--white);
}

.gform_wrapper .gfield_radio input[type=radio] {
    padding: unset;
}

.gform_wrapper .gfield_checkbox input[type=checkbox] {
    height: max-content;
    padding: 0.15rem;
    width: fit-content;
}

.gform_wrapper .gfield_radio:hover, .gform_wrapper .gfield_checkbox:hover {
    cursor: pointer;
}

/*** Slider Nav ***/
.slider-nav-button {
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    top: calc(50% - 0.75rem);
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.2;
    transition: all 0.2s ease;
}

.slider-nav-button:hover {
    cursor: pointer;
    opacity: 0.5;
}

.slider-nav-button svg {
    width: 100%;
    height: 100%;
}

.slider-nav-button.slider-nav-prev { left: 1rem; }
.slider-nav-button.slider-nav-next { right: 1rem; }

.slider-arrows-outer .slider-nav-button.slider-nav-prev { left: -1.8rem; }
.slider-arrows-outer .slider-nav-button.slider-nav-next { right: -1.8rem; }

.slider-nav-dot {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
  }
  
  .slider-nav-dot .dot {
    width: 2rem;
    height: 0.35rem;
    display: inline-block;
    border-radius: 0.25rem;
    background-color: rgba(var(--black), 0.3);
    transition: background-color 0.3s ease;
  }
  
  .slider-nav-dot.active .dot {
      background-color: rgba(var(--black), 1);
  }

/*** Logos Showcase ***/
.logos-showcase-logo {
    max-height: 3.5rem;
}

@media screen and (max-width: 768px) {
    .logos-showcase-logo {
        max-height: 2rem;
    }
}

/*** Single Post ***/
.single-post-columns {
    display: grid;
    grid-template-columns: 1fr 20rem;
    gap: 8rem;
}

@media screen and (max-width: 1200px) {
    .single-post-columns {
        grid-template-columns: 1fr;
        gap: 4rem;
    }
}

#content .single-post-wrapper h1 {
    line-height: 1.2em;
    font-size: 3.5rem;
    text-transform: none;
}

@media screen and (max-width: 768px) {
    #content .single-post-wrapper h1 {
        font-size: 2rem;
    }
}

/*** Videos ***/
.wp-block-embed.is-type-video iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
}

/*** BG Cover ***/
.bg-cover {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/*** Entry Content ***/
.entry-content p, .entry-content ul, .entry-content ol {
    margin-bottom: 1rem;
    line-height: 1.5em;
}

.entry-content ul li, .entry-content ol li {
    margin-bottom: 0.5rem;
}

.entry-content h2 {
    font-size: 1.5rem;
    margin-top: 2rem;
    margin-bottom: 0.5rem;
}

/*** Icon List ***/
.icon-list li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid rgba(var(--black), 0.5);
    transition: all 0.2s ease;
}

.icon-list li a:hover {
    cursor: pointer;
    background-color: rgba(var(--black), 0.5);
    padding-left: 0.5rem;
}

.icon-list li a svg, .icon-list li a img {
    width: 1.5rem;
    height: auto;
}

/*** Mega Menu ***/
.mega-menu {
    position: absolute;
    width: 100%;
    z-index: -9999;
    top: 100%;
    left: 0;
    display: none;
    opacity: 0;
    transition: all 0.3s ease;
}

.mega-menu.em-active {
    display: block;
    opacity: 1;
    z-index: 9999;
}

/*** Page Overlay ***/
.page-overlay {
    background: rgba(var(--black), 0.5);
    z-index: -99999;
    opacity: 0;
    transition: all 0.1s ease;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
}

.page-overlay.em-active {
    display: block;
    opacity: 1;
    z-index: 8888;
}
/*** Block with background image overlay on mobile ***/
@media screen and (max-width: 1025px) {
	.block-image-overlay {
		opacity: .7;
		--overlay-color: #000000;
		background: #000000;
		height: 100%;
		width: 100%;
		position: absolute;
		z-index: 29;
		left: 0;
		top: 0;
		object-fit: cover;
	}
}
/*** Text Light ***/
.text-light, .text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5, .text-light h6, .text-light div, .text-light p, .text-light span, .text-light a {
    color: var(--white);
}
a.text-light:hover a,
a.text-light:hover p,
a.text-light:hover h3 {
	color: var(--bright-red);
}

/*** Post Entry Content Styling ***/
h1.entry-title {
    font-size: 3rem;
}

.entry-content h2 {
    font-size: 2rem;
    font-weight: bold;
    margin: 0;
    margin-top: 2.5rem;
    margin-bottom: 0.5rem;
}

.entry-content h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0;
    margin-top: 2rem;
    margin-bottom: 0.5rem;
}

.entry-content p:not(:last-child) {
    margin-bottom: 1.25rem;
}

.entry-content p:last-child {
    margin-bottom: 0;
}

/*** Text Light Gravity ***/

.form-wrapper .gform_description {
    margin-bottom: 1.5rem;
}

/*** Menu Items ***/
header .menu-item.button {
    padding: 0;
    margin-left: 1.5rem;
}

/*** Rounded ***/
.radius-full {
    border-radius: 50%;
}

/*** Section Block ***/
.section-block * {
    box-sizing: border-box;
}

/*** HRs ***/
body hr {
    width: 6rem;
    height: 0.3rem;
    background: var(--bright-red);
    border: none;
}

/*** Icons ***/
.icon-full svg {
    width: 100%;
    height: auto;
}

.weather-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999; /* very high to ensure it's on top */
    background: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
}

.weather-popup-inner {
    background-color: #000956; /* deep blue */
    color: #D10215; /* red */
    padding: 2rem;
    border-radius: 1rem;
    max-width: 400px;
    width: 90%;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    position: relative;
}

/* Close button */
.weather-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 24px;
    color: #fff;
    cursor: pointer;
}

/* Text */
.weather-popup-text {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

/* Buttons inside popup */
.weather-popup-inner .btn,
.weather-popup-inner a {
    background-color: #D10215;
    color: #ffffff;
    padding: 0.75rem 1.5rem;
    border-radius: 0.375rem;
    text-decoration: none;
    display: inline-block;
    transition: background 0.3s;
}

.weather-popup-inner .btn:hover,
.weather-popup-inner a:hover {
    background-color: #a30012;
}

/* Mobile: bottom slide-up feel */
@media (max-width: 767px) {
    .weather-popup {
        align-items: flex-end;
    }

    .weather-popup-inner {
        border-radius: 1rem 1rem 0 0;
        width: 100%;
        max-width: 100%;
        padding: 1.5rem;
    }
}
