/* BHE U.S. Transmission site styles */

:root {
	--black: #000;
	--charcoal: #313131;
	--red: #EA002A;
	--line: #C8C8C8;
	--soft-gray: #f1f1f1;
	--site-max-width: 1228px;
	--section-gutter: 20px;
	--header-height: 80px;
	--hero-viewport-height: 100vh;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-height);
}

body {
	min-width: 320px;
	margin: 0;
	background: #fff;
	color: var(--charcoal);
	font-family: "proxima-nova", Arial, Helvetica, sans-serif;
}

* {
	box-sizing: border-box;
}

a {
	color: var(--charcoal);
	text-decoration: none;
	transition: color .2s ease, background-color .2s ease;
}

a:hover,
a:focus {
	color: var(--red);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0;
}

p {
	margin: 0 0 16px;
	font-size: 1.03rem;
	font-weight: 300;
	line-height: 1.65;
}

h2,
h3,
h4 {
	margin: 0;
	font-weight: 500;
}

h2 {
	margin-bottom: 28px;
	font-family: "museo-slab-n3", "museo-slab", Georgia, "Times New Roman", Times, serif;
	font-size: clamp(1.85rem, 5.8vw, 3.125rem);
	line-height: 1.12;
}

h3 {
	font-size: clamp(1rem, 3.8vw, 1.5625rem);
	line-height: 1.35;
}

h4 {
	font-size: clamp(.9375rem, 3.2vw, 1.25rem);
	line-height: 1.35;
}

.clearfix::after {
	display: block;
	clear: both;
	content: "";
}

.clear-both {
	clear: both;
}

.anchor,
.anchor-2 {
	position: relative;
	top: calc(var(--header-height) * -1);
	display: block;
	visibility: hidden;
}

#wrapper,
#wrapper-about,
#wrapper-partnerships,
#wrapper-regulatory,
#wrapper-news,
#wrapper-contact,
#wrapper-top {
	width: 100%;
	background: #fff;
}

#top-bar {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: var(--header-height);
	background: #fff;
	box-shadow: 0 0 16px rgba(0, 0, 0, .12);
}

#mobile-logo {
	position: fixed;
	top: calc(var(--header-height) / 2);
	left: var(--section-gutter);
	z-index: 10001;
	width: min(225px, calc(100vw - 92px));
	transform: translateY(-50%);
}

#mobile-logo img {
	width: 100%;
}

#menu-container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	max-width: var(--site-max-width);
	height: 100%;
	margin: 0 auto;
	padding: 0 var(--section-gutter);
}

#menu {
	display: none;
}

#menu a {
	display: inline-flex;
	align-items: center;
	height: var(--header-height);
	margin-left: 33px;
	color: var(--charcoal);
	font-size: 18px;
	font-weight: 700;
}

#menu a:hover,
#menu a:focus {
	color: var(--red);
}

#mobile-menu {
	display: block;
}

#right-menu {
	position: fixed;
	top: calc(var(--header-height) / 2);
	right: var(--section-gutter);
	z-index: 10001;
	display: block;
	width: 32px;
	height: 24px;
	cursor: pointer;
	list-style: none;
	transform: translateY(-50%);
}

#right-menu::before {
	position: absolute;
	top: 4px;
	left: 0;
	width: 32px;
	height: 2px;
	background: var(--charcoal);
	box-shadow: 0 8px 0 var(--charcoal), 0 16px 0 var(--charcoal);
	content: "";
}

#right-menu::-webkit-details-marker {
	display: none;
}

#mobile-nav {
	position: fixed;
	top: var(--header-height);
	right: var(--section-gutter);
	left: var(--section-gutter);
	display: none;
	background: #fff;
	border: 2px solid var(--black);
	box-shadow: 0 14px 32px rgba(0, 0, 0, .24);
}

#mobile-menu[open] #mobile-nav {
	display: block;
}

#mobile-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#mobile-nav li {
	border-bottom: 2px solid var(--line);
}

#mobile-nav li:last-child {
	border-bottom: 0;
}

#mobile-nav a {
	display: block;
	padding: 16px 20px;
	font-weight: 700;
}

