/**
 * Article content — the ONE place the long-form body style lives.
 *
 * Add the class "article-content" to a post-content widget and it inherits the
 * house article typography: headings, lists, links, figures, the pull-quote and
 * the data table. Used by the Technical Article, Article, News and Press
 * Release singles — edit HERE and all of them follow, instead of copying custom
 * CSS onto each template (which is how they drift apart).
 *
 * Registered + enqueued from includes/article-content.php, which also handles
 * the two things CSS cannot do: wrapping body images for the lightbox and
 * dropping the empty paragraphs the imported content is full of.
 */

.article-content.article-content{color:#21272A;font-size:16px;line-height:1.7}

.article-content.article-content h2{font-family:"Titillium Web",sans-serif;color:#21272A;font-size:32px;font-weight:500;line-height:1.2em;margin:64px 0 24px}
.article-content.article-content h3{font-family:"Titillium Web",sans-serif;color:#21272A;font-size:28px;font-weight:400;line-height:1.2em;margin:40px 0 18px}
.article-content.article-content h4{font-family:"Titillium Web",sans-serif;color:#21272A;font-size:24px;font-weight:400;line-height:1.4em;margin:32px 0 12px}
.article-content.article-content h2:first-child,.article-content.article-content h3:first-child,.article-content.article-content h4:first-child{margin-top:0}
.article-content.article-content h5{font-family:"Titillium Web",sans-serif;color:#21272A;font-size:18px;font-weight:500;line-height:1.4em;margin:24px 0 10px}
.article-content.article-content h6{font-family:"Titillium Web",sans-serif;color:#21272A;font-size:16px;font-weight:500;line-height:1.4em;margin:20px 0 8px}
.article-content.article-content h5:first-child,.article-content.article-content h6:first-child{margin-top:0}
.article-content.article-content h2+h3{margin-top:20px}
.article-content.article-content h3+h4{margin-top:16px}

.article-content.article-content p{color:#21272A;font-size:16px;line-height:1.7;margin:0 0 18px}
.article-content.article-content p:has(+ul),.article-content.article-content p:has(+ol){margin-bottom:10px}

.article-content.article-content ul,.article-content.article-content ol{margin:0 0 18px;padding-left:28px}
.article-content.article-content li{margin:0 0 10px;padding-left:6px;line-height:1.7}

.article-content.article-content a{color:#1D4F91;text-decoration:none;transition:color .25s ease}
.article-content.article-content a:hover,.article-content.article-content a:focus-visible{color:#0071B9}

.article-content.article-content img{max-width:100%;max-height:80vh;width:auto;height:auto;border-radius:6px}
.article-content.article-content figure{margin:40px 0}
.article-content.article-content figure.alignleft,.article-content.article-content figure.alignright{max-width:50%}
.article-content.article-content figcaption{color:#1D4F91;font-size:14px;line-height:1.5;margin-top:12px;text-align:left}
.article-content.article-content a.article-lightbox{display:block;color:inherit}

.article-content.article-content blockquote{position:relative;margin:48px 0;padding:40px 64px;border:0;border-top:1px solid #1D4F91;border-bottom:1px solid #1D4F91;background:none}
.article-content.article-content blockquote::before{content:'“';display:block;position:static;font-size:135px;line-height:108px;height:38px;overflow:hidden;margin:0 0 22px;color:#1D4F91;font-family:Georgia,serif}
.article-content.article-content blockquote p{color:#1D4F91;font-size:27px;line-height:1.55;font-weight:400;margin:0 0 12px}
.article-content.article-content blockquote cite{display:block;margin-top:20px;color:#1D4F91;font-size:15px;font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:.5px}
.article-content.article-content blockquote cite span{display:block;font-weight:400;font-size:14px;text-transform:uppercase}

.article-content.article-content table{width:100%;border-collapse:separate;border-spacing:3px;margin:32px 0}
.article-content.article-content th,.article-content.article-content td{background:#EDEBE8;color:#21272A;border:0;padding:18px 24px;font-size:24px;font-weight:400;text-align:left}
.article-content.article-content thead th{font-weight:600}

/* Migrated DFM layouts — blocks that were flexible-content on the old site and
   are plain markup here, so their structure needs restating. The blue box and
   image row reproduce the old stylesheet; the feature section has no old
   counterpart and stays deliberately plain. */

.article-content.article-content .blue-box{display:flex;flex-wrap:wrap;justify-content:space-between;background:#1D4F91;color:#fff;padding:48px 40px;margin:48px 0;border-radius:6px}
.article-content.article-content .blue-box__col{width:calc(50% - 1px)}
.article-content.article-content .blue-box__col:only-child{width:100%}
.article-content.article-content .blue-box__col:not(:only-child):first-child{padding-right:5%;border-right:1px solid #346DB8}
.article-content.article-content .blue-box__col:not(:only-child):last-child{padding-left:5%}
.article-content.article-content .blue-box h4{color:#fff;margin:0 0 12px}
.article-content.article-content .blue-box p,.article-content.article-content .blue-box li{color:#fff}
.article-content.article-content .blue-box p:last-child{margin-bottom:0}
.article-content.article-content .blue-box a{color:#fff;text-decoration:underline}
.article-content.article-content .blue-box a:hover,.article-content.article-content .blue-box a:focus-visible{color:#fff;opacity:.8}

.article-content.article-content .gallery-row{display:flex;flex-wrap:wrap;justify-content:space-between;margin:40px 0}
.article-content.article-content .gallery-row+.gallery-row{margin-top:2px}
.article-content.article-content .gallery-row__item{width:25%;margin:0}
.article-content.article-content .gallery-row__item img{display:block;width:100%;aspect-ratio:25/30;max-height:none;object-fit:cover;border:1px solid #fff;border-radius:0}

.article-content.article-content .image-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:40px 0}
.article-content.article-content .image-grid__item{flex:1 1 calc(33.333% - 10px);min-width:0;margin:0}
.article-content.article-content .image-grid__item img{width:100%;height:auto;max-height:none;border-radius:6px}
.article-content.article-content .image-grid__item figcaption{color:#4A4A4A;font-size:14px;line-height:19px;margin-top:5px}

.article-content.article-content .image-row{display:flex;align-items:stretch;justify-content:space-between;gap:2px;margin:40px 0}
.article-content.article-content .image-row__item{flex:1 1 0;min-width:0}
.article-content.article-content .image-row__item>a{display:block;height:100%}
.article-content.article-content .image-row__item img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0}

.article-content.article-content .video-embed{margin:40px 0}
.article-content.article-content .video-embed__frame{position:relative;width:100%;aspect-ratio:16/9;background:#21272A;border-radius:6px;overflow:hidden}
.article-content.article-content .video-embed__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.article-content.article-content .video-embed figcaption{color:#1D4F91;font-size:14px;line-height:1.5;margin-top:12px}

.article-content.article-content .card-set{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px;margin:40px 0}
.article-content.article-content .card-set__item{flex:1 1 calc(33.333% - 22px);min-width:0;background:#1D4F91;border-radius:10px;padding:40px 20px;color:#fff;text-align:center}
.article-content.article-content .card-set__item h4{color:#009FDF;margin:20px 0}
.article-content.article-content .card-set__item h4:first-child{margin-top:0}
.article-content.article-content .card-set__item p{color:#fff}
.article-content.article-content .card-set__item>*:last-child{margin-bottom:0}
.article-content.article-content .card-set__item img{max-width:64px;border-radius:0}

.article-content.article-content .tab-set{margin:40px 0;border-top:1px solid #EDEBE8}
.article-content.article-content .tab-set__item{padding:28px 0;border-bottom:1px solid #EDEBE8}
.article-content.article-content .tab-set__item h4{margin:0 0 6px;color:#1D4F91}
.article-content.article-content .tab-set__intro{color:#4A4A4A;font-size:15px;font-style:italic;margin:0 0 14px}
.article-content.article-content .tab-set__item>*:last-child{margin-bottom:0}

.article-content.article-content .featured-module{margin:48px 0;padding:32px 0;border-top:1px solid #EDEBE8;border-bottom:1px solid #EDEBE8}
.article-content.article-content .featured-module h3,.article-content.article-content .featured-module h4{margin-top:0}
.article-content.article-content .featured-module>*:last-child{margin-bottom:0}
.article-content.article-content .featured-module+.featured-module{margin-top:0;border-top:0}
.article-content.article-content .tab-set+.tab-set{margin-top:0;border-top:0}

.elementor-lightbox .elementor-slideshow__header{padding-right:58px;box-sizing:border-box}
.elementor-lightbox .dialog-close-button{z-index:2}

.article-content.article-content .subhead{margin:0 0 28px}
.article-content.article-content .subhead h4{font-size:20px;font-weight:400;color:#4A4A4A;line-height:1.5em;margin:0}
.article-content.article-content .article-download{margin:32px 0 0;font-weight:600}
.article-content.article-content .article-download a::after{content:"\2193";margin-left:8px;font-weight:400}
@media (max-width:767px){
	.article-content.article-content .subhead{margin:0 0 20px}
	.article-content.article-content .subhead h4{font-size:17px}
	.article-content.article-content .article-download{margin:24px 0 0}

	.article-content.article-content{font-size:14px;line-height:1.45}
	.article-content.article-content p{font-size:14px;line-height:1.45}
	.article-content.article-content li{font-size:14px;line-height:1.45}
	.article-content.article-content h2{font-size:20px;margin:40px 0 16px}
	.article-content.article-content h3{font-size:18px;margin:28px 0 12px}
	.article-content.article-content h4{font-size:16px;margin:24px 0 10px}
	.article-content.article-content h2+h3{margin-top:16px}
	.article-content.article-content h3+h4{margin-top:12px}
	.article-content.article-content h5{font-size:15px;margin:20px 0 8px}
	.article-content.article-content h6{font-size:14px;margin:16px 0 6px}
	.article-content.article-content blockquote{text-align:center;padding:32px 24px}
	.article-content.article-content blockquote p{font-size:16px;line-height:1.375}
	.article-content.article-content blockquote cite{font-size:13px}
	.article-content.article-content blockquote cite span{font-size:12px}
	.article-content.article-content figure{margin:28px 0}
	.article-content.article-content .blue-box{padding:32px 24px;margin:32px 0}
	.article-content.article-content .blue-box__col,.article-content.article-content .blue-box__col:not(:only-child):first-child,.article-content.article-content .blue-box__col:not(:only-child):last-child{width:100%;padding:0;border-right:0}
	.article-content.article-content .blue-box__col:not(:only-child):first-child{margin-bottom:20px}
	.article-content.article-content .gallery-row__item{width:50%}
	.article-content.article-content .gallery-row{margin:28px 0}
	.article-content.article-content .card-set__item{flex:1 1 100%;padding:28px 20px}
	.article-content.article-content .card-set{margin:28px 0;gap:16px}
	.article-content.article-content .image-grid{margin:28px 0;gap:16px}
	.article-content.article-content .image-grid__item{flex:1 1 100%}
	.article-content.article-content .image-row{margin:28px 0}
	.article-content.article-content .featured-module{margin:32px 0;padding:24px 0}
}
