/*
Theme Name: Delmarva Engineering
Theme URI: https://www.delmarvaeng.com/
Author: Delmarva Engineering
Version: 1.0.0
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: delmarva
*/

/* ---------------------------------------------------------------- fonts (bundled, SIL OFL / Apache 2.0 — see assets/fonts/licenses) */
@font-face{font-family:"Encode Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/encode-sans.woff) format("woff")}
@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:300 400;font-display:swap;src:url(assets/fonts/roboto-slab.woff) format("woff")}
@font-face{font-family:"Martel Sans";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/martel-sans-400.woff) format("woff")}
@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/pt-sans-700.woff) format("woff")}
@font-face{font-family:"Duru Sans";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/duru-sans-400.woff) format("woff")}

/* ---------------------------------------------------------------- tokens */
:root{
	--de-red:#8c2426;
	--de-red-bar:#8c2b2c;
	--de-gold:#8c6620;
	--de-gold-line:rgba(140,110,54,.4);
	--de-btn:#8b6827;
	--de-text:#212121;
	--de-border:#e1e1e1;
	--de-body:"Encode Sans",Arial,Helvetica,sans-serif;
	--de-slab:"Roboto Slab",Arial,Helvetica,sans-serif;
	--de-menu:"Martel Sans",Arial,Helvetica,sans-serif;
	--de-site-width:1100px;
	--de-gutter:30px;
}

