:root {
	--am-blue: #2F3485;
}
@font-face {
	font-family: 'Archivo Narrow';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('assets/fonts/archivo-narrow-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Archivo Narrow';
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url('assets/fonts/archivo-narrow-italic.woff2') format('woff2');
}

html {
    background:#fff;
    scrollbar-gutter: stable;
    overflow-y: scroll;
}
body {
	font-size: 1.125rem;
}
body p,
body ul,
body ol,
body li,
body blockquote,
body dl,
body dd,
body dt,
body td,
body th {
	font-family: 'Archivo Narrow', Arial, sans-serif;
}
section#pageContent h1,
section#pageContent h2,
section#pageContent h3,
section#pageContent h4,
section#pageContent h5,
section#pageContent h6 {
	color: var(--am-blue);
	font-weight: 700;
}
section#pageContent h1,
section#pageContent h2 {
	font-size: 2rem;
	padding: 0.75em 0;
}
section#pageContent h3 {
	font-size: 1.6rem;
	padding-bottom: 0.75em;
}
section#pageContent h4 {
	font-size: 1.4rem;
	display: flex;
	align-items: center;
}
section#pageContent h4::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--am-blue);
	margin-left: 1em;
}
section#pageContent img {
	width:250px;
}
html body .inner-content a {
	color:#000;
}
header h1 {
	font-size:2.0rem;
}
img.hosted {
	display: block;
  width: 180px;
  margin: 0 auto;
}
html body .inner-content p a,
html body .inner-content li a {
	font-weight: bold;
	text-decoration: underline;
	text-underline-offset: 0.12em;
	color: #db7c38;
	text-decoration-color: #db7c38;
	transition: color 0.4s ease, text-decoration-color 0.4s ease;
}
html body .inner-content p a:hover,
html body .inner-content li a:hover {
	color: #eea81a;
	text-decoration-color: #eea81a;
}
a:hover {
	text-decoration:underline;
}
.off-canvas-wrapper {
    max-width:900px;
    background:#FFF;
    margin:0 auto;
}
.mobmenul-container i {
	color:#000!important;
}
body .entry-content img.alignright {
	max-width:50%;
}
body.logged-in #top-bar-am {
    margin-top:32px;
}
#top-bar-am {
	background:#FFF;
    box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

/* ---- Mobile sticky bar (position:fixed because Foundation's
   .off-canvas-wrapper has overflow:hidden which kills position:sticky) ---- */
#mobile-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	background: #fff;
	box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.1);
	padding: 0.75em 1em;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	transition: padding 0.25s ease;
}
/* Initial padding-top fallback before JS runs and starts measuring the bar.
   Inline ResizeObserver script then overrides body.style.paddingTop with the
   bar's actual offsetHeight (and keeps it in sync through the scroll-shrink
   transition + resize / orientation changes). */
@media screen and (max-width: 39.9375em) {
	body {
		padding-top: 107px;
	}
}
#mobile-bar.is-scrolled {
	padding: 0.4em 1em;
}
#mobile-bar .mobile-logo {
	display: inline-block;
	flex: 0 1 auto;
	min-width: 0;
}
#mobile-bar .mobile-logo img,
#mobile-bar .mobile-logo svg {
	display: block;
	width: 140px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 983.63 / 562.08;
	transition: width 0.25s ease;
}
#mobile-bar.is-scrolled .mobile-logo img,
#mobile-bar.is-scrolled .mobile-logo svg {
	width: 90px;
}

/* Hamburger: three 5px-tall am-blue lines, vertically centered */
.mobile-menu-toggle {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 7px;
	width: 50px;
	height: 50px;
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
}
.mobile-menu-toggle span {
	display: block;
	width: 32px;
	height: 5px;
	background: var(--am-blue);
	margin: 0 auto;
}

/* Off-canvas drawer + Foundation auto-injected overlay
   Mobile bar is z-index:99, so drawer + overlay need to live above that. */