#header-image {
	padding-top: var(--header-height);
	background: #fff;
}

#slideshow {
	position: relative;
	width: 100%;
	height: var(--hero-viewport-height);
	min-height: 520px;
	overflow: hidden;
	background: #fff;
}

#slides {
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

#slides li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 22px;
	width: 100%;
	height: 100%;
	padding: 0 var(--section-gutter);
	overflow: hidden;
}

#slides img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#slides h2,
#slides h3 {
	position: relative;
	z-index: 2;
	width: calc(100vw - (var(--section-gutter) * 2));
	color: #fff;
	background: rgba(49, 49, 49, .9);
	text-align: left;
	text-shadow: none;
}

#slides h2 {
	max-width: 560px;
	padding: 20px 72px 20px 26px;
	clip-path: polygon(0 0, calc(100% - 42px) 0, 100% 50%, calc(100% - 42px) 100%, 0 100%);
	font-size: clamp(2rem, 10vw, 3.75rem);
	line-height: 1.02;
}

#slides h3 {
	max-width: 650px;
	padding: 20px 24px;
	border-left: 2px solid var(--red);
	font-family: "museo-slab-n3", "museo-slab", Georgia, "Times New Roman", Times, serif;
	font-size: clamp(1.05rem, 5.2vw, 1.6rem);
	line-height: 1.3;
}

#container-facts,
#container-about,
#container-partnerships,
#container-regulatory,
#container-news,
#container-contact,
.site-footer-main,
.site-footer-bottom {
	width: 100%;
	max-width: var(--site-max-width);
	margin: 0 auto;
	padding-right: var(--section-gutter);
	padding-left: var(--section-gutter);
}

#container-facts,
#container-about,
#container-partnerships,
#container-regulatory,
#container-news,
#container-contact {
	padding-top: 40px;
	padding-bottom: 40px;
	background: #fff;
}

#container-about {
	padding-top: 16px;
}

#container-news {
	padding-top: 28px;
	padding-bottom: 28px;
}

.content-interior {
	max-width: none;
	margin: 0;
	padding: 0;
}

#facts {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 40px;
	background: var(--soft-gray);
}

#facts-photo-1,
#facts-photo-2,
#facts-photo-3 {
	display: none;
}

#facts-text-1,
#facts-text-2,
#facts-text-3,
#facts-text-4 {
	min-height: 0;
	padding: 32px 24px;
}

#facts-text-1,
#facts-text-2 {
	background: var(--black);
	color: #fff;
}

#facts-text-3,
#facts-text-4 {
	background: #f7f7f7;
	color: var(--charcoal);
}

#facts h2 {
	margin-bottom: 18px;
	font-weight: 300;
}

#facts-text-1 h2,
#facts-text-2 h2,
#facts-text-1 p,
#facts-text-2 p {
	color: #fff;
}

#facts-text-1 h2 {
	font-size: clamp(1.85rem, 5.6vw, 2.1875rem);
	line-height: 1.08;
}

#facts-text-2 h2,
#facts-text-4 h2 {
	font-size: clamp(2.25rem, 10vw, 3.4375rem);
	line-height: 1;
	white-space: nowrap;
}

#facts-text-3 h2 {
	font-size: clamp(1.75rem, 5.5vw, 2.625rem);
	line-height: 1.1;
}

#facts sup,
#facts sub {
	position: static;
	display: inline;
	font-size: .42em;
	line-height: 0;
}

#facts sup {
	vertical-align: .75em;
}

#facts sub {
	vertical-align: baseline;
}

#facts-text-3 a {
	display: inline-block;
	padding: 10px 12px;
	background: var(--red);
	color: #fff;
	font-size: 1rem;
	line-height: 1.2;
}

#facts-text-3 a:hover,
#facts-text-3 a:focus {
	background: var(--black);
	color: #fff;
}

h2.about,
h2.regulatory,
.partnerships,
.news {
	color: var(--black);
}

h3.about {
	display: block;
	margin-bottom: 30px;
	padding-bottom: 32px;
	border-bottom: 2px solid var(--red);
	color: var(--charcoal);
	font-weight: 400;
}

