@import url("https://fonts.googleapis.com/css?family=Bowlby+One+SC|Permanent+Marker|Oxygen:300,300italic,400,400italic,600|Londrina+Solid|Bangers|Material+Symbols+Outlined");
@import url("fontawesome-all.min.css");

/* Some definitions */

:root {

	--background-1: #A7D2C8;
	--background-2: #F2D388;
	--background-2-light: #FAF9F0;
	--foreground-1: #C98474;
	--foreground-1-light: #D8ABA1;
	--foreground-2: #874C62;

}

body {
	font-family: Oxygen, Arial, Helvetica, Sans-Serif;
	color: var(--foreground-2);	
	padding: 0;
	margin: 0;
}

a {
    color: unset;
}

h1 + h2 {
    margin-top: 0;
}

nav {
	width: 100%;
}

nav ul {
	list-style: none;
	margin: 0 auto;
	text-align: center;
	width: 100%;
	background: var(--foreground-1);
	padding: 0;
	z-index: 999;
	position: relative;
	height: 40px;
}

nav ul li {
	display: inline-block;
	padding: 4px 0 0;
	vertical-align: bottom;
}

nav ul li a {
	cursor: pointer;
	color: var(--foreground-2);
	font-weight: 900;
	text-decoration: none;
	font-size: 1.6em;
	text-shadow: 1px 1px 0px var(--foreground-1-light);
	font-family: "Londrina Solid", Helvetic, Arial, Sans-Serif;
	padding: 0 12px;
}
	
nav ul li a.current {
	text-shadow: none;
	font-size: 1.8em;
	border: 1px solid var(--foreground-2);
	background: var(--foreground-1-light);
	border-bottom: 2px solid var(--foreground-1-light);
	box-shadow: 1px 0 0 var(--foreground-2);
	pointer-events: none;
}	

nav ul li a:hover {
	color: var(--foreground-1-light);
}

.navbar input[type="checkbox"],
.navbar .hamburger-lines {
	display: none;
}

.navbar {
	box-shadow: 0px 5px 10px 0px #aaa;
	width: 100%;
	background: #fff;
	color: #000;
	opacity: 0.85;
	z-index: 48;
	position: relative;
	height: 40px;
	padding: 0;
}

.navbar-container {
	display: flex;
	justify-content: space-between;
	height: min-content;
	align-items: center;
	height: 40px;
}

.top-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background-color: #00BAF0;
  background: linear-gradient(to left, #f46b45, #eea849);
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  color: #FFF;
  height: 50px;
  padding: 1em;
}

.menu {
  display: flex;
  flex-direction: row;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu > li {
  margin: 0 1rem;
  overflow: hidden;
}

.menu-button-container {
  display: none;
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#menu-toggle {
  display: none;
}

.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: #fff;
  position: absolute;
  height: 4px;
  width: 30px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}

.menu-button::before {
  content: '';
  margin-top: -8px;
}

.menu-button::after {
  content: '';
  margin-top: 8px;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  transform: rotate(405deg);
}

#menu-toggle:checked + .menu-button-container .menu-button {
  background: rgba(255, 255, 255, 0);
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0px;
  transform: rotate(-405deg);
}

#top {
	height: 190px;
	background-color: var(--background-1);
	z-index: 10;
	position: relative;
	margin-top: -40px;
}
	
#top > div {
	display: none;
	position: absolute;
	border: 2px solid #9E9E9E;
	border-radius: 100%;
	font-family: 'Bangers';
	width: 5vw;
	height: 5vw;
	font-size: 5vw;
	text-align: center;
	color: cadetblue;
	background: aliceblue;
	opacity: .3;
	box-shadow: 1px 1px #999;
}

span.attribution {
    font-style: italic;
    font-size: .9em;
    display: block;
    float: right;
	margin-top: 4px;
}

#hero {
	margin: 0 auto;
	width: max-content;
	display: none;
}

#hero .wrapper {
	margin: 0 auto;
	padding: .5em 1.5em;
	background: var(--foreground-2);
	box-shadow: 2px 2px 3px 0px #8f6531;
	position: relative;
	top: -2em;
	width: 700px;
	min-height: 160px;
	height: 164px;
}

#hero .wrapper h1, #hero .wrapper p {
	text-align: center;
}