.off-canvas.position-right#off-canvas {
	width: 66.6667vw;
	max-width: 480px;
	background: #fff;
	padding: 4em 1.5em 2em;
	box-shadow: -8px 0 24px -8px rgba(0,0,0,0.18);
	z-index: 200;
}
/* Fade the main content when the off-canvas drawer is open. Foundation adds
   .is-open-right (and .has-transition-overlap, .has-position-right) to the
   .off-canvas-content element itself when the drawer slides in. */
.off-canvas-content {
	transition: opacity 0.3s ease;
}
.off-canvas-content.is-open-right {
	opacity: 0.5;
}
.js-off-canvas-overlay {
	position: fixed;
	inset: 0;
	background: transparent;
	z-index: 151;
}
.mobile-menu-close {
	position: absolute;
	top: 0.6em;
	right: 0.8em;
	background: none;
	border: 0;
	font-size: 2.4em;
	line-height: 1;
	color: var(--am-blue);
	cursor: pointer;
}
ul.mobile-menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.mobile-menu-list li {
	border-bottom: 1px solid #eee;
}
ul.mobile-menu-list li:last-child {
	border-bottom: 0;
}
ul.mobile-menu-list a {
	display: block;
	padding: 0.85em 0.25em;
	color: var(--am-blue);
	font-weight: 700;
	text-decoration: none;
	font-size: 1.1rem;
}
ul.mobile-menu-list li.current-menu-item > a,
ul.mobile-menu-list li.current_page_item > a {
	color: #db7c38;
}

#top-bar-am #top-logo-am {
    display: flex;
    justify-content: center;
    align-items: center;
}

#top-bar-am #top-logo-am img {
    width: 330px;
    height: auto;
    aspect-ratio: 983.63 / 562.08;
    will-change: width;
    transition: width 0.25s ease, filter 0.4s ease;
    backface-visibility: hidden;
    transform: translateZ(0);
}
#top-bar-am.is-scrolled #top-logo-am img {
    width: 200px;
}
#top-logo-am a:hover img {
    filter: saturate(1.2);
}
#top-bar-am #top-logo-am > div:nth-child(1) {
  justify-self: start;
  padding:0.5em;
}
#top-bar-am #top-logo-am > div:nth-child(2) {
  justify-self: center;
  text-align:center;
}
#top-bar-am #top-logo-am > div:nth-child(3) {
  justify-self: end;
}

