@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Telex&display=swap');
/*===== ROOT VARIABLES =====*/
:root {
	--bg-color: rgba(176,181,191,0.40);
	--bg-nav: #262425;
	--nav-text: #F2F2F2;
	--nav-text-hover: #D99F59;
    --orange-accent: #D97904;
	
	--body-font: "Telex", sans-serif;
	--body-font-weight-general: 500;
	--body-font-weight-link: 600; 
	--heading-font: "Noto Serif", serif;
	
	
}

/*===== GENERAL =====*/
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 20px;
	background-color: var(--bg-color);
}

body {
	font-family: var(--body-font);
	font-weight: var(--body-font-weight-general)
}

h1, h2, h3 {
	font-family: var(--heading-font);
}

a {
	text-decoration: none;
	color: var(--bg-nav);
	font-weight: var(--body-font-weight-link);
}

main {
	width: 80rem;
	margin: 5vh auto;
}

img {
	max-width:100%;
	display: block;
}

footer {
	color: black;
}

/*===== NAVIGATION =====*/
nav {
	background-color: var(--bg-nav);
	padding: 2vh 0;
	margin: 0;
	border-bottom: 2px solid var(--orange-accent);
	border-top: 2px solid var(--orange-accent);
}

nav a {
	color: var(--nav-text);
	text-decoration: none;
	font-weight: 600;
	font-family: var(--heading-font);
}

nav a:hover {
	color: var(--orange-accent);
}

nav a:focus {
	text-decoration: underline;
}

nav a[aria-current="page"] {
	font-style: italic;
}


nav a::after {
	content: "";
	display: block;
	height: 2px;
	background-color: var(--orange-accent);
	width: 0;
	transition: width 0.5s ease;
	margin: 0 auto;
}

nav a:hover::after {
	width: 100%;
}

nav a::before {
	content: "\2197";
	display: inline-block;
	width: 1.5em; /* always add the space - no seasick for Bill */
	opacity: 0; /* makes it invisible */
	transition: opacity 0.5s ease;
}

nav a:hover::before {
	opacity: 1;
	color: var(--orange-accent);
}

.nav-list {
	display: flex;
	gap: 4rem;
	list-style: none;
	justify-content: center;
}

nav form {
  display: flex;
  justify-content: center;
}

nav select {
  font-family: var(--body-font);
  font-size: 1rem;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  border: 1px solid var(--orange-accent);
}

/*===== Contact Page =====*/

.contact-2col {
	max-width: 1100px;
	margin: 2vh auto;
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	align-items:start;
}


.contact-info h3 {
	margin-bottom: 1rem;
}

.contact-info p {
	margin: 1rem;
	line-height: 2.4;
}

.contact-info p.bigsize {
	font-size: 1.25rem;
	color: darkblue;
}

.contact-form {
	width: 100%;
	min-height: 100%;
	margin:0;
	padding: 2rem;
	background: white;
	border-radius: 6px;
}

.contact-form h3 {
	margin-bottom: 1rem;
}

.contact-form .form-row {
	margin-bottom: 1rem;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
	border: solid 1px var(--orange-accent);
	border-radius: 4px;
	line-height: 1.4;
	width:100%;
}

.contact-form textarea {
	min-height: 100px;
	margin-bottom: 10px;
}

/*===== Hero =====*/

.hero {
	background-color: white;
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 1rem;
	align-items: center;
	width: 85rem;
	margin: 2rem auto;
}

.herotext {
	font-size: 1rem;
	line-height: 1.3;
}

h3.herotext {
	font-size: 2rem;
	color: var(--orange-accent);
	text-align: center;
	margin-bottom: 1rem;
}

a.cta {
	font-weight:400;
	display: block;
	width: 80%;
	margin: 1rem auto;
	background-color: #034498;
	color: white;
	padding: 0.7rem;
	text-align: center;
	border-radius: 8px;
}

a.cta:hover {
	background-color: var(--bg-nav);
	color: var(--orange-accent);
}

/*===== Accessibility =====*/
.skip-link {
	top: 0;
}
.visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

/*===== Columns =====*/

.gallery {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1rem;
}

.col-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
}

.col-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

/*===== Drop Cap =====*/
.dropcap::first-letter {
	float: left;
	font-size: 4rem;
	line-height: 0.9;
	padding: 0.15rem 0.4rem;
	margin: .12rem .35rem;
	background-color: var(--accent);
	color: #FFFFFF;
	border-radius: .25rem;
	font-weight: 700;
	text-shadow: 2px 2px 0 rgba(0,0,0,0.25);
}

/*===== Padding Top =====*/
.pt-1 { padding-top: 1rem; }
.pt-2 { padding-top: 2rem; }
.pt-3 { padding-top: 3rem; }

/*===== Padding Bottom =====*/
.pb-1 { padding-bottom: 1rem; }
.pb-2 { padding-bottom: 2rem; }
.pb-3 { padding-bottom: 3rem; }

/*===== Center Elements =====*/
.margin-center {
  display: block; 
  margin-left: auto;
  margin-right: auto;
}

/*===== Utility Classes - showing and hiding =====*/

.show-desktop {
	display: block;
}

.show-mobile {
	display: none;
}

/*===== Media Queries =====*/

@media (max-width: 768px) {
	
.hero {
	width: 85vw;
	margin: 1vh auto;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.herotext {
	padding-left: 1vw;
	padding-right:1vw;
}

main {
	width: 80vw;
	margin: 2vh auto;
}

.show-desktop {
	display: none;
}

.show-mobile {
	display: block;
}
	
.contact-2col {
    grid-template-columns: 1fr;
}
	
}