#about-left,
#about-right {
	width: 100%;
}

#about-2 {
	clear: both;
	display: grid;
	gap: 0;
	margin-top: 24px;
	overflow: hidden;
	background: var(--black);
	border: 2px solid var(--black);
}

#about-2 img {
	width: 100%;
	background: #eee;
	filter: grayscale(1);
}

#about-2 h2,
#about-2 p {
	color: #fff;
}

#about-2 h2 {
	margin: 0;
	padding: 32px 24px 10px;
	font-size: clamp(1.75rem, 5vw, 2.1875rem);
	font-weight: 300;
	line-height: 1.12;
}

#about-2 p {
	padding: 0 24px 28px;
}

.partnership-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-top: 30px;
}

.partnership-card {
	overflow: hidden;
	background: #fff;
	border: 2px solid var(--black);
	text-align: center;
}

.partnership-card img {
	width: 100%;
	border-bottom: 2px solid var(--black);
	filter: grayscale(1);
}

.partnership-card h4 {
	margin: 0;
	padding: 18px 15px;
	color: var(--charcoal);
	font-family: "proxima-nova", Arial, Helvetica, sans-serif;
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1.25;
}

.regulatory-list {
	border-top: 2px solid var(--black);
}

.regulatory-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	padding: 18px 0;
	background: #fff;
	border-bottom: 2px solid var(--line);
}

.regulatory-notice {
	font-size: clamp(1rem, 3.9vw, 1.125rem);
	line-height: 1.45;
}

.regulatory-title {
	display: inline-block;
	color: var(--black);
	font-weight: 700;
}

.regulatory-item time,
.news-date {
	display: block;
	color: var(--black);
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.4;
}

.regulatory-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

.regulatory-actions a {
	display: inline-block;
	padding: 4px 9px;
	background: var(--red);
	border: 0;
	color: #fff;
	line-height: 1.2;
}

.regulatory-actions a:hover,
.regulatory-actions a:focus {
	background: var(--black);
	color: #fff;
}

.news-photo,
.news-photo-2 {
	display: none;
}

#news-articles {
	clear: both;
	padding: 20px 0 12px;
	border-top: 2px solid var(--black);
}

.news-article {
	margin: 0;
}

.news-headline {
	margin-bottom: 10px;
	padding-bottom: 0;
	color: var(--charcoal);
	font-family: "museo-slab-n3", "museo-slab", Georgia, "Times New Roman", Times, serif;
	font-size: clamp(1.375rem, 6vw, 2rem);
	font-weight: 500;
	line-height: 1.18;
}

.news-date {
	margin-bottom: 18px;
}

h2.contact {
	display: block;
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 2px solid var(--black);
	color: var(--black);
}

h3.contact {
	margin-bottom: 10px;
	color: var(--black);
	font-family: "museo-slab-n3", "museo-slab", Georgia, "Times New Roman", Times, serif;
	font-size: clamp(1.35rem, 4vw, 1.5625rem);
	line-height: 1.1;
}

#contact-left,
#contact-middle {
	width: 100%;
}

.site-footer {
	margin-top: 0;
	padding: 44px 0 18px;
	background: var(--black);
	color: #fff;
}

.site-footer a,
.site-footer p,
.site-footer span,
.site-footer strong {
	color: #fff;
}

.site-footer a:hover,
.site-footer a:focus {
	color: var(--red);
}

.site-footer-main {
	display: grid;
	grid-template-columns: 1fr;
	gap: 34px;
}

.site-footer-brand {
	display: grid;
	grid-template-columns: minmax(0, 150px) minmax(0, 1fr);
	gap: 22px;
	align-items: start;
}

.site-footer-logo {
	width: 150px;
	filter: brightness(0) invert(1);
}

.site-footer-text {
	display: grid;
	gap: 8px;
	font-size: clamp(.95rem, 3.8vw, 1rem);
	line-height: 1.35;
}

.site-footer-links {
	display: grid;
	grid-template-columns: 1fr;
	gap: 26px;
}