ul#main-nav li {
    margin:0 0.2em;
}
ul#main-nav li a {
    font-weight:700;
}
#top-menu-am-parent {
    padding:0.7em;
    display:flex;
     justify-content: center;
    align-items: end;
}
#top-menu-am {
	margin-bottom: 0.5em;
}
article {
	padding-top:2em;
}
#top-menu-am a {
	padding: 0.4em 1em;
	background: var(--am-blue);
	color: #fff;
	position: relative;
	z-index: 0;
	overflow: hidden;
	transition: background 0.35s ease;
}
#top-menu-am a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--am-blue) 0%, #eea81a 100%);
	opacity: 0;
	transition: opacity 0.35s ease;
	z-index: -1;
}
#top-menu-am a:hover::before {
	opacity: 1;
}
#top-menu-am li.current-menu-item > a,
#top-menu-am li.current_page_item > a,
#top-menu-am li.current-menu-ancestor > a {
	background: linear-gradient(90deg, var(--am-blue) 0%, #db7c38 100%);
}
html body .inner-content a.button,
.fluentform .ff-btn-submit,
.fluentform button.ff_btn_style,
.fluentform button[type="submit"] {
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--am-blue) !important;
	background-color: var(--am-blue) !important;
	color: #fff !important;
	font-size: 1em;
	font-weight: 700;
	padding: 0.55em 2em;
	cursor: pointer;
	position: relative;
	z-index: 0;
	overflow: hidden;
	transition: none !important;
	box-shadow: none !important;
}
html body .inner-content a.button::before,
.fluentform .ff-btn-submit::before,
.fluentform button.ff_btn_style::before,
.fluentform button[type="submit"]::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--am-blue) 0%, #eea81a 100%);
	opacity: 0;
	transition: opacity 0.35s ease;
	z-index: -1;
	pointer-events: none;
}
html body .inner-content a.button:hover,
html body .inner-content a.button:focus,
html body .inner-content a.button:active,
.fluentform .ff-btn-submit:hover,
.fluentform .ff-btn-submit:focus,
.fluentform .ff-btn-submit:active,
.fluentform button.ff_btn_style:hover,
.fluentform button.ff_btn_style:focus,
.fluentform button.ff_btn_style:active,
.fluentform button[type="submit"]:hover,
.fluentform button[type="submit"]:focus,
.fluentform button[type="submit"]:active {
	background: var(--am-blue) !important;
	background-color: var(--am-blue) !important;
	color: #fff !important;
	text-decoration: none;
	border: 0 !important;
	box-shadow: none !important;
}
html body .inner-content a.button:hover::before,
.fluentform .ff-btn-submit:hover::before,
.fluentform button.ff_btn_style:hover::before,
.fluentform button[type="submit"]:hover::before {
	opacity: 1;
}
.main-footer {
	text-align: center;
	border-top: 1px solid #ccc;
	padding: 1.5em 0 1em;
	margin: 2em 0 0;
	font-size: 0.75em;
	color: #585C9D;
}
.footer-omedia-logo {
	margin: 0.75em 0 0;
}
.footer-omedia-logo img {
	width: 120px;
	height: auto;
	display: inline-block;
	vertical-align: middle;
}
.team-bio-header {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 1.25em;
	flex-wrap: nowrap;
	clear: both;
	margin: 0;
	padding-bottom: 2em;
}
.team-bio-header h2 {
	margin: 0;
	padding-top: 0.5em;
	flex: 1 1 auto;
	color: var(--am-blue);
}
.team-bio-header .team-bio-photo {
	margin: 0 !important;
	flex: 0 0 auto;
	width: auto;
	max-width: 158px;
}
.team-bio-photo img {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 4px solid var(--am-blue);
	object-fit: cover;
	display: block;
}
hr.team-bio-divider,
hr.case-study-divider {
	border: 0;
	border-top: 1px solid #ccc;
	background: transparent;
	width: 100%;
	height: 0;
	margin: 2.5em 0;
	opacity: 1;
}
.entry-content li {
	margin-bottom: 0.5em;
}
.article-header h1 {
	font-size: 2.3rem;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	color: var(--am-blue);
	border-bottom: 5px solid var(--am-blue);
	padding-bottom: 0.4em;
	margin-bottom: 1em;
}
body.home .article-header h1 {
	display: none;
}
.entry-content table th:nth-child(1),
.entry-content table td:nth-child(1) {
    width: 17% !important;
}

.entry-content table th:nth-child(2),
.entry-content table td:nth-child(2) {
    width: 13% !important;
}

.entry-content table th:nth-child(3),
.entry-content table td:nth-child(3) {
    width: 40% !important;
}

.entry-content table th:nth-child(4),
.entry-content table td:nth-child(4) {
    width: 30% !important;
}
.entry-content table {
    table-layout: fixed !important;
    width: 100% !important;
}
/* Responsive Adjustments */
@media (max-width: 768px) {
    .writer-flex-container {
        flex-direction: column; /* Stack photo and text vertically */
        align-items: center; /* Center align content */
        text-align: center;
    }

    .writer-photo {
        width: 200px; /* Smaller photo for mobile */
        height: 200px;
        margin: 0 0 15px; /* Adjust spacing */
    }

    .writer-name {
        font-size: 2rem;
    }

    .writer-title {
        font-size: 1.3rem;
    }

    .writer-bio {
        font-size: 0.95rem;
    }

    .writer-post-item {
        flex-direction: column; /* Stack content and image */
    }

    .writer-post-thumbnail {
        float: none; /* Disable float for smaller screens */
        width: 100%; /* Full width for smaller screens */
        max-width: 300px;
        margin-left: 0;
        margin-bottom: 15px;
    }

    .writer-post-content {
        padding-right: 0;
        text-align: center; /* Center align content for smaller screens */
    }
	section#pageContent img {
	width:125px;
}
.entry-content table th:nth-child(1),
.entry-content table td:nth-child(1) {
    width: 20% !important;
}

