@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200..900&family=Ysabeau+SC:wght@1..1000&display=swap');

nav {
	opacity: 0.9;
	font-family: 'Ysabeau SC';
}

nav.sticky-top {
	z-index: 2000;
	/* So nav dropdowns appear above home carousel */
}

.navbar-brand img {
	height: 25px;
	width: auto;
	transform: rotate(-5deg);
}

.breadcrumb {
	padding-left: 5vw;
	padding-right: 5vw;
}

.container > nav > .breadcrumb {
	padding-left: 0;
	padding-right: 0;
}

h1,
h2,
h3 {
	font-family: 'Ysabeau SC';
	color: #3a2501;
}

.kim-grid article {
	text-align: center;
	margin-bottom: 3vh;
}

.kim-grid article:first-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-left: 5vw;
	padding-right: 5vw;
	padding-bottom: 5vw;
	min-height: 70vh;
}

.kim-grid article:first-child h2,
.kim-grid article:first-child h3 {
	text-align: center;
}

.kim-grid article img {
	max-height: 85vh;
	max-width: 100%;
}

.kim-grid article h2 {
	margin-bottom: 5px;
}

.kim-grid article h3 {
	font-size: 1.5rem;
}

.kim-grid article p {
	text-align: left;
}

.kim-grid article:first-child p:first-of-type {
	margin-top: 20px;
}

.kim-grid iframe {

 height: min(80vh, calc(100vw * 0.75)); /* height is 4:3 based on viewport width */
  width: calc(100vh * (4 / 3));          /* 4:3 aspect ratio based on height */
  max-width: 100%;
  max-height: 80vh;
  display: block;
  margin: 0 auto;
  border: none;
}

@media (max-width: 576px) {
	ol.breadcrumb {
		padding-left: 5vw;
		padding-right: 5vw;
	}
}

.scroll {
	margin: 40px auto 40px auto;
	font-size: 10rem;
	text-align: center;
	color: grey;
	line-height: 1rem;
	background-image: url(/images/scroll.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 80px;
	height: 38px;
	display: inline-block;
	xxxcontent: "🡇";
	animation: dropAndSnap 2s infinite;
	opacity: 0.6;
}

.scroll:hover {
	cursor: pointer;
}

@keyframes dropAndSnap {
	0% {
		transform: translateY(0);
	}

	70% {
		transform: translateY(10px);
		/* Slow drop */
	}

	100% {
		transform: translateY(0);
		/* Quick snap back */
	}
}

main {
	min-height: 70vh;
}

footer a {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}

footer p.small {
	opacity: 0.6;
	font-size: 0.7rem;
}