/****************** CUSTOM FONT IMPORTS & STYLES ******************/

@font-face {
	font-family: Benguiat Montage;
	src: url('../fonts/BenguiatMontage-SemiCondensed.otf');
}
@font-face {
	font-family: Family Regular;
	src: url('../fonts/Family-Regular.otf');
}
@font-face {
	font-family: Family Italic;
	src: url('../fonts/Family-Italic.otf');
}
@font-face {
	font-family: Theinhardt Regular;
	src: url('../fonts/Theinhardt-Regular.otf');
}
@font-face {
	font-family: Theinhardt Italic;
	src: url('../fonts/Theinhardt-RegularIta.otf');
}
@font-face {
	font-family: Theinhardt Bold;
	src: url('../fonts/Theinhardt-Bold.otf');
}
@font-face {
	font-family: Theinhardt Semi Cond Bold;
	src: url('../fonts/Theinhardt-SemiCond-Bold.otf');
}

.montage-text { font-family: "Benguiat Montage", serif; }
.family-regular-text { font-family: "Family Regular", serif; }
.family-italic-text { font-family: "Family Italic", serif; }
.theinhardt-regular-text { font-family: "Theinhardt Regular", sans-serif; }
.theinhardt-italic-text { font-family: "Theinhardt Italic", sans-serif; }
.theinhardt-bold-text { font-family: "Theinhardt Bold", sans-serif; }
.theinhardt-semi-cond-bold-text { font-family: "Theinhardt Semi Cond Bold", sans-serif; }
.crimson-text { font-family: "Crimson Text", serif; }
.crimson-text-italic { font-family: "Crimson Text", serif; font-style: italic; }
.roboto-slab-text { font-family: "Roboto Slab", serif; }

.white-text { color: #ffffff; }
.cool-gray-text { color: #333740; }
.yale-blue-text { color: #1d3464; }
.old-gold-text { color: #ac9d6e; }
.red-text { color: #ef4123; }

.uppercase { text-transform: uppercase; }

h1, h2, h3, h4,
.h1, .h2, .h3, .h4 { line-height: 1.2em; }

a { text-decoration: underline; color: inherit; }

p { color: #333740; }

cite { font-family: "Theinhardt Regular", sans-serif; }

.has-dropcap:first-letter {
	font-family: Benguiat Montage;
	color: #ac9d6e;
	float: left;
	font-size: 3.75rem;
	line-height: 2.5rem;
	padding: 0.1em 2px 0 0;
}
@media (min-width: 641px) {
	.has-dropcap:first-letter {
		font-size: 7.5rem;
		line-height: 4rem;
		padding: 10px 6px 4px 0;
	}
}

/****************** CUSTOM FONT IMPORTS & STYLES ******************/

.transition, .transition:hover {
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.vertical-align {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.row.full, .row .row.full {
	max-width: 100%;
	margin: 0 auto;
}

@media (min-width: 1024px) {
	.row .row {
		max-width: 75vw;
		margin: 0 auto;
	}
}

.cool-gray-extra-light {
	background: #e9e9eb;
	color: #333740;
}

.fb-blue {
	background: #3b5998;
	color: #FFFFFF;
}

.twitter-blue {
	background: #00aced;
	color: #FFFFFF;
}

.insta-blue {
	background: #517fa4;
	color: #FFFFFF;
}

.youtube-red {
	background: #ed2024;
	color: #FFFFFF;
}

.cool-gray {
	background: #333740;
	color: #FFFFFF;
}

.cool-gray p { color: #FFFFFF; }

.cool-gray a { color: #FFFFFF; }

.cool-gray-25 { background: #b7b4b8; }

.cool-gray-transparent-25 { background: rgba(52, 55, 65, 0.25); }

.cool-gray-transparent-50 { background: rgba(52, 55, 65, 0.5); }

.yale-blue-transparent-25 { background: rgba(30, 53, 101, 0.25); }

.yale-blue-transparent-50 { background: rgba(30, 53, 101, 0.5); }

.yale-blue-transparent-75 { background: rgba(30, 53, 101, 0.75); }

.old-gold-transparent-25 { background: rgba(254, 197, 83, 0.25); }

.blue-gray { background: #748ca6; }

.peach { background: #e99a6c; }

.goldenrod { background: #fcf2d9; }

.pale-blue { background: #e4ecf4; }

.white { background: #FFFFFF; }

.gold {
	background: #fec552;
	color: #333740;
}

.orange {
	background: #c05a2c;
	color: #FFFFFF;
}
.orange p { color: #FFFFFF; }
.orange a { color: #FFFFFF; }

.rose {
	background: #793949;
	color: #FFFFFF;
}
.rose p { color: #FFFFFF; }
.rose a { color: #FFFFFF; }

.plum {
	background: #41153f;
	color: #FFFFFF;
}
.plum p { color: #FFFFFF; }
.plum a { color: #FFFFFF; }

.green {
	background: #4c7229;
	color: #FFFFFF;
}
.green p { color: #FFFFFF; }
.green a { color: #FFFFFF; }

.light-blue { background: #85b8d8; }

.yale-blue {
	background: #1d3464;
	color: #FFFFFF;
}
.yale-blue p { color: #FFFFFF; }
.yale-blue a { color: #FFFFFF; }

.old-gold {
	background: #ac9d6e;
	color: #FFFFFF;
}
.old-gold p { color: #FFFFFF; }
.old-gold a { color: #FFFFFF; }

.cool-gray-extra-light p a { color: #333740; }

.yale-blue p a { color: #FFFFFF; }

p.yale-blue a { color: #FFFFFF; }

a.cool-gray:hover {
	background: rgba(52, 55, 65, 0.8);
	color: #FFFFFF;
}

a.gold:hover {
	background: rgba(254, 197, 83, 0.8);
	color: #FFFFFF;
}

a.orange:hover {
	color: #FFFFFF;
	background: rgba(193, 90, 45, 0.8);
}

a.rose:hover {
	background: rgba(151, 57, 73, 0.8);
	color: #FFFFFF;
}

a.plum:hover {
	background: rgba(66, 21, 64, 0.8);
	color: #FFFFFF;
}

a.green:hover {
	background: rgba(76, 115, 41, 0.8);
	color: #FFFFFF;
}

a.light-blue:hover { background: rgba(134, 185, 216, 0.8); }

a.yale-blue:hover {
	background: rgba(30, 53, 101, 0.8);
	color: #FFFFFF;
}

a.old-gold:hover {
	background: rgba(173, 157, 110, 0.8);
	color: #FFFFFF;
}

.button.yale-blue { color: #ffffff; }

.button.old-gold { color: #000000; }

/* Full Screen Overlay Search/Menu */
.overlay {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 2;
	height: 100vh;
}

.overlay .overlay-close {
	position: absolute;
	right: 1em;
	top: 1em;
	margin: 0;
	padding: .5em;
	overflow: hidden;
	border: none;
	outline: none;
	z-index: 100;
}

.overlay .overlay-close i {
	font-size: 2em;
}

.overlay-hugeinc {
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.5s, visibility 0s 0.5s;
	transition: opacity 0.5s, visibility 0s 0.5s;
}

.overlay-hugeinc.open {
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
	background: rgba(173, 157, 110, 0.95);
}

.overlay-hugeinc #animate-content {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.overlay-hugeinc #animate-content {
	opacity: 0.4;
	-webkit-transform: translateY(-25%) rotateX(35deg);
	transform: translateY(-25%) rotateX(35deg);
	-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
	-webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
	transition: opacity 0.5s, -webkit-transform 0.5s;
	transition: transform 0.5s, opacity 0.5s;
	transition: transform 0.5s, opacity 0.5s, -webkit-transform 0.5s;
}

.overlay-hugeinc.open #animate-content {
	opacity: 1;
	-webkit-transform: rotateX(0deg);
	transform: rotateX(0deg);
}

.overlay-hugeinc.close #animate-content {
	-webkit-transform: translateY(25%) rotateX(-35deg);
	transform: translateY(25%) rotateX(-35deg);
}

#animate-content a:hover {
	color: #ffffff;
}

blockquote.floating {
	float: right;
	width: 60%;
	margin-left: 1em;
	@media (min-width: 800px) { width: 25%; }
}
blockquote.left-floating {
	float: left;
	width: 60%;
	@media (min-width: 800px) { width: 25%; }
}
cite { font-style: normal; }
cite::before { content: none; }

img.small.floating {
	float: left;
	width: 50%;
	margin: 1em 2em .5em 0;
	@media (min-width: 800px) { width: 25%; }
}

.large-left-float {
	width: 50vw;
	float: left;
	margin: 0 2em 1em -3em;
	max-width: 800px;
	@media (max-width: 800px) { margin: 0 2em 1em -1.5em; }
}

.large-right-float {
	width: 50vw;
	float: right;
	margin: 0 -3em 1em 2em;
	max-width: 800px;
	@media (max-width: 800px) { margin: 0 -1.5em 1em 2em; }
}