.site-footer-column {
	display: grid;
	align-content: start;
	gap: 8px;
}

.site-footer-column a {
	font-size: clamp(.95rem, 3.8vw, 1rem);
	line-height: 1.25;
}

.site-footer-column .site-footer-parent {
	font-weight: 700;
}

.site-footer-bottom {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 42px;
	padding-top: 18px;
	border-top: 2px solid var(--line);
	font-size: .875rem;
	line-height: 1.35;
}

@media screen and (min-width: 600px) {
	:root {
		--section-gutter: 30px;
	}

	.partnership-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.regulatory-item {
		grid-template-columns: minmax(0, 1fr) 180px;
		align-items: start;
	}

	.regulatory-item time {
		text-align: right;
	}
}

@media screen and (min-width: 960px) {
	:root {
		--section-gutter: 40px;
		--header-height: 130px;
	}

	#mobile-logo {
		width: 241px;
	}

	#menu {
		display: flex;
	}

	#mobile-menu {
		display: none;
	}

	#slideshow {
		min-height: 640px;
	}

	#slides {
		position: relative;
	}

	#slides li {
		display: block;
		padding: 0;
	}

	#slides h2 {
		position: absolute;
		top: 80px;
		left: 70px;
		width: min(560px, calc(100% - 140px));
		padding: 28px 95px 28px 50px;
		clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 50%, calc(100% - 60px) 100%, 0 100%);
		font-size: clamp(3rem, 5.2vw, 4rem);
		line-height: .98;
	}

	#slides h3 {
		position: absolute;
		top: 310px;
		right: 60px;
		width: min(650px, calc(100% - 140px));
		padding: 28px 38px;
		font-size: clamp(1.25rem, 2.4vw, 1.875rem);
		line-height: 1.25;
	}

	#container-facts,
	#container-about,
	#container-partnerships,
	#container-regulatory,
	#container-news,
	#container-contact {
		margin: 40px auto;
	}

	#container-about {
		margin-top: 16px;
	}

	#container-news {
		margin-top: 24px;
		margin-bottom: 24px;
	}

	#about-left,
	#about-right {
		width: 48%;
	}

	#about-left {
		float: left;
	}

	#about-right {
		float: right;
	}

	#about-2 {
		grid-template-columns: minmax(0, 56%) minmax(0, 44%);
		align-items: center;
	}

	#about-2 img {
		height: 100%;
		object-fit: contain;
		padding: 32px;
	}

	#about-2 h2 {
		padding: 40px 32px 10px;
	}

	#about-2 p {
		padding: 0 32px 40px;
	}

	.partnership-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.news-photo,
	.news-photo-2 {
		display: block;
		float: left;
		width: 33.333%;
		padding-right: 20px;
		margin-bottom: 16px;
	}

	.news-photo-2 {
		padding-right: 0;
	}

	#contact-left {
		float: left;
		width: 42%;
		margin-right: 8%;
	}

	#contact-middle {
		float: left;
		width: 42%;
	}

	.site-footer {
		padding: 56px 0 24px;
	}

	.site-footer-main {
		grid-template-columns: 1.4fr 2fr;
		gap: 64px;
	}

	.site-footer-links {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 34px;
	}

	.site-footer-bottom {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

@media screen and (min-width: 1228px) {
	#container-facts {
		padding-right: 0;
		padding-left: 0;
	}

	#facts {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	#facts-photo-1,
	#facts-photo-2,
	#facts-photo-3 {
		display: block;
		min-height: 205px;
		overflow: hidden;
	}

	#facts-photo-1 {
		grid-column: 1 / 3;
	}

	#facts-text-1 {
		grid-column: 3 / 5;
	}

	#facts-text-2 {
		grid-column: 1 / 2;
		text-align: center;
	}

	#facts-text-3 {
		grid-column: 2 / 3;
		text-align: center;
	}

	#facts-photo-2 {
		grid-column: 3 / 5;
	}

	#facts-photo-3 {
		grid-column: 1 / 4;
	}

	#facts-text-4 {
		grid-column: 4 / 5;
	}

	#facts img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
