/*
 * ADVERT-T1 front-end styles on top of GeneratePress: base type, header, footer.
 */

/* ---------- Base ---------- */
body,
button,
input,
select,
textarea {
	font-family: var(--t1-font-body);
}

body {
	color: var(--t1-gray);
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--t1-font-display);
	font-weight: 400;
	color: var(--t1-blue);
}

/* Full-width pages: sections run edge to edge with no GeneratePress padding. */
.full-width-content .site-content,
.full-width-content .inside-article,
.one-container.full-width-content .site-content {
	padding: 0;
}

.full-width-content .site-main {
	margin: 0;
}

.full-width-content .entry-content {
	margin-top: 0;
}

.full-width-content .inside-article {
	background: transparent;
}

.full-width-content .entry-content > :last-child {
	margin-bottom: 0;
}

/* ---------- Header (GeneratePress header + Primary menu) ---------- */
.site-header {
	background-color: var(--t1-navy);
}

.t1-header-overlay .site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: transparent;
}

.admin-bar.t1-header-overlay .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar.t1-header-overlay .site-header {
		top: 46px;
	}
}

.site-header .inside-header {
	min-height: 120px;
	padding: 20px 40px;
	align-items: center;
}

.site-header .site-logo img,
.site-header .site-logo .header-image {
	width: 56px;
	height: auto;
}

.site-header .main-navigation,
.site-header .main-navigation ul ul,
.site-header .main-navigation .inside-navigation {
	background: transparent;
}

.site-header .main-navigation .main-nav ul li a {
	padding-left: 15px;
	padding-right: 15px;
	line-height: 42px;
	font-family: var(--t1-font-body);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #fff;
	background: transparent;
	transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.site-header .main-navigation .main-nav ul li:hover > a,
.site-header .main-navigation .main-nav ul li:focus > a,
.site-header .main-navigation .main-nav ul li.sfHover > a,
.site-header .main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: #fff;
	background: transparent;
	opacity: 0.75;
}

/* Menu item with CSS class "t1-nav-cta" = outlined pill button. */
.site-header .main-navigation .main-nav ul li.t1-nav-cta {
	margin-left: 15px;
}

.site-header .main-navigation .main-nav ul li.t1-nav-cta > a {
	height: 42px;
	padding: 0 16px;
	line-height: 40px;
	border: 1px solid #fff;
	border-radius: 64px;
	opacity: 1;
}

.site-header .main-navigation .main-nav ul li.t1-nav-cta:hover > a,
.site-header .main-navigation .main-nav ul li.t1-nav-cta > a:focus {
	background: #fff;
	color: var(--t1-blue);
	opacity: 1;
}

.site-header .main-navigation .menu-toggle,
.site-header .main-navigation .menu-toggle:hover,
.site-header .main-navigation .menu-toggle:focus,
.site-header .mobile-menu-control-wrapper .menu-toggle {
	color: #fff;
	background: transparent;
}

/* Mobile menu (opens below the header). */
@media (max-width: 1024px) {
	.site-header .inside-header {
		min-height: 88px;
		padding: 12px 24px;
	}

	.site-header .site-logo img,
	.site-header .site-logo .header-image {
		width: 44px;
	}

	.site-header .main-navigation.toggled,
	.site-header .main-navigation.toggled .main-nav > ul {
		background: var(--t1-navy);
	}

	.site-header .main-navigation.toggled .main-nav ul li a {
		padding: 0 24px;
		line-height: 52px;
		opacity: 1;
	}

	.site-header .main-navigation .main-nav ul li.t1-nav-cta {
		margin: 12px 24px 20px;
	}

	.site-header .main-navigation .main-nav ul li.t1-nav-cta > a {
		display: inline-block;
		height: 44px;
		line-height: 42px;
		padding: 0 20px;
	}
}

/* ---------- Footer (content: WP Admin > T1 Site Settings) ---------- */
.t1-footer {
	background: var(--t1-gradient-footer);
	padding: 40px 24px;
	color: var(--t1-gray);
}

.t1-footer__inner {
	max-width: 1148px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.t1-footer__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
}

.t1-footer__brand {
	flex: 0 0 453px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.t1-footer__logo {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 13px;
	width: 210px;
}

.t1-footer__logo img {
	display: block;
	height: auto;
}

.t1-footer__mark {
	width: 144px;
}

.t1-footer__cities {
	width: 210px;
}

.t1-footer__tagline {
	max-width: 284px;
	margin: 0;
	font-size: 15px;
	line-height: 1.3;
	color: var(--t1-gray);
}

.t1-footer__cols {
	flex: 1 1 auto;
	display: flex;
	justify-content: space-between;
	gap: 32px;
}

.t1-footer__title {
	margin: 0 0 20px;
	font-family: var(--t1-font-display);
	font-size: 20px;
	line-height: 1;
	color: var(--t1-blue);
}

.t1-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.t1-footer__links li {
	margin: 0;
}

.t1-footer__links a {
	font-size: 15px;
	line-height: 1.3;
	color: rgba(88, 95, 107, 0.5);
	text-decoration: none;
	transition: color 0.2s ease;
}

.t1-footer__links a:hover,
.t1-footer__links a:focus {
	color: var(--t1-blue);
}

.t1-footer__bottom {
	border-top: 1px solid rgba(88, 95, 107, 0.2);
	padding-top: 24px;
	text-align: center;
}

.t1-footer__copyright {
	margin: 0;
	font-size: 15px;
	line-height: 1.3;
	color: var(--t1-gray);
}

@media (max-width: 1024px) {
	.t1-footer__top {
		flex-direction: column;
	}

	.t1-footer__brand {
		flex-basis: auto;
	}

	.t1-footer__cols {
		width: 100%;
		justify-content: flex-start;
		gap: 48px;
	}
}

@media (max-width: 767px) {
	.t1-footer {
		padding: 48px 24px 32px;
	}

	.t1-footer__cols {
		flex-wrap: wrap;
		gap: 32px 24px;
	}

	.t1-footer__col {
		flex: 1 1 calc(50% - 12px);
	}
}