#hero h1 {
	font-family: Bangers;
	font-size: 96px;
	margin: .25em auto 0;
}

#hero h1.title {
	color: var(--foreground-1-light);
	text-shadow: 0px 2px 3px var(--foreground-1);
	margin: 16px auto 0px;
}

#hero h1.placeholder {
	visibility: hidden;
}

#hero p {
	font-size: 20px;
	margin: 0 auto 1em;
	color: var(--foreground-1-light);
	opacity: 1;
}

#hero p.pre {
	opacity: 0;
}

#content {
	background-color: var(--background-2-light);
	height: 100vh;
	min-height: 100%;
	position: relative;
	width: 100%;
	z-index: 10;
}

/* Content modules */

.home #content #articles {
	/* visibility: hidden; */
	overflow: hidden;
}

.home #content #articles {
    display: flex;
}

.banner.sz-80 {
    width: 80%;
}

.banner.sz-60 {
    width: 60%;
}

.banner.sz-20 {
    width: 20%;
}

article.banner.sz-60 {
	padding: 1em 2em 1em 0;	
}

article.banner.sz-20 {
    padding: .5em;
}

article.banner.sz-20 h1 {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: 88%;
    padding: 0 .5em;
}

article.banner.sz-20 h2 {
    font-size: 1.3em;
}

.banner.pos-left {
    margin-right: .5%;
    margin-left: 6%;
}

.banner.pos-right {
    margin-right: 6%;
    margin-left: .5%;
}

.banner.pos-center {
    margin-right: .5%;
    margin-left: .5%;
}

ul.icons {
	list-style: none;
}

aside ul.icons li {
	font-size: 1.2em;
}

aside ul.icons li i {
	margin-right: 8px;
}

aside ul.icons li a {
	color: var(--foreground-2);
	text-decoration: none;
}

aside ul.icons li a:hover {
	color: var(--foreground-1);
	text-decoration: none;
}

ul.icons li a:after {
	content: '\e89e';
	font-family: 'Material Symbols Outlined';
	font-size: .8em;
    margin-left: 2px;
}

aside ul.icons {
	margin-top: 20px;
	padding-left: 30px;
	font-size: 1em;
}

aside ul.icons li {
	margin-bottom: 6px;
}

.email {
	font-family: "Londrina Solid"
}	

.float-left {
	float: left;
}

.float-right {
	float: right;
}

.banner figure.lg-img, img.lg-img {
	width: 45%;
	margin: 0;
}	

article {
	display: flex;
	position: relative;
	padding: 2em;
}

article.sidebar {
	padding: 12px;	
}	

#articles article.pre.fly-from-left {
	left: -120vw;
}

#articles article.pre.fly-from-right {
	left: 100vw;
}

#articles article.pre.fly-from-bottom {
	top: 100vw;
}

article section {
	display: flex;
	flex-direction: column;
}

article section.fill {
	width: 100%;
}

article > section > h1 {
	margin-top: .25em;
}

article.sidebar > section > h1 {
	margin-top: revert;
}

section#content .sidebar {
	flex-direction: row;
}	

section.sidebar.banner.image-links {
    padding: 1em;
    font-family: "Permanent Marker"
}

section.sidebar.banner.image-links figure {
    width: 150px;
	margin: 0;
}

.adapto-list {
	display: flex;
	padding: 0;
	margin: 1em auto;
}	

.adapto-list li {
	list-style: none;
	margin: 0 12px;
	font-size: 1.2em;
	white-space: nowrap;
}	

.image-links h3 {
	margin-top: 10px;
}

.image-links li a {
	margin-left: 15px;
    font-size: 1.4em;
    line-height: 1.8em;
}	

ul.grady-links {
	padding-left: 0;
	margin-left: 20px;
}
	
section.sidebar.banner.image-links .grady-links li {
    list-style: none;
    font-size: 1.2em;
    line-height: 1.5em;
}

article section p {
	margin-top: .5em;
	margin-bottom: .5em;
}

article.main {
	margin: -120px 20% 10px 20%;
	width: auto;
	background: var(--foreground-1-light);
	position: absolute;
	flex-direction: column;
	z-index: 12;
}

article img {
	object-fit: contain;
    object-position: top;
}

article.main h1 {
	font-size: 2.8em;
	margin-bottom: .6em;
	font-family: "Bowlby One SC";
	font-weight: 400;
}

article.main p {
	font-size: 1.6em;
}

article.main > aside > img {
	width: 220px;
	margin-right: 20px;
	border-radius: 25%;
}

article > aside > img {
	max-width: 250px;
	height: auto;
}	

.main .banner {	margin: 0;	padding: 0 2em;
}	

.banner {
	margin: 10px 6%;
	border: 4px solid var(--foreground-1);
	border-radius: 8px;
	background-color: var(--background-2);
}

.banner figure {
	margin-right: 32px;
}

.banner figure img {
	width: 100%;
	max-height: 300px;	
}	

.banner figure figcaption a {
    white-space: nowrap;
    font-family: "Permanent Marker";	
}	

.banner section h1 {
	font-size: 1.6em;
	margin: 8px 0 10px;
}

.banner section h1, .banner > h2 {
	font-family: "Bowlby One SC";
	font-weight: 400;
}
	
.banner h2 {
	font-size: 1.8em;
}		

.banner section h2.tight {
	margin-top: -2px;
}

.banner section p {
	font-size: 1.2em;
	margin-top: -2px;
}

.banner section > * {
	width: 100%;
}

#articles article a.button {
    margin-left: auto;
    width: max-content;
    padding: 4px 14px 4px 18px;
    border: 2px solid var(--foreground-1);
    border-radius: 4px;
    background: var(--foreground-2);
    color: var(--foreground-1-light);
    text-decoration: none;
    font-family: 'Londrina Solid';
    font-size: 1.2em;
}

#articles article a.button:after {
	content: '>';
	margin-left: 6px;
}

#articles article a.button:hover {
	margin-top: -2px;
	margin-right: 2px;
	box-shadow: 1px 1px 1px 0px #666;
}

#articles article a.button:active {
	margin-top: -2px;
	margin-right: 2px;
	box-shadow: 1px 1px 1px 0px #666;
	color: var(--background-2);
}

img.polaroid {
	border: 4px solid white;
    border-bottom-width: 30px;	
}

img.img-sm-left {
	float: left;
	width: 130px;
	margin-right: 12px;
}

img.img-sm-right {
	float: right;
	width: 130px;
	margin-left: 12px;
}

img.img-sm-left.polaroid {
    transform: rotate(-2deg);	
}

img.img-sm-right.polaroid {
    transform: rotate(2deg);	
}

/* Popup images on the home page */

.pop_img {
	position: absolute;
	height: 187px;
}

#popup1 {
	transform: rotate(-15deg);
	top: -171px;
	margin-left: 14px;
}

#popup1.pre {
	margin-left: 10px;
}

#popup2 {
	top: -179px;
	margin-left: 297px;
}

#popup3 {
	transform: rotate(2deg);
	top: -196px;
	margin-left: 628px;
}

#popup3.pre {
	margin-left: 580px;
}

#hero .pop_img.pre {
	top: -45px;
}

p.big-bottom {
	border-bottom: 1px solid var(--foreground-2);
    padding-bottom: 20px;	
}	

body.gradyjones div#gj_blurbs {
    display: flex;
}

body.gradyjones div#gj_blurbs > div {
    border: 4px solid var(--foreground-1);
    margin: 0 2px;
    padding: 6px;
    border-radius: 8px;
    background: var(--background-2-light)
}

body.gradyjones div#gj_blurbs .quote {
    font-weight: 800;
}

body.gradyjones div#gj_blurbs .attribution {
    font-size: .8em
}

body.home #gj_blurbs {
	display: none;
    position: absolute;
    top: 116px;
    z-index: 999;
    text-align: center;
    width: 100%;
    background: #042064;
    opacity: .65;
    color: white;
    padding: 2px;    
    font-size: .8em
}

body.home #gj_blurbs > div {
    display: none;
}

body.home #gj_blurbs > div.current {
    display: block;
}

body.home #gj_blurbs > div span {
    display: block;
    float: none;
}


/* Tablety things sideways, maybe */
@media (max-width: 1024px) {
	
	body.gradyjones div#gj_blurbs {
		flex-direction: column;
	}
	
	article.main p {
		font-size: 1.4em;
	}	
	
	article.main {
		margin: -115px 12% 10px 12%;	
	}

	article.main > aside > img {
	    width: 175px;
	    margin-right: 20px;
	}
	
	.image-links li a {
		font-size: 1.6em;
	}
	
	ul.grady-links {
		padding-left: 6px;
		margin-left: 32px;
	}

	article.main section h1 {
		font-size: 2.4em;
	}

	aside ul.icons {
		padding-left: 30px;
		font-size: .9em;
	}	

}

/* Tablety things in portrait */
@media (max-width: 768px) {
	#hero .wrapper {
		width: 540px;
		min-height: 90px;
		height: 135px;
	}

	#hero h1 {
		font-size: 72px;
	}

	.pop_img {
		position: absolute;
		height: 130px;
	}	

	#popup1 {
		transform: rotate(-25deg);
		top: -150px;
		margin-left: -25px;
	}

	#popup1.pre {
		margin-left: 10px;
	}

	#popup2 {
		top: -150px;
		margin-left: 250px;
	}
	
	#hero #popup2.pop_img.pre {
		top: -40px;
	}

	#popup3 {
		transform: rotate(15deg);
		top: -150px;
		margin-left: 500px;
	}

	#popup3.pre {
		margin-left: 490px;
	}	
	
	article {
		padding: 1em;
	}

	article.main p {
		font-size: 1em;
	}	

	.banner section h1 {
		font-size: 1.6em;
		margin: 0 0 6px;
	}		
	
	.banner section h2 {
		font-size: 1.1em;
	}		
	
	.banner section h2.tight {
		margin-top: -1px;
	}

	article.main {
		margin: -115px 10% 10px 10%;
	}

	article.main > aside > img {
	    width: 165px;
	    margin-right: 20px;
	}
	
	section.sidebar.banner.image-links figure {
		width: 120px;
	}
	
	.adapto-list {
		flex-direction: column;
	}
	
	.adapto-list li {
		font-size: 1.5em;
		padding: 10px;
	}
	
	.image-links li a {
		font-size: 1em;
	}
	
    ul.grady-links {
        padding-left: 0px;
        margin-left: 8px;
    }	

	article.main section h1 {
    	font-size: 1.7em;
    	margin: 18px 0 12px;
   	}

 	aside ul.icons {
		padding-left: 24px;
	}
	
    body.home #gj_blurbs {
        top: 95px;
        font-size: .7em;
    }
	
	body.home #gj_blurbs span.attribution {
		margin-top: 2px;
	}

}


/* Phones probably */
@media (max-width: 540px) {
	#hero .wrapper {
		width: 300px;
		min-height: 90px;
		height: 110px;
	}

	#hero h1 {
		font-size: 40px;
	}

	.pop_img {
		position: absolute;
		height: 100px;
	}	

	#popup1 {
		transform: rotate(-25deg);
		top: -115px;
		margin-left: -25px;
	}

	#hero #popup1.pre {
		margin-left: 10px;
	}

	#popup2 {
		top: -120px;
		margin-left: 130px;
	}
	
	#hero #popup2.pop_img.pre {
		top: -38px;
	}	

	#popup3 {
		transform: rotate(15deg);
		top: -115px;
		margin-left: 290px;
	}

	#hero #popup3.pre {
		margin-left: 260px;
	}	

	.banner section h1 {
		font-size: 1.4em;
	}	

	article.main {
		margin: -96px 6px 10px 6px;	
	}

	article.main p {
		font-size: 1em;
		margin-top: 0;
	}

	article.main > aside > img {
	    width: 100px;
	    margin-right: 20px;
	}
	
	section.sidebar.banner.image-links img {
		width: 100px;
	}		
	
	.image-links li a {
		font-size: .8em;
	}

	article.main section h1 {
		font-size: 1.8em;
    	margin: 0px auto 8px;	
	}
	
	.banner figure figcaption a {
		font-size: .6em;
	}

	img.img-sm-left {
		width: 100px;
	}

	img.img-sm-right {
		width: 100px;
	}	
	
	.home #content #articles {
		display: block;
	}		

	article.banner.sz-60 {
		padding: 1em 2em 1em 1em;
	}
	
	.banner.sz-20, .banner.sz-60, .banner.sz-80 {
		width: unset;
	}

	.banner.pos-left, .banner.pos-right {
		margin-right: 6%;
		margin-left: 6%;
	}

	/* Nav stuff */

	#top {
		height: 150px;
	}

	.navbar {
		background: transparent;
		box-shadow: none;
	}

	.navbar-container input[type="checkbox"],
	.navbar-container .hamburger-lines {
		display: block;
	}
	
	nav ul li a.current {
		border: none;
		background: none;
		box-shadow: none;
	}		

	.navbar-container {
		display: block;
		position: relative;
		height: 0;
		background: var(--background-1);
	}

	.navbar-container input[type="checkbox"] {
		position: absolute;
		display: block;
		height: 32px;
		width: 30px;
		top: 20px;
		left: 20px;
		z-index: 5;
		opacity: 0;
	}

	.navbar-container .hamburger-lines {
		display: block;
		height: 23px;
		width: 35px;
		position: absolute;
		top: 17px;
		left: 20px;
		z-index: 2;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.navbar-container .hamburger-lines .line {
		display: block;
		height: 4px;
		width: 100%;
		border-radius: 10px;
		background: #333;
	}

	.navbar-container .hamburger-lines .line1 {
		transform-origin: 0% 0%;
		transition: transform 0.4s ease-in-out;
	}

	.navbar-container .hamburger-lines .line2 {
		transition: transform 0.2s ease-in-out;
	}

	.navbar-container .hamburger-lines .line3 {
		transform-origin: 0% 100%;
		transition: transform 0.4s ease-in-out;
	}

	.navbar .menu-items {
		padding-top: 100px;
		background: #fff;
		height: 100vh;
		max-width: 300px;
		transform: translate(-150%);
		display: flex;
		flex-direction: column;
		margin-left: -40px;
		padding-left: 50px;
		transition: transform 0.5s ease-in-out;
		box-shadow: 5px 0px 10px 0px #aaa;
	}

	.navbar .menu-items li {
		margin-bottom: 1rem;
		font-size: 1.3rem;
		font-weight: 500;
	}

	.navbar-container input[type="checkbox"]:checked ~ .menu-items {
		transform: translateX(0);
	}

	.navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
		transform: rotate(35deg);
	}

	.navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
		transform: scaleY(0);
	}

	.navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
		transform: rotate(-35deg);
	}

	nav ul li a {
		display: block;
	}	

	.banner section h1 {
		font-size: 1.1em;
	}

	.banner figure {
		width: 90px;
		margin: 0 16px 0 0;
	}

	aside ul.icons {
		margin-top: 20px;
		padding-left: 4px;
    	font-size: .7em;
	}

	aside ul.icons li {
		margin-bottom: 6px;
	}

}

@media (max-width: 378px) {
	section.sidebar.banner.image-links {
		padding: .5em
	}	
	
	section.sidebar.banner.image-links img {
		width: 100px;
	}	
	
    .image-links li a {
        font-size: .8em;
    }
}

footer {
	background: var(--foreground-2);
    color: var(--background-2);
    text-align: right;
    padding: 5px 12px 5px;	
	position: fixed;
	bottom: 0;
}	

#sneaky-detective {
	width: 50px;
	position: absolute;
	z-index: 11;
	top: 50px;
	left: 50vw;
	transition: top .5s ease-in-out, left .5s ease-in-out;
}

#sneaky-detective.peering {
	display: block;
}

img.viewable {
	cursor: pointer;
}

img.viewing {
    position: fixed;
    top: 50px;
    left: 0;
    height: 90vh;
    padding: 50px;
    margin: -50px;
    width: 100% !important;
    object-fit: contain;
    background: #00000047;
	max-height: unset !important;
}

video[autoplay=autoplay] {
    position: fixed;
    z-index: 50;
    top: 0;
    width: 99vw;	
	height: 99vh;
	margin: auto;
	background: #00000069;
}	

.video-close {
	position: fixed;
    z-index: 50;
    top: 0;
    right: 0;
    margin: 10px;
    color: #ccc;
    font-size: 1.5em;	
	cursor: pointer;
}

#reel-carousel {
	margin-top: 0;
	border: 3px inset var(--foreground-1-light);
}

#reel-carousel .slides {
	height: 100%;
}

#reel-carousel video {
	background-color: var(--foreground-1-light);
}

#reel-carousel-footer {
    text-align: right;
}

#reel-carousel-footer a {
    padding-right: 40px;
}

#reel-carousel-footer img {
    border-radius: 50%;
    display: inline;
    width: 25px;
    margin-left: 8px;
    position: absolute;
}
