:root {
  --cod-gray: #0C0C0C;
  --wild-sand: ##F5F5F5;
  --mercury: #E5E5E5;
  --silver-chalice: #B0AFAF;
  --sundance: #C8A85A;
  --driftwood: #B68B4C;
  --twine: #C8A15D;
  --twine-opacity-60: rgba(200, 161, 93, 0.6);
  --crail: #C05640;
  --brick-red: #D42B54;
  --charm: #D2607C;
  --taupe: #3A2F28;
  --laser: #D1B574;
  --vertical-margin: 100px;
  --horizontal-margin: 0;
  --bg-color: var(--cod-gray);
  --center-max-width: 880px;
}

body {
	background-color: var(--cod-gray);
	font-family: 'Instrument Sans', sans-serif;
	margin: 0;
}

main {
	position: relative;
}

section {
	width: calc(100% - 20vw);
	min-width: 300px;
	display: block;
	padding: 40px 20px;
	border-radius: 18px;
	box-shadow: 10px 10px 40px var(--twine-opacity-60);
	/* border: 1px solid var(--sundance); */
	margin: 40px auto 40px auto;
	position: relative;
	background-color: var(--cod-gray);
}


/* section::before,
section::after {
	content: "";
	position: absolute;
	background: transparent radial-gradient(closest-side at 50% 50%,
	 #000000 0%,
	 rgba(0, 0, 0, 0.922) 20%,
	 rgba(200, 161, 93, 0.5) 40%,
	 rgba(182, 139, 76, 0) 100%) 0% 0% no-repeat padding-box;
	width: 75%;
    height: 117%;
    border-radius: 100%;
	z-index: -1;
	top: -20%;
}

section::before {
    left: -10%;
}

section::after {
    right: -10%;
}
	*/

h1 {
	font: normal normal 600 44px/1.2 'Instrument Sans', sans-serif;
	color: var(--twine);
	text-align: center;
	margin: 40px auto 20px auto;
}

h2 {
	font: normal normal 500 33px/1.2 'Instrument Sans', sans-serif;
	color: var(--driftwood);
	text-align: center;
	margin: 30px auto 20px auto;
}

p {
	font: normal normal 400 16px/1.4 'Instrument Sans', sans-serif;
	color: var(--silver-chalice);
}

p a {
	color: var(--sundance);
	font-weight: 600;
	font-size: 26px;
	transition: color 0.3s ease, font-weight 0.3s ease;
}

p b {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.8;
	display: block;
}

p .sources {
    display: inline-flex;
    flex-direction: column;
    gap: 8px;
    max-width: initial;
    margin: 0 auto;
    text-align: left;
}

p .sources a {
   position: relative;
}

/* p .sources a:before {
   content: "•";
   position: absolute;
   left: -14px;
   color: var(--sundance);
} */

article p.description {
	max-width: var(--center-max-width);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

article p.videos,
article p.photos {
	text-align: center;
	margin-top: 25px;
}


a:hover,
a:focus {
	color: var(--crail);
	font-weight: 800;
}


.gallery { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 1rem; }

.gallery img { 
	height: 180px;
	width: auto;
	object-fit: contain;
	cursor: pointer;
	border-radius: 6px;
	transition: transform 0.3s ease;
}

.gallery img:hover { transform: scale(1.05); }


/* Lightbox styles */
#lightbox {
position: fixed; top:0; left:0; width:100%; height:100%;
background: rgba(0,0,0,0.9); display:none; justify-content:center; align-items:center;
z-index: 1000;
}

#lightbox img { max-width: 90%; max-height: 90%; border-radius: 8px; }
#lightbox span { position:absolute; top:20px; right:30px; color:#fff; font-size:2rem; cursor:pointer; }

footer {
	padding:20px;
	font-size:0.9em;
	color:var(--laser);
	margin-bottom: 25px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	justify-content: center;
}

footer a {
	color:var(--charm);
	text-decoration: none;
}

footer a,
footer span,
footer i {
	background-color: var(--cod-gray);
	padding: 5px;
	border-radius: 3px;
}

footer a:hover{
	color:var(--brick-red);
}

footer a i {
	text-decoration: none;
}

footer a span {
	text-decoration: underline;
}


@media only screen and (max-width: 1200px) {
	h1 {
		font: normal normal 600 30px/1.2 'Instrument Sans', sans-serif;
	}

	h2 {
		font: normal normal 500 26px/1.2 'Instrument Sans', sans-serif;
	}

	p a {
		font: normal normal 600 18px/1.2 'Instrument Sans', sans-serif;
	}
	
	section {
		padding: 20px !important;
		margin: 0 auto calc(var(--vertical-margin) / 2 - 40px) auto !important;
	}

	section::before,
	section::after {
		width: 100vw;
		height: 100vh;
	}
}