/* ---------------------------------------------------------------- base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--de-body);font-size:14px;line-height:20px;color:var(--de-text);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;border:0}
a{color:var(--de-red);text-decoration:none}
a:hover,a:focus{color:var(--de-gold)}
p{margin:0 0 20px}
ul,ol{margin:14px 0;padding:0 0 0 40px}
.screen-reader-text,.skip-link:not(:focus){position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:100000;background:#fff;color:var(--de-red);padding:10px 16px;box-shadow:0 0 6px rgba(0,0,0,.4)}
.container{width:100%;max-width:calc(var(--de-site-width) + 2 * var(--de-gutter));margin:0 auto;padding:0 var(--de-gutter)}
h1,h2,h3,h4,h5,h6{font-family:var(--de-slab);font-weight:300;margin:0 0 20px;line-height:1.4}

/* ---------------------------------------------------------------- header */
.topbar{background:var(--de-red-bar);border-bottom:1px solid var(--de-border);height:45px}
.topbar .container{display:flex;justify-content:flex-end}
.topbar .phone{line-height:44px;font-size:14px}
.topbar .phone a{color:#fff}
.branding{background:#fff;border-bottom:1px solid var(--de-border);padding:30px 0}
.branding .container{display:flex;align-items:flex-start}
.site-logo{display:block;margin-top:31px;line-height:0}
.site-logo img{display:block;width:291px;max-width:100%;height:auto}
.site-title-text{margin-top:31px;font-family:var(--de-slab);font-size:28px;color:var(--de-red)}
.navbar{background:#fff;border-bottom:1px solid var(--de-border);position:sticky;top:0;z-index:100}
.admin-bar .navbar{top:32px}
.primary-nav ul{list-style:none;margin:0;padding:0}
.primary-nav>ul{display:flex;flex-wrap:wrap}
.primary-nav li{position:relative;margin:0}
.primary-nav>ul>li{padding-right:55px}
.primary-nav>ul>li:last-child{padding-right:0}
.primary-nav a{display:block;color:var(--de-text)}
.primary-nav>ul>li>a{font-family:var(--de-menu);font-size:18px;line-height:57px;height:60px;border-top:3px solid transparent;text-transform:none;white-space:nowrap}
.primary-nav>ul>li:hover>a,
.primary-nav>ul>li:focus-within>a,
.primary-nav>ul>li.current-menu-item>a,
.primary-nav>ul>li.current-menu-ancestor>a,
.primary-nav>ul>li.current_page_item>a,
.primary-nav>ul>li.current-page-ancestor>a{color:var(--de-red);border-top-color:var(--de-red)}
.primary-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:7px;height:7px;margin:0 0 3px 12px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) scale(.95);vertical-align:middle}
.primary-nav .sub-menu{position:absolute;left:0;top:100%;z-index:101;min-width:315px;background:#fff;border-top:3px solid var(--de-red);box-shadow:0 4px 10px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s}
.primary-nav li:hover>.sub-menu,
.primary-nav li:focus-within>.sub-menu,
.primary-nav li.is-open>.sub-menu{opacity:1;visibility:visible;transform:none}
.primary-nav .sub-menu a{font-family:var(--de-body);font-size:13px;line-height:20px;padding:9px 20px;border-bottom:1px solid var(--de-gold);color:var(--de-text)}
.primary-nav .sub-menu li:last-child>a{border-bottom:0}
.primary-nav .sub-menu a:hover,.primary-nav .sub-menu a:focus,
.primary-nav .sub-menu .current-menu-item>a{color:var(--de-red);background:#f8f8f8}
.nav-toggle{display:none}
.submenu-toggle{display:none}

/* ---------------------------------------------------------------- hero / page title */
.hero{position:relative;height:400px;background:#3b3b3b center/cover no-repeat;color:#fff;overflow:hidden;display:flex;align-items:center}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .container{position:relative;z-index:2;padding-bottom:12px}
.hero-title{margin:0;font-size:40px;line-height:48px;font-weight:300;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35);letter-spacing:0}
.hero.is-center .hero-title{text-align:center}
.page-title{color:var(--de-red);font-size:30px;line-height:42px;margin:6px 0 20px}

/* ---------------------------------------------------------------- content */
.site-main{padding:55px 0 20px;background:#fff;overflow-x:clip}
.entry-content::after{content:"";display:table;clear:both}
.entry-content>*:first-child{margin-top:0}
.entry-content h1{color:var(--de-red);font-size:30px;line-height:42px}
.entry-content h2,.entry-content h3{display:flex;align-items:center;gap:8px;color:var(--de-gold);font-size:24px;line-height:33.6px;margin:0 0 30px}
.entry-content h2::after,.entry-content h3::after{content:"";flex:1 1 auto;min-width:20px;height:8px;border-top:1px solid var(--de-gold-line);border-bottom:1px solid var(--de-gold-line)}
.entry-content>h2:not(:first-child),.entry-content>h3:not(:first-child),
.entry-content .wp-block-column>h3:not(:first-child),.entry-content .wp-block-column>h2:not(:first-child){margin-top:40px}
.entry-content h4,.entry-content h5{color:var(--de-red);font-size:18px}
.entry-content h6{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px;font-weight:700;color:var(--de-red);margin:10px 0}
.entry-content ul li,.entry-content ol li{margin:0}
.entry-content ul ul{margin:0}
.entry-content a{color:var(--de-red)}
.entry-content a:hover{color:var(--de-gold)}
.entry-content figure{margin:0 0 20px}
.entry-content .wp-block-columns{gap:4%;margin:0 0 20px;flex-wrap:nowrap}
.entry-content>.wp-block-columns:not(:first-child){margin-top:40px}
.entry-content .wp-block-columns+h3,.entry-content .wp-block-columns+h2{margin-top:8px}
.entry-content .wp-block-column{margin:0;min-width:0}
.entry-content .wp-block-columns .wp-block-columns{margin-bottom:15px}

/* checklist style (the » bullets used on the Markets pages) */
.entry-content ul.is-style-checklist{list-style:none;padding:0;margin:0}
.entry-content ul.is-style-checklist>li{position:relative;padding:6.9px 0 6.9px 33.6px;line-height:20px}
.entry-content ul.is-style-checklist>li::before{content:"";position:absolute;left:6px;top:50%;width:8px;height:8px;margin-top:-6px;border:solid var(--de-red);border-width:0 2px 2px 0;transform:rotate(-45deg)}
.entry-content ul.is-style-checklist>li::after{content:"";position:absolute;left:1px;top:50%;width:8px;height:8px;margin-top:-6px;border:solid var(--de-red);border-width:0 2px 2px 0;transform:rotate(-45deg)}

/* social links (contact page) */
.wp-block-social-links .wp-social-link{background:#333;border-radius:50%}
.wp-block-social-links .wp-social-link svg{fill:#fff}

/* team / contact image columns */
.entry-content .wp-block-image img{display:block}
.entry-content .wp-block-image.is-resized img{height:auto}

/* ---------------------------------------------------------------- line list */

/* ------------------ for filling row by row */
/* .mfr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 4%;margin:0} */
/* .mfr{padding:0 0 30px;min-width:0} */

/* ------------------for filling column by column */
.mfr-grid{display:block;column-count:2;column-gap:4%;margin:0} 
.mfr{padding:0 0 30px;min-width:0;break-inside:avoid}

.mfr-logos{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 20px;margin:22px 0 14px;min-height:30px}
.mfr-logos a,.mfr-logos span{display:block;line-height:0}
.mfr-logos img{display:block;height:auto}
.mfr-name{font-family:var(--de-slab);font-size:22px;font-weight:300;line-height:1.3;color:var(--de-gold);margin:0}
.mfr-name a{color:inherit}
.mfr-body ul{margin:0;padding-left:40px}
.mfr-body ul ul{margin:0;list-style:circle}
.mfr-body p{margin:0 0 10px}
.ll-actions{display:flex;justify-content:center;margin:20px 0 10px}

.de-btn,.wp-block-button__link{display:inline-flex;align-items:stretch;font-family:"PT Sans",Arial,sans-serif;font-weight:700;font-size:14px;line-height:17px;text-transform:uppercase;background:var(--de-btn);color:#fff;padding:0;border:0;border-radius:0;cursor:pointer}
.wp-block-button__link{padding:13px 29px}
.de-btn:hover,.de-btn:focus,.wp-block-button__link:hover{color:#fff;background:#725620}
.de-btn .de-btn-icon{display:flex;align-items:center;justify-content:center;width:43px;background:rgba(0,0,0,.12);border-right:1px solid rgba(255,255,255,.25)}
.de-btn .de-btn-icon svg{width:17px;height:17px;fill:#fff}
.de-btn .de-btn-label{padding:13px 29px}

/* ---------------------------------------------------------------- what's new */
.news-list{margin:0}
.news-item{display:flex;gap:4%;padding:30px 0 0;margin:0}
.news-item+.news-item{padding-top:0}
.news-item:first-child{padding-top:30px}
.news-main{flex:0 0 66.66%;max-width:66.66%;min-width:0}
.news-side{flex:1 1 0;min-width:0;display:flex;align-items:flex-start;justify-content:center}
.news-side img{display:block;height:auto}
.news-logo{float:left;margin:0 20px 10px 0;line-height:0}
.news-logo img{display:block;height:auto}
.news-headline{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:19.6px;font-weight:700;color:var(--de-red);margin:10px 0}
.news-body p:last-child{margin-bottom:20px}
.news-sep{clear:both;height:8px;border-top:1px solid var(--de-gold-line);border-bottom:1px solid var(--de-gold-line);margin:14px 0 36px}
.news-sep:last-child{display:none}

/* ---------------------------------------------------------------- footer */
.footer-widgets{border-top:2px solid var(--de-red);background:#fff;color:#383838;padding:40px 0}
.footer-cols{display:flex;gap:30px}
.footer-col{flex:1 1 0;min-width:0}
.footer-widgets p{margin:14px 0}
.footer-widgets img{display:block}
.footer-widgets .footer-logo{margin-bottom:6px}
.footer-widgets h4{font-family:"Duru Sans",Impact,Charcoal,sans-serif;font-weight:400;font-size:18px;line-height:27px;text-transform:uppercase;color:var(--de-red);margin:0 0 28px}
.footer-widgets a{color:var(--de-red)}
.footer-widgets .indent{padding-left:8px}
.copyright{background:var(--de-red);color:#fff;font-size:12px;line-height:20px;padding:20px 0;border-top:1px solid #4b4c4d}
.copyright .container{display:flex;justify-content:space-between;align-items:center;gap:20px}
.copyright a{color:#fff;text-decoration:underline}
.copyright a:hover{color:#f3e3c0}
.copyright .social a{display:inline-flex;text-decoration:none;opacity:.85}
.copyright .social a:hover{opacity:1}
.copyright .social svg{width:20px;height:20px;fill:#fff}

.search-form{display:flex;gap:8px}
.search-form input[type=search]{padding:8px;border:1px solid var(--de-border);font:inherit}
.search-form input[type=submit]{padding:8px 16px;background:var(--de-btn);color:#fff;border:0;font:inherit;font-family:"PT Sans",sans-serif;font-weight:700;text-transform:uppercase;cursor:pointer}
.post-item{margin:0 0 40px}
.post-item h2{display:block}
.post-item h2::after{display:none}
.alignleft{float:left;margin:0 20px 10px 0}.alignright{float:right;margin:0 0 10px 20px}.aligncenter{display:block;margin:0 auto 20px}

/* ---------------------------------------------------------------- tablet / mobile */
@media (max-width:1100px){
	.primary-nav>ul>li{padding-right:36px}
}
@media (max-width:1000px){
	.primary-nav>ul>li{padding-right:24px}
	.primary-nav>ul>li>a{font-size:16px}
}
@media (max-width:800px){
	:root{--de-gutter:30px}
	.topbar{height:45px}
	.topbar .container{justify-content:center}
	.branding{padding:0 0 20px}
	.branding .container{justify-content:center}
	.site-logo{margin-top:20px}
	.site-logo img{width:291px}
	.navbar{position:static;border-bottom:1px solid var(--de-border)}
	.navbar .container{padding-top:20px;padding-bottom:20px}
	.nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:#fff;border:1px solid #d2d3d4;padding:0 0 0 14px;height:40px;font:inherit;font-size:14px;color:var(--de-text);cursor:pointer;text-align:left}
	.nav-toggle .bars{display:flex;flex-direction:column;justify-content:center;gap:4px;width:50px;height:100%;border-left:1px solid #e5e5e5;padding:0 14px}
	.nav-toggle .bars span{display:block;height:3px;background:#dcdddd}
	.primary-nav{display:none;border:1px solid #d2d3d4;border-top:0}
	.primary-nav.is-open{display:block}
	.primary-nav>ul{display:block}
	.primary-nav>ul>li{padding-right:0;border-top:1px solid #e5e5e5;display:flex;flex-wrap:wrap;align-items:stretch}
	.primary-nav>ul>li:first-child{border-top:0}
	.primary-nav>ul>li>a{flex:1 1 0;height:auto;line-height:20px;padding:12px 14px;font-size:14px;font-family:var(--de-body);border-top:0;border-left:3px solid transparent}
	.primary-nav>ul>li:hover>a,.primary-nav>ul>li.current-menu-item>a,.primary-nav>ul>li.current-menu-ancestor>a{border-top:0;border-left-color:var(--de-red)}
	.primary-nav .menu-item-has-children>a::after{display:none}
	.submenu-toggle{display:block;width:50px;border:0;border-left:1px solid #e5e5e5;background:transparent;cursor:pointer;position:relative}
	.submenu-toggle::before{content:"";position:absolute;left:19px;top:15px;width:8px;height:8px;border:solid #777;border-width:0 2px 2px 0;transform:rotate(45deg)}
	li.is-open>.submenu-toggle::before{transform:rotate(-135deg);top:19px}
	.primary-nav .sub-menu{position:static;display:none;flex:0 0 100%;width:100%;min-width:0;opacity:1;visibility:visible;transform:none;border-top:1px solid #e5e5e5;box-shadow:none;background:#fafafa}
	.primary-nav li.is-open>.sub-menu{display:block}
	.primary-nav li:hover>.sub-menu{opacity:1;visibility:visible}
	.primary-nav .sub-menu a{padding:10px 14px 10px 30px;border-bottom:1px solid #eee}

	/* inner pages: the banner image is hidden and the title becomes a plain heading */
	.hero:not(.is-home){height:auto;background:none!important;color:var(--de-red);display:block;padding:28px 0 0;overflow:visible}
	.hero:not(.is-home) .hero-title{color:var(--de-red);font-size:30px;line-height:42px;text-shadow:none;margin:0}
	.hero.is-home{height:250px}
	.hero.is-home .hero-title{font-size:28px;line-height:34px}
	.hero-video{display:none}
	.site-main{padding-top:30px}
	.hero:not(.is-home)+.site-main{padding-top:20px}
	.entry-content h2,.entry-content h3{margin-bottom:20px}
	.entry-content .wp-block-columns{flex-wrap:wrap!important;gap:20px}
	.entry-content .wp-block-column{flex-basis:100%!important}
	
	.mfr-grid{grid-template-columns:1fr} /* for filling row by row */
	.mfr-grid{column-count:1} /* for filling column by column */

	.news-item{display:block}
	.news-main{max-width:none}
	.news-side{display:none}
	.news-logo{float:none;margin:0 0 10px}
	.footer-cols{display:block}
	.footer-col{margin-bottom:20px}
	.copyright .container{display:block}
	.copyright .social{margin-top:10px}
}
@media (prefers-reduced-motion:reduce){
	.hero-video{display:none}
	*{scroll-behavior:auto!important;transition:none!important}
}
@media print{
	.topbar,.navbar,.nav-toggle,.hero-video,.copyright .social{display:none}
	.hero{height:auto;background:none!important;color:#000}
	.hero-title{color:#000;text-shadow:none}
}

/* link colour must not override button text */
.entry-content .de-btn,.entry-content .de-btn:hover,.entry-content .de-btn:focus,.entry-content .wp-block-button__link{color:#fff}

/* title bar for pages without a banner */
.titlebar{background:var(--de-red);border-top:1px solid #7a1f21;border-bottom:1px solid #7a1f21;height:87px;display:flex;align-items:center}
.titlebar h1{margin:0;font-family:var(--de-body);font-size:18px;line-height:26px;font-weight:400;color:#fff;text-transform:uppercase}
.titlebar+.site-main{padding-top:80px}
.entry-content h2.is-style-plain,.entry-content h3.is-style-plain{display:block;font-family:var(--de-body);font-size:24px;line-height:33.6px;font-weight:400;color:var(--de-gold);margin:0 0 12px}
.entry-content h2.is-style-plain::after,.entry-content h3.is-style-plain::after{display:none}
.entry-content>h3.is-style-plain:not(:first-child){margin-top:28px}

/* grey full-width band used for the bullet lists on the Markets pages */
.entry-content .de-band{position:relative;background:#f7f7f7;box-shadow:0 0 0 100vmax #f7f7f7;clip-path:inset(0 -100vmax);padding:22px 0 44px;margin:40px 0 20px}
.entry-content .de-band::before,.entry-content .de-band::after{content:"";position:absolute;left:-100vmax;right:-100vmax;height:0;border-top:1px solid var(--de-gold-line)}
.entry-content .de-band::before{top:0}
.entry-content .de-band::after{bottom:0}
.entry-content .de-band>ul:first-child{margin-top:14px}
.entry-content>.de-band:last-child{margin-bottom:-20px}
.entry-content .de-band ul.is-style-checklist{margin:14px 0 0}