.entry-content table th:nth-child(2),
.entry-content table td:nth-child(2) {
    width: 20% !important;
}

.entry-content table th:nth-child(3),
.entry-content table td:nth-child(3) {
    width: 33% !important;
}

.entry-content table th:nth-child(4),
.entry-content table td:nth-child(4) {
    width: 27% !important;
}
td, th {
	font-size:0.65em;
}
}

.cases-image-row {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	flex-wrap: nowrap;
	margin: 30px 0;
}
.cases-image-row figure {
	margin: 0;
}
section#pageContent .cases-image-row img {
	height: 265px;
	width: auto;
	max-width: 100%;
	display: block;
	background-color: #9aa0c0;
}
section#pageContent .cases-image-row figure:only-child img {
	height: 331px;
}
@media (max-width: 600px) {
	section#pageContent .cases-image-row img {
		height: 180px;
	}
	section#pageContent .cases-image-row figure:only-child img {
		height: 225px;
	}
	.cases-image-row {
		flex-wrap: wrap;
	}
}

.content-image-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 30px 0;
}
.content-image-row figure {
	margin: 0;
	width: 100%;
}
section#pageContent .content-image-row img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	background-color: #9aa0c0;
}
@media (max-width: 600px) {
	.content-image-row {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.content-image-row figure:nth-child(n+2) {
		display: none;
	}
}

.footer-break-mobile {
	display: none;
}
@media (max-width: 600px) {
	.footer-sep-desktop {
		display: none;
	}
	.footer-break-mobile {
		display: inline;
	}
}

.news-list {
	display: flex;
	flex-direction: column;
	gap: 1.25em;
	margin: 1em 0;
}
.news-card {
	display: flex;
	gap: 1em;
	align-items: flex-start;
	padding-bottom: 1.25em;
	border-bottom: 1px solid rgba(47, 52, 133, 0.18);
}
.news-card:last-child {
	border-bottom: 0;
}
.news-card-image {
	flex: 0 0 auto;
	display: block;
	width: 200px;
	height: 130px;
	overflow: hidden;
	background-color: #8b8990;
}
section#pageContent .news-card-image img {
	width: 200px;
	height: 130px;
	object-fit: cover;
	display: block;
	transition: transform 0.25s ease;
}
.news-card-image:hover img {
	transform: scale(1.04);
}
.news-card-body {
	flex: 1 1 auto;
	min-width: 0;
}
.news-card-date {
	font-family: 'Archivo Narrow', Arial, sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #585C9D;
	margin-bottom: 0.25em;
}
section#pageContent .news-card-title {
	font-size: 1.15rem;
	line-height: 1.25;
	margin: 0 0 0.4em;
	padding: 0;
	color: var(--am-blue);
	font-weight: 700;
}
section#pageContent .news-card-title a {
	color: var(--am-blue);
	text-decoration: none;
}
section#pageContent .news-card-title a:hover {
	text-decoration: underline;
}
.news-card-teaser {
	font-family: 'Archivo Narrow', Arial, sans-serif;
	font-size: 0.95rem;
	line-height: 1.4;
	margin: 0 0 0.5em;
}
.news-card-readmore {
	font-family: 'Archivo Narrow', Arial, sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--am-blue);
	text-decoration: none;
}
.news-card-readmore:hover {
	text-decoration: underline;
}
@media (max-width: 600px) {
	.news-card {
		flex-direction: column;
		gap: 0.6em;
	}
	.news-card-image,
	section#pageContent .news-card-image img {
		width: 100%;
		height: auto;
		max-height: 200px;
	}
	section#pageContent .news-card-image img {
		object-fit: cover;
	}
}

.not-found-cta {
	text-align: center;
	margin: 2.5em 0 1em;
}
.not-found-cta a.button {
	display: inline-block;
}
