/* Custom Classes */
/* CSS Classes to add backdrop-filter blur to blocks */
/* .blur-1{backdrop-filter:blur(1px)}.blur-2{backdrop-filter:blur(2px)}.blur-3{backdrop-filter:blur(3px)}.blur-4{backdrop-filter:blur(4px)}.blur-5{backdrop-filter:blur(5px)}.blur-6{backdrop-filter:blur(6px)}.blur-7{backdrop-filter:blur(7px)}.blur-8{backdrop-filter:blur(8px)}.blur-9{backdrop-filter:blur(9px)}.blur-10{backdrop-filter:blur(10px)}.blur-11{backdrop-filter:blur(11px)}.blur-12{backdrop-filter:blur(12px)}.blur-13{backdrop-filter:blur(13px)}.blur-14{backdrop-filter:blur(14px)}.blur-15{backdrop-filter:blur(15px)}.blur-16{backdrop-filter:blur(16px)}.blur-17{backdrop-filter:blur(17px)}.blur-18{backdrop-filter:blur(18px)}.blur-19{backdrop-filter:blur(19px)}.blur-20{backdrop-filter:blur(20px)}.blur-21{backdrop-filter:blur(21px)}.blur-22{backdrop-filter:blur(22px)}.blur-23{backdrop-filter:blur(23px)}.blur-24{backdrop-filter:blur(24px)}.blur-25{backdrop-filter:blur(25px)}.blur-26{backdrop-filter:blur(26px)}.blur-27{backdrop-filter:blur(27px)}.blur-28{backdrop-filter:blur(28px)}.blur-29{backdrop-filter:blur(29px)}.blur-30{backdrop-filter:blur(30px)} */
.blur-1{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
.blur-2{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.blur-3{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.blur-4{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.blur-5{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.blur-6{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.blur-7{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.blur-8{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.blur-9{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
.blur-10{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.blur-11{-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}
.blur-12{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.blur-13{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}
.blur-14{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.blur-15{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}
.blur-16{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.blur-17{-webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px)}
.blur-18{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.blur-19{-webkit-backdrop-filter:blur(19px);backdrop-filter:blur(19px)}
.blur-20{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.blur-21{-webkit-backdrop-filter:blur(21px);backdrop-filter:blur(21px)}
.blur-22{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.blur-23{-webkit-backdrop-filter:blur(23px);backdrop-filter:blur(23px)}
.blur-24{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.blur-25{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}
.blur-26{-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}
.blur-27{-webkit-backdrop-filter:blur(27px);backdrop-filter:blur(27px)}
.blur-28{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}
.blur-29{-webkit-backdrop-filter:blur(29px);backdrop-filter:blur(29px)}
.blur-30{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}


/* By setting a lot of the default backgrounds to be rgba colors, we can change the theme substantially with just the body background color. */
body {
    
    /*background: var(--wp--preset--color--base);*/
    /* We can use the default above from Editor, or overide with our own. */
    /* background:darkslategray;
    background: #fff; */
    font-size: 16px;
}
/* Fix sticky z-index */
.sticky-wrapper {
    z-index: 1001;
    margin-block-start: 0;
}
/* When stuck, the top bar will backdrop blur. Welcome to the future, old man. */
.sticky-wrapper .wp-block-template-part {
    /* backdrop-filter: blur(5px); */
    /* background-color: var(--wp--preset--color--base-2); */
    background-color: transparent;
}
.sticky-wrapper .wp-block-template-part .has-base-background-color {
    /* background-color: var(--wp--preset--color--base-2); */
    background-color: transparent !important;
}
/* Header */
/*body header.wp-block-template-part > div {
    background-color: var(--wp--preset--color--base-2);
}*/
body header.wp-block-template-part {
	position: absolute;
	z-index: 2;
	width: 100vw;
}
body .wp-block-navigation__responsive-container.has-modal-open {
    height: 100vh !important;
}

/* Fix link text-size */
body p a:where(:not(.wp-element-button)) {
    /* font-size: 14px; */
    font-size: inherit;
}

body :where(.wp-site-blocks) > * {
    margin-block-start: 0;
}

/* Getting a bit fancier now, shrink some elements in the topbar when it has sticky class? */
/*.wp-block-site-logo img {
    transition: all .3s ease;
    max-height: 70px;
    width: auto;
}
.wp-block-template-part.is-scrolled .wp-block-site-logo img {
    max-height: 46px;
    width: auto
}*/

/* Hide the top top navigation on scroll */
.sticky-wrapper {
    z-index: 999;
    height: auto !important;
}
.sticky-wrapper .sub_topbar {
    position:relative;
    transition: all .3s ease-in-out;
    transition-delay: .2s;
    top: 0;
    background-color: var(--wp--preset--color--accent-4);
}
.sticky-wrapper.is-sticky .sub_topbar {
    /* top: -64px;
    margin-bottom: -64px; */
}
.sticky-wrapper.is-sticky .is-scrolled .sub_topbar {
    top: -64px;
    margin-bottom: -64px; 
}
.sticky-wrapper.is-sticky .dh-sticky {
    /* background: rgba(0,0,0,0.6) !important;
    backdrop-filter: blur(5px); */

    transition: all .3s ease-in-out;
}
.sticky-wrapper.is-sticky .dh-sticky * {
    transition: all .3s ease;
}
.sticky-wrapper .wp-block-site-logo,
.sticky-wrapper .wp-block-site-logo .custom-logo-link,
.sticky-wrapper .wp-block-site-logo .custom-logo-link * {
    /* height: 150px;
    min-height: 150px; */
   /*  width: 162px;
    min-width: 162px; */
    transition: all .3s ease-in-out;
}
/* .sticky-wrapper.is-sticky .wp-block-site-logo,
.sticky-wrapper.is-sticky .wp-block-site-logo .custom-logo-link,
.sticky-wrapper.is-sticky .wp-block-site-logo .custom-logo-link img {
    height: 102px;
    min-height: 102px;
    width: 110px;
    min-width: 110px;
    
} */
.sticky-wrapper.is-sticky .wp-block-site-logo .custom-logo-link img {
    width: 80%;
}

/* Social Icons - These are a sub-class of links and I couldn't find a core/social section,
 * so I guess we're going to style the social icons the old fashioned way. 
 */
ul.wp-block-social-links {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
ul.wp-block-social-links li.wp-social-link {
    background-color: var(--wp--preset--color--button-background) !important;
    border-radius: var(--wp--preset--spacing--20);
}
ul.wp-block-social-links li.wp-social-link.small {
    background-color: var(--wp--preset--color--button-background) !important;
    border-radius: var(--wp--preset--spacing--20);
}
ul.wp-block-social-links li.wp-social-link.square,
ul.wp-block-social-links li.wp-social-link.small.square {
    border-radius: 0 !important;
}
ul.wp-block-social-links li.wp-social-link a.wp-block-social-link-anchor {
    fill: transparent!important;
    color: transparent !important;
    padding: 3px !important;
}
ul.wp-block-social-links li.wp-social-link a.wp-block-social-link-anchor svg {
    fill: var(--wp--preset--color--button-text) !important;
    stroke: var(--wp--preset--color--button-text) !important;
    background-color: var(--wp--preset--color--button-background) !important;
    padding: 2px;
    /* width: 32px;
    height: 32px; */
    border-radius: 0;
    border-radius: var(--wp--preset--spacing--20);
    /* Can do some cool stuff with filers here too, but for now that's too much */
    /* For now, dumping our button color into the SVG's fill and stroke gets us there. */
    /* filter: invert(100%) hue-rotate(170deg); */
}

/* Smaller social icons? Add the "small" class to each icon block */
ul.wp-block-social-links li.wp-social-link.small a.wp-block-social-link-anchor {
    padding: 2px !important;
}
ul.wp-block-social-links li.wp-social-link.small a.wp-block-social-link-anchor svg {
    width: 24px;
    height: 24px;
}

/* Larger social icons? Add the "large" class to each icon block */
ul.wp-block-social-links li.wp-social-link.large {
    border-radius: 32px;
}
ul.wp-block-social-links li.wp-social-link.large.square {
    border-radius: 0 !important;
}
ul.wp-block-social-links li.wp-social-link.large a.wp-block-social-link-anchor {
    padding: 6px !important;
}
ul.wp-block-social-links li.wp-social-link.large a.wp-block-social-link-anchor svg {
    width: 48px;
    height: 48px;
}

/* Offcanvas */
.wp-block-group.dh-offcanvas,
body.dh-offcanvas {
    position:fixed;
    /* background: rgba(23, 23, 23, 0.85); */
    background: var(--wp--preset--color--base-2);
    background-size: 100% 100%;
    /* backdrop-filter: blur(14px); */
    top: -100vh;
    bottom: 0;
    right: 0;
    left: 0;
    opacity: 1;
    height: 100vh;
    width: 100%;
    overflow: visible;
    z-index: 10;
    box-sizing: border-box;
    /* filter: blur(0px);
    display: none; */
    transition: all .4s ease;
    overflow-x:hidden;
    overflow-y:scroll;
}
.wp-block-group.dh-offcanvas > *,
body.dh-offcanvas > * {
    opacity: 0;
    transition: opacity .4s ease-in-out .4;
    z-index: 2;
}
.wp-block-group.dh-offcanvas.top,
body.dh-offcanvas.top {
    top: -100vh;
    bottom: 0;
    right: 0;
    left: 0;
}
.wp-block-group.dh-offcanvas.bottom,
body.dh-offcanvas.bottom {
    top: 100vh;
    bottom: -100vh;
    right: 0;
    left: 0;
}
.wp-block-group.dh-offcanvas.left,
body.dh-offcanvas.left {
    top: 0;
    bottom: 0;
    right: 100vw;
    left: -100vw;
}
.wp-block-group.dh-offcanvas.right,
body.dh-offcanvas.right {
    top: 0;
    bottom: 0;
    right: -100vw;
    left: 100vw;
}

.wp-block-group.dh-offcanvas.is-active,
body.dh-offcanvas.is-active {
    display: grid;
    grid-template-columns: 1fr;
    top: 0;
    right: 0;
    left: 0;
    bottom: auto;

    align-items: center;
    justify-items: center;
    height: 100vh;
    width: 100vw;
    visibility: visible;
    /* background: rgba(0,0,0,0.1);
    backdrop-filter: blur(6px); */
    
}
.wp-block-group.dh-offcanvas.is-active > *,
body.dh-offcanvas.is-active > * {
    opacity: 1;
}

.wp-block-group.dh-offcanvas.is-active > .wp-block-group {
    width: 100%;
}

/* Smart Navigation */
nav.dh-smart {
    display: grid;
    grid-template-columns: auto;
}

/* Footer */
footer.wp-block-template-part > div {
    background-color: var(--wp--preset--color--base-2);
}

/* Fixes */
/* .has-global-padding > .alignfull > * {
    padding-left: 0;
    padding-right: 0;
} */


/* Site Wide */
.wp-block-site-title {
    display: none !important;
}
.shadow {
	box-shadow: 2px 2px 16px 0px rgba(0, 0, 0, 0.25);
}

.red-bar:before {
	content: '';
	display: block;
	border-top: 5px solid #BE2127;
	width: 100px;
	margin: 0 auto 20px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
  aspect-ratio: 1; /* squared size thumbnails */ 
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
  flex-grow: 0; /* width fix */ 
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	background: none;
	position: relative;
	color: #000;
	font-size: 1.2rem;
	font-weight: 700;
}


/* Home */
.home-services img {
	margin-top: -100px;
}


/* Inner Pages */
.inner-hero h1 {
	border-right: 10px solid #000;
}



@media (max-width:600px) {
	
	h1 { font-size: 2.25em !important; }
	.home-services img { margin-top: -20px; }
	footer.wp-block-template-part > .has-accent-5-color > p > a {
		font-size: 0.8rem;
	}
	
}

.negative-pad-header {
    position: relative;
    top: -110px;
}

/* Mobile for Slideshow fix. */
@media screen and (max-width: 1400px) {
    .n2-ss-layer-content {
        padding-top: 280px;
    }
}
@media screen and (max-width: 1300px) {
    .n2-ss-layer-content {
        padding-top: 300px;
    }
}
@media screen and (max-width: 992px) {
    .n2-ss-layer-content {
        padding-top: 340px;
    }
}

/* DH Accordion */
nav.dh-accordion {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
}
ul.dh-accordion {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style-type: none;
    grid-row-gap: 5px;
    margin-left: 0px !important;
}
nav.dh-accordion > ul.dh-accordion > li.wp-block-navigation-item {
    padding-left: 0px !important;
}
ul.dh-accordion ul {
    position: relative !important;
    margin: 0 0 0 40px !important;
    padding: 0 !important;
    left: 0 !important
}
ul.dh-accordion > li.wp-block-navigation-item {
    color: white;
    border: none;
    padding: 0;
    margin: 0;
    display: block;
    position: relative;
    width: 100%;
    justify-content: flex-end;
    --navigation-layout-justification-setting: flex-end;
    --navigation-layout-justify: flex-end;
    text-transform: uppercase;
}
ul.dh-accordion li.wp-block-navigation-item {
    position: relative;
    padding-left: 40px;
}

ul.dh-accordion > li.wp-block-navigation-item a.wp-block-navigation-item__content {
    display: block;
    width: 100%;
    padding: 14px 32px;
    margin: 0;
    position: relative;
    text-decoration: none;
    text-align: left;
    /* color: white; */
    color: var(--wp--preset--color--contrast);
    border: none;
    background: rgba(255,255,255,0.1);
    text-transform: uppercase;
    transition: all .2s ease;
    justify-content: flex-start;
    --navigation-layout-justification-setting: flex-start;
    --navigation-layout-justify: flex-start;
    box-sizing: border-box;

}
ul.dh-accordion a.wp-block-navigation-item__content {
    display: inline-block !important;
}

ul.dh-accordion .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    top: 5px !important;
}

ul.dh-accordion .wp-block-navigation__submenu-icon {
    position: absolute;
    display: block;
    right: 6px;
    top: 6px;
    bottom: 6px;
    margin: 0;
    padding: auto 12px;
    min-width: 40px;
    max-height: 40px;
    height: calc(100% - 12px);
    display: inline-block;
    background: rgba(255,255,255,0.2);
    z-index: 2;
    font-size: 24px;
    line-height: 24px;
}
ul.dh-accordion ul .wp-block-navigation__submenu-icon svg {
    transform: rotate(0deg) !important;
}

.dh-accordion .wp-block-navigation__submenu-container {
    top: 0px;
    margin: 0;
    padding: 0;
}

body .wp-block-navigation.dh-accordion .wp-block-navigation__submenu-container {
    border-top: 0px solid transparent;
}