/* Table of Contents
––––––––––––––––––––––––––––––––––––––––––––––––––
- Grid
- Utilities
- Clearing
- BYU Ribbon
- Header
	- Masthead
	- Navigation
	- Nav Links
	- Search Link
	- Social Links
	- Global Search
	- Sticky Header
- Footer
*/


/* Breakpoints
––––––––––––––––––––––––––––––––––––––––––––––––––
0-639		single column
640-1023	2 columns
1024+		standard layout, but changing margins/padding/type-size
1800+		extra large layout

*/


/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
	position: relative;
	width: calc(100% - 3rem);
	max-width: 1404px;
	margin: 0 auto;
	box-sizing: border-box;
}
[class*='col-'] {
	width: 100%;
	float: left;
	box-sizing: border-box;
	padding: 0 1.5rem;
}
.row {
	margin: 0 -1.5rem;
}
@media (max-width: 639px) {
	[class*='col-'].sm-half-width,
	.sm-half-width {
		width: 50%;
	}
	[class*='col-'].sm-hidden,
	.sm-hidden {
		display: none;
	}
}

/* For devices larger than 400px */
@media (min-width: 400px) {
	.container { width: calc(100% - 4rem); }
	.row { margin: 0 -2rem; }
	[class*='col-'] { padding: 0 2rem; }
}

/* For devices larger than 640px */
@media (min-width: 640px) {
	.container {
		width: 90%; }
	[class*='col-'] {
		/* GUTTERS */
		padding: 0 1.5rem;
		width: 50%;
	}
    /* SPACE FOR GUTTERS */
	.row { margin: 0 -1.5rem; }
}
@media (min-width: 640px) and (max-width: 1023px) {
	[class*='col-'].med-full-width,
	.med-full-width {
		width: 100%;
	}
	[class*='col-'].med-hidden,
	.med-hidden {
		display: none;
	}
}

/***** For devices larger than 1024px *****/
@media (min-width: 1024px) {
	.container { width: 93.75%; }
	.container { width: 960px; }
	[class*='col-'] { margin-bottom: 0;	}
	/*[class*='col-'].lg-hidden,
	.lg-hidden { display: none; }*/

	.col-1                    { width: 8.333333333%;  }
	.col-2                    { width: 16.666666667%; }
	.col-3                    { width: 25%;           }
	.col-4                    { width: 33.333333333%; }
	.col-5                    { width: 41.666666667%; }
	.col-6                    { width: 50%;           }
	.col-7                    { width: 58.333333333%; }
	.col-8                    { width: 66.666666667%; }
	.col-9                    { width: 75%;           }
	.col-10                   { width: 83.333333333%; }
	.col-11                   { width: 91.666666667%; }
	.col-12                   { width: 100%;          }

	.col-1-3                  { width: 33.333333333%; }
	.col-2-3                  { width: 66.666666667%; }

	.col-1-4                  { width: 25%;           }
	.col-2-4,
	.col-1-2                  { width: 50%;           }
	.col-3-4                  { width: 75%;           }

	/* Offsets */
	.col-offset-1               { margin-left: 8.333333333%;  }
	.col-offset-2               { margin-left: 16.666666667%; }
	.col-offset-3               { margin-left: 25%;           }
	.col-offset-4               { margin-left: 33.333333333%; }
	.col-offset-5               { margin-left: 41.666666667%; }
	.col-offset-6               { margin-left: 50%;           }
	.col-offset-7               { margin-left: 58.333333333%; }
	.col-offset-8               { margin-left: 66.666666667%; }
	.col-offset-9               { margin-left: 75%;           }
	.col-offset-10              { margin-left: 83.333333333%; }
	.col-offset-11              { margin-left: 91.666666667%; }

	.col-offset-1-3             { margin-left: 33.333333333%; }
	.col-offset-2-3             { margin-left: 66.666666667%; }

	.col-offset-1-2             { margin-left: 50%; }

}

/***** For devices larger than 1300px *****/
@media (min-width: 1300px) {
	.container {
		width: 1170px;
	}
}

/***** For devices larger than 1800px *****/
@media (min-width: 1800px) {
	.container {
		width: 1404px;
	}
}

/* Row with Border (bottom only)
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.row--border {
	position: relative;
}
.row--border:before {
	content: "";
	display: block;
	width: calc(100% - 3rem);
	margin-left: 1.5rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0px;
	border-bottom: 1px solid hsl(0, 0%, 92%);
}
@media (min-width: 400px) {
	.row--border:before {
		width: calc(100% - 4rem);
		margin-left: 2rem;
	}
}
@media (min-width: 640px) {
	.row--border:before {
		width: calc(100% - 3rem);
		margin-left: 1.5rem;
	}
}

/* For showing the grid (press 'G')
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.show-grid {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	width: 100%;
	z-index: 9999999;
}
.show-grid.on {
	display: block;
}
.show-grid__column {
	height: 3000px;
	background: rgba(255,0,0,0.05);
}


/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
	width: 100%;
	box-sizing: border-box; }
.u-max-full-width {
	max-width: 100%;
	box-sizing: border-box; }
.u-pull-right {
	float: right; }
.u-pull-left {
	float: left; }
.u-unstyled-list {
	list-style: none;
	margin: 0; }
.u-inline-list > li {
	display: inline-block;
}


  /* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Self Clearing Goodness */
.container:after,
.row:after,
.u-cf {
	content: "";
	display: table;
	clear: both;
}



/* BYU Ribbon
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.byu-ribbon {
	height: 8px;
	background-color: #113D6E;
}
.byu-ribbon-logo {
	display: block;
	width: 200px;
	height: 28px;
	background-image: url('../images/byu-ribbon-logo.svg');
	background-repeat: no-repeat;
	background-position: -5px center;
}
@media (min-width: 680px) {
	.byu-ribbon {
		height: 38px;
	}
	.byu-ribbon-logo {
		width: 240px;
		height: 38px;
		background-position: -3px center;
	}
}



/* Header
–––––––––––––––––––––––––––––––––––––––––––––––––– */

header {
	position: relative;
	z-index: 9999;
	height: 13.5rem;
	background-color: #fff;
	/*margin-bottom: 1rem;*/
	border-bottom: 1px solid #f3f3f3;
}
@media (min-width: 680px) {
	header {
		height: 16rem;
	}
}
@media (min-width: 1024px) {}
@media (min-width: 1280px) {}
@media (min-width: 1600px) {}

/* Masthead
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-header__masthead {
	margin-top: 3rem;
	margin-bottom: 0;
}
.global-header__masthead a {
	display: block;
}
.global-header__masthead img {
	width: 100%;
	max-width: 30rem;
}
@media (min-width: 680px) {
	.global-header__masthead {
		margin-top: 3rem;
		margin-bottom: 0;
	}
	.global-header__masthead img {
		width: 100%;
		max-width: 28rem;
	}
}
@media (min-width: 1024px) {
	.global-header__masthead {
		margin-top: 5.25rem;
	}
}

/* Navigation
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-header a, .sticky-header a {
	color: #666;
	-webkit-font-smoothing: subpixel-antialiased;
}
.global-header > .container {
	position: static;
}
.global-header__navigation {
	position: absolute;
	left: 0;
	right: 0;
	top: 8.75rem;
	overflow-y: hidden;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 0;
}
.global-header__navigation-inner-wrap {
	padding-right: 1.5rem;
	display: inline-block;
	float: left;
	white-space: nowrap;
	padding-bottom: 1rem;
}
@media (min-width: 400px) {
	.global-header__navigation-inner-wrap {
		/*margin-left: 30px;*/
		/*padding-right: 30px;*/
		/*position: relative;*/
	}
}
@media (min-width: 550px) {
	.global-header__navigation-inner-wrap {
		/*margin-left: 7.5%;*/
		padding-right: 7.5%;
	}
}
@media (min-width: 680px) {
	.global-header__navigation {
		position: static;
		margin-top: -.25rem;
	}
	.global-header__navigation-inner-wrap {
		margin: 0;
		padding: 0;
		padding-bottom: 2rem;
		position: relative;
	}
}
@media (min-width: 1024px) {
	.global-header__navigation {
		margin-top: 0;
	}
	.global-header__navigation-inner-wrap {
		float: right;
		display: block;
		overflow: visible;
		margin-top: 6.5rem;
	}
}
@media (min-width: 1280px) {}
@media (min-width: 1600px) {}


/* Nav Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-header__primary-nav {
	float: none;
	display: inline-block;
}
.global-header__primary-nav > ul > li {
	display: inline-block;
	margin-left: 1rem;
	margin-bottom: 0;
}
.global-header__primary-nav > ul > li:first-child {
	margin-left: 0;
}
.global-header__link {
	display: block;
	font-family: "VistaRegular", "Vista Sans OT", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.4rem;
	text-decoration: none;
	color: #444;
	padding-bottom: 3px;
	border-bottom: 3px solid transparent;
	transition: border-color .3s;
	cursor: pointer;
}
.global-header__link:hover {
	border-color: #CFB67A;
	transition: border-color .3s;
}
.active .global-header__link {
	border-color: #CFB67A;
}
@media (min-width: 400px) {}
@media (min-width: 680px) {
	.global-header__primary-nav > ul > li {
		margin-left: 2rem;
	}
	.global-header__link {
		letter-spacing: 1px;
		font-size: 1.33rem;
		line-height: 1.33rem;
		padding-bottom: 4px;
	}
}
@media (min-width: 1024px) {}
@media (min-width: 1280px) {
	.global-header__primary-nav > ul > li {
		margin-left: 4rem;
	}
}
@media (min-width: 1600px) {}


/* Search Link
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-header__search {
	margin-left: 1.5rem;
	float: none;
	display: inline-block;
}
@media (min-width: 1280px) {
	.global-header__search {
		margin-left: 4rem;
	}
	.global-header__search .fa-search {
		font-size: 1.5rem;
		display: inline-block;
		margin-right: 0.33rem;
	}
}


/* Social Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-header__social {
	font-size: 1.5rem;
	margin-left: 1.5rem;
	margin-right: 1.5rem;
	margin-bottom: -.9rem;
	float: none;
	display: inline-block;
}
.global-header__social > li {
	float: right;
	margin-left: 0.5rem;
	margin-bottom: 0;
}
.global-header__social > li:nth-child(4) {
	margin-left: 0;
}
.global-header__social .fa-circle {
	transition: color .3s;
}
.global-header__social .fa-stack:hover .fa-circle {
	color: #CFB67A;
	transition: color .3s;
}
.global-header__social .fa-facebook,
.global-header__social .fa-twitter,
.global-header__social .fa-pinterest-p {
	top: 1px;
}
@media (min-width: 400px) {}
@media (min-width: 680px) {
	.global-header__social {
		margin-right: 0;
		margin-top: -1px;
	}
}
@media (min-width: 1024px) {}
@media (min-width: 1280px) {
	.global-header__social {
		margin-left: 3rem;
	}
}
@media (min-width: 1600px) {}


/* Global Search
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-search {
	position: absolute;
	width: 0;
	z-index: 99;
	opacity: 0;
	transition: width .3s ease-in-out, opacity .3s ease-in-out;
}
.global-search.active {
	width: calc(100% - 3rem);
	opacity: 1;
	transition: width .3s cubic-bezier(0.42,0,0.9,1), opacity .3s cubic-bezier(0.42,0,0.9,1);
}
.global-search.active:after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 6rem;
	top: 0;
	bottom: 0;
	right: -6rem;
	background-color: #fff;
	z-index: 9999;
}
.global-search__input[type="text"] {
	width: 100%;
	height: 4rem;
	line-height: 3rem;
	font-size: 2rem;
	color: #666;
	border: none;
	border-bottom: 1px solid rgba(102,102,102,0.2);
	border-radius: 0;
	font-family: "VistaRegular", "Vista Sans OT", sans-serif;
	padding-left: 0;
}
.global-search__input[type="text"]:focus {
	border: none;
	border-bottom: 1px solid rgba(102,102,102,0.2);
}
.global-search__close {
	position: absolute;
	right: 0;
	top: 8px;
	cursor: pointer;
}
.global-search__close > .fa-times {
	color: #afafaf;
}
@media (min-width: 400px) {
	.global-search.active {
		width: calc(100% - 6rem);
	}
}
@media (min-width: 1024px) {
	.global-search {
		right: 0;
		margin-top: -1rem;
	}
	.global-search.active {
		width: 100%;
	}
}


/* Sticky Header
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 1023px) {
	.sticky-header {
		display: none;
	}
}
@media (min-width: 1024px) {
	.sticky-header {
		position: fixed;
		height: 6rem;
		top: -6rem;
		background-color: rgba(255,255,255,0.97);
		background: #fff;
		z-index: 9999;
		width: 100%;
		transition: top .3s ease-in-out;
	}
	.sticky-header.in {
		top: 0;
		border-bottom: 1px solid #f3f3f3;
	}
	.logged-in .sticky-header.in {
		top: 32px;
	}
	.sticky-header__inner {
		padding: 1.75rem 0;
	}
	.sticky-header__masthead {}
	.sticky-header__masthead > a > img {
		width: 200px;
	}
	.sticky-header__nav-inner {
		float: right;
		position: relative;
	}
	.sticky-header .global-search.active:after {
		display: none;
	}
	.sticky-header .global-search input,
	.sticky-header .global-search.active input {
		border-bottom: none;
		margin-top: .5rem;
	}
	.sticky-header .global-search.active .global-search__close {
		margin-top: 10px;
	}
}


/* Footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
footer {
	background-color: #f2f2f2;
	/*background-color: #faf5eb;*/
	margin-top: 4rem;
	min-height: 24rem;
	padding: 4rem 0 4rem;
}

footer h3 {
	font-size: 2rem;
	font-family: "CaeciliaBold", "Caecilia LT Std", Georgia, serif;
	font-weight: bold;
	line-height: 1.25;
	color: #333;
	margin-top: 0rem;
	margin-bottom: 2rem;
}

footer p {
	font-size: 1.5rem;
	line-height: 1.4;
	font-family: "CaeciliaItalic", "Caecilia LT Std", Georgia, serif;
	font-style: italic;
	color: #333;
}
footer p a {
	color: #333;
	padding-bottom: 2px;
	border-bottom: 1px solid hsl(42, 47%, 65%);
	transition: color .2s ease, border-color .2s ease;
}

footer p a:hover {
	color: #CFB67A;
	border-color: hsl(42, 47%, 65%);
}

.footer__masthead {
	width: 65%;
	position: relative;
	margin-bottom: 2.75rem;
}
.footer__masthead img {
	width: 100%;
}

@media (min-width: 680px) {
	footer p {
		font-size: 1.25rem;
	}
	footer h3 {
		font-size: 1.5rem;
	}
	.footer__masthead {
		width: 50%;
	}
}
@media (min-width: 1024px) {
	footer [class*='col-'] {
		border-right: 1px solid rgba(102,102,102,0.1);
		height: 30rem;
	}
	footer h3 {
		margin-bottom: 4.75rem;
		margin-top: 1.25rem;
	}
}
footer [class*='col-']:last-child {
	border: none;
}
.copyright {
	position: absolute;
	bottom: -2rem;
	margin: 0;
	opacity: .5;
	font-size: 1rem;
}

.sticky-header.in {
	top: 0px !important;
}

/*footer [class*='col-']:first-child p:first-of-type {
	width: 75%;
}*/




/*.beta-badge {
	position: absolute;
	padding: 0.25rem;
	background-color: #9a262b;
	color: #fff;
	width: 4rem;
	text-align: center;
	font-weight: bold;
	font-size: .8rem;
	border-radius: 4px;
	margin-top: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}


.beta-badge {
	position: absolute;
	width: 12rem;
	height: 7rem;
	background-color: #fddf3c;
	color: rgba(0,0,0,0.7);
	text-align: center;
	font-weight: bold;
	font-family: "VistaBold", "Vista Sans OT", sans-serif;
	font-size: 1.25rem;
	top: -3rem;
	right: -5.5rem;
	line-height: 11rem;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.beta-badge-wrapper {
	overflow: hidden;
	height: 6rem;
	position: absolute;
	width: 100%;
}
*/