/*
* This file will be included in header in every page. It should be used for content 
* that relates to the site as a whole. It should not be used for plugin-specific css.
*/

/*
Fonts from the style guide

https://fonts.googleapis.com/css?family=Oswald:400,500
400 = Oswald Regular
500 = Oswald Book (Medium)

https://fonts.googleapis.com/css?family=Work+Sans:300,400,700
300 = Work Sans Light
400 = Work Sans Regular
700 = Work Sans Bold
*/

/* Colors from the style guide */
.lvcva_brown { color: #6a6250; }
.lvcva_gold { color: #b6a578; }
.lvcva_gray { color: #f0f0ee; }

/* This ensures that the page always has a scrollbar to ensure that some headers load correctly without FOUC */
html, body {
	height: 100%;
}

html {
	overflow-x: hidden;
}

/* General Styles */
body {
	margin: 0;
	font-family: 'Work Sans', Arial, sans-serif;
	font-size: 1em;
	color: black;
	background-color: white;
}

/* to test if elements line up along the center column, add svqa as a body class */
/* the center body column will be highlighted */
body.svqa {
	background: linear-gradient(
		to right, 
		transparent 0px, /* start left transparent */
		transparent calc(50% - 590px), /* end left transparent */
		rgba(0,0,0,0.5) calc(50% - 590px), /* start color */
		rgba(0,0,0,0.5) calc(50% + 590px), /* end color */
		transparent calc(50% + 590px), /* start right transparent */
		transparent 100% /* end right transparent */
	);
}

h1 {
	margin: 0.5em 0;
	font-family: Oswald, Arial, sans-serif;
	font-weight: 400;
	font-size: 48px;
	line-height: 1.1;
}

h2 {
	margin: 0.5em 0;
	font-family: Oswald, Arial, sans-serif;
	font-weight: 400;
	font-size: 38px;
	line-height: 1.1;
}

h3 {
	margin: 0.5em 0;
	font-family: Oswald, Arial, sans-serif;
	font-weight: 400;
	font-size: 32px;
	line-height: 1.1;
}

h4 {
	margin: 0.5em 0;
	font-family: Oswald, Arial, sans-serif;
	font-weight: 400;
	font-size: 1.25em;
	line-height: 1.1;
}

h5 {
	margin: 0.5em 0;
	font-family: 'Work Sans', Arial, sans-serif;
	font-weight: 400;
	font-size: 1.125em;
	line-height: 1.1;
}

h6 {
	margin: 0.5em 0;
	font-family: 'Work Sans', Arial, sans-serif;
	font-weight: 400;
	font-size: 0.875em;
	line-height: 1.1;
}

p {
	margin-block-start: 0;
	margin-block-end: 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
	padding: 5px 0;
	font-family: 'Work Sans', Arial, sans-serif;
	font-weight: 400;
	font-size: 1em;
	line-height: 1.5;
}

a {
	font-family: 'Work Sans', Arial, sans-serif;
	font-weight: 600;
	font-size: 1.125em;
	line-height: 1.5;
	text-decoration: underline;
	color: black;
}

a:hover {
	color: #b6a578;
}

hr {
    height: 2px;
    background-color: #B6A578;
}

input {
	display: block;
	width: 100%;
	height: 2.3125rem;
	margin: 0 0 1rem 0;
	padding: 0.5rem;
	color: rgba(0,0,0,0.75);
	background-color: white;
	border: 1px solid #ccc;
	border-radius: 0;
	font-weight: 300;
	font-size: 1em;
	line-height: 1.7;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
	-webkit-appearance: none;
	-moz-appearance: none;
	transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
}


h1 > a,
h2 > a,
h3 > a,
h4 > a,
h5 > a,
h6 > a,
p > a {
	font: inherit;
	color: inherit;
}

ol,
ul {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Panels */

.panel-page {
	position: relative;
	min-height: 100%;
}

.panel-wrapper,
.panel-layout,
.panel-page > .header,
.panel-page > .header-slideshow,
.panel-page > .content,
.panel-page > .footer {
	position: relative;
}

.panel-page > .header {
	min-height: 120px;
}

.panel-layout.controlled-width {
	padding: 0 1.5em;
}

.panel-two-column,
.panel-three-column {
	display: flex;
	flex-direction: column;
}

.panel-two-column.mobile-reverse .left-container {
	order: 2;
}

.panel-two-column.mobile-reverse .right-container {
	order: 1;
}

.panel-tab-container {
	position: relative;
	margin: 1em 0;
	padding: 0 1.5em;
	background-color: #f0f0ee;
	opacity: 0;
}

.panel-tab-container.loaded {
	opacity: 1;
}

.panel-tab-container .panel-title {
	padding: 1em 0;
}

.panel-tab-container .panel-title h2 a {
	text-decoration: none;
}
.panel-tab-container .panel-title h2 a:hover {
	color: black;
}

.panel-tab-container .tab-buttons {
	display: flex;
	flex-direction: column;
	margin-bottom: 1em;
}

.panel-tab-container .tab-button {
	margin: 0.25em 0;
	padding: 0.5em;
	font-family: 'Work Sans';
	font-weight: 400;
	font-size: 1.2em;
	text-align: left;
	text-transform: uppercase;
	color: black;
	background-color: white;
	cursor: pointer;
}

.panel-tab-container .tab-button:hover {
	text-decoration: underline;
}

.panel-tab-container .tab-button.tab-highlight {
    font-weight: 700;
    color: #d9cbac;
    background-color: black;
    border: 3px solid #d9cbac;
}

.panel-tab-container .tab-button.active {
	text-decoration: underline;
}

.panel-tab-container .tab-label-divider {
	display: none;
}

.panel-tab-container .tab-content {
	display: none;
}

.panel-tab-container .tab-content.active {
	display: block;
}

/* Widgets */

.contentRender_name_plugins_core_textbox {
	padding: 1em 1.5em;
}

.panel-container .contentRender_name_plugins_core_textbox,
.panel-tab-container .tab-content .contentRender_name_plugins_core_textbox {
	padding-left: 0;
	padding-right: 0;
}

.button-wrapper {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	padding: 1em 1.5em;
}

.panel-container .button-wrapper {
	padding-left: 0;
	padding-right: 0;
}

.button-wrapper.justify-left {
	justify-content: flex-start;
}

.button-wrapper.justify-center {
	justify-content: center;
}

.button-wrapper.justify-right {
	justify-content: flex-end;
}

button,
.button {
	font-family: Oswald, Arial, sans-serif;
	font-weight: 400;
	font-size: 1.125em;
	line-height: 1.1;
	cursor: pointer;
}

button {
	margin: 0;
	padding: 0;
	border: 0 none;
	background-color: transparent;
	-webkit-appearance: none;
}

.button {
    display: inline-block;
	/* height: 2.813em; */
	margin: 1em 0;
	padding: 0 2em;
	border-width: 2px;
	border-style: solid;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	line-height: 2.813em;
	background-color: white;
	overflow: hidden;
}
.button.black {
	color: white;
	border-color: white;
	background-color: black;
}
.button:hover,
a.button:hover {
	color: white !important;
	border-color: black !important;
	background-color: black;
}
.button.black:hover {
	color: black !important;
	border-color: black !important;
	background-color: white;
}

button.back-to-top {
	display: none;
}

.slick-arrow {
	cursor: pointer;
}

@media only screen and (min-width: 64.063em) {
	h1 {
		font-size: 3.75em;
	}

	h2 {
		font-size: 3em;
	}

	h3 {
		font-size: 2.625em;
	}

	h4 {
		font-size: 2.313em;
	}

	h5 {
		font-family: Oswald, Arial, sans-serif;
		font-size: 1.625em;
	}

	h6 {
		font-size: 1.125em;
	}

	p {
		font-size: 1em;
	}

	a {
		font-size: 1.125em;
	}

	button,
	.button {
		font-size: 1.25em;
	}

	.panel-page {
		max-width: 100%;
		margin: 0 auto;
	}

	.controlled-width {
		max-width: 1400px;
		margin: 0 auto;
		padding: 0 1em;
	}

	.panel-page > .header {
		min-height: 165px;
		background-color: black;
	}

	body.has-hero .panel-page > .header {
		height: 40px;
		min-height: 0;
	}

	.panel-page > .header-slideshow {
		background-color: black;
	}

	.panel-two-column,
	.panel-three-column {
		flex-direction: row;
		justify-content: space-between;
	}

	.panel-two-column .panel-container {
		align-self: stretch;
		flex-grow: 1;
		flex-shrink: 1;
	}

	.panel-layout .left-container {
		margin-right: 10px;
	}

	.panel-layout .right-container {
		margin-left: 10px;
	}

	.panel-two-column.mobile-reverse .left-container {
		order: 1;
	}

	.panel-two-column.mobile-reverse .right-container {
		order: 2;
	}

	.panel-two-column .panel-container {
		flex-basis: 50%;
	}

	.panel-wrapper.narrow_left .panel-two-column .left-container {
		flex-basis: 30%;
	}
	.panel-wrapper.narrow_left .panel-two-column .right-container {
		flex-basis: 70%;
	}

	.panel-wrapper.narrow_right .panel-two-column .left-container {
		flex-basis: 70%;
	}
	.panel-wrapper.narrow_right .panel-two-column .right-container {
		flex-basis: 30%;
	}

	.panel-three-column .panel-container {
		flex-basis: 33.3%;
	}

	.panel-tab-container {
		padding: 1em 0;
	}
	
	.panel-tab-container .panel-title {
		padding: 1.5em;
	}

	.panel-tab-container .panel-title > h3 {
		font-size: 2.5em;
	}

	.panel-tab-container .tab-buttons-wrapper {
		height: 4em;
		background-color: white;
		border-top: 2px solid #ccc;
		border-bottom: 2px solid #ccc;
	}

	.panel-tab-container .tab-buttons {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		height: 100%;
		margin-bottom: 0;
	}

	.panel-tab-container .tab-button {
		height: 100%;
		margin: 0;
		padding: 0 0.5em;
		font-size: 1em;
		text-align: center;
		background-color: transparent;
	}

	.panel-tab-container .tab-label-divider {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 1px;
		height: 4em;
	}
	.panel-tab-container .tab-label-divider:after {
		position: relative;
		content: '|';
	}

	.tab-button.tab-highlight + .tab-label-divider {
		display: none;
	}
		
	.panel-tab-container .tab-content .contentRender_name_plugins_core_textbox {
		padding: 1em 1.5em;
	}

	button.back-to-top {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: fixed;
		right: 2%;
		bottom: 50px;
		width: 75px;
		height: 75px;
		z-index: 100;
		overflow: visible;
		opacity: 0;
		pointer-events: none;
		transition: opacity 500ms linear;
	}
	button.back-to-top.button-visible {
		opacity: 1;
		pointer-events: all;
	}
	/* outer white circle with border */
	button.back-to-top::before {
		display: block;
		position: absolute;
		content: '';
		left: -6px;
		top: -6px;
		width: 83px;
		height: 83px;
		background-color: white;
		border: 2px solid black;
		border-radius: 50%;
		z-index: 0;
	}
	/* inner black circle */
	button.back-to-top::after {
		display: block;
		position: absolute;
		content: '';
		left: 1px;
		top: 1px;
		width: 73px;
		height: 73px;
		background-color: black;
		border-radius: 50%;
		z-index: 0;
	}
	button.back-to-top img {
		position: absolute;
		top: 14px;
		left: 32px;
		width: 10px;
		z-index: 1;
	}
	button.back-to-top p {
		position: absolute;
		bottom: 12px;
		left: 12px;
		color: white;
		font-family: 'Work Sans', Arial, sans-serif;
		font-weight: 500; /* deliberate change from style guide to match comp */
		font-size: 14px; /* deliberate change from style guide to match comp */
		line-height: 1;
		text-align: center;
		text-transform: uppercase;
		z-index: 1;
	}
}

@media only screen and (min-width: 75em) {
	.panel-page > .header {
		min-height: 155px;
	}
}

@media only screen and (min-width: 90em) {
	/* turn off padding when the panel is wide enough to be max width and centered */
	.panel-layout.controlled-width {
		padding: 0;
	}

	.panel-tab-container .panel-title,
	.panel-tab-container .tab-buttons,
	.panel-tab-container .tab-content {
		max-width: 1400px;
		margin: 0 auto;
	}

	.panel-tab-container .tab-content .contentRender_name_plugins_core_textbox {
		padding-left: 0;
		padding-right: 0;
	}

	.panel-tab-container .tab-button:first-child {
		padding-left: 0;
	}

	.panel-tab-container .tab-button.active {
		padding-left: 0.5em;
	}

	.panel-tab-container .tab-button.tab-highlight {
		padding: 0 1em;
	}
}

/* target IE */
@media only screen and (min-width: 64.063em) and (-ms-high-contrast: active) and (-ms-high-contrast: none) {
	button.back-to-top p {
		top: 11px;
		bottom: 0;
	}
}

/* Foundation compatibility with magnific popup */
body .mfp-close:hover,
body .mfp-arrow:hover,
body .mfp-arrow:focus {
	background-color: transparent;
}

/* Skip links */
.skip-link[href] {
	z-index: 5000000;
	display: block;
	margin: 0;
	padding: 2rem 3rem;
	width: auto;
	height: auto;
	font-size: 1.75em;
	line-height: 1.1;
	color: #fff;
	text-align: center;
	border: 4px dashed #fff;
	background: #212121;
	opacity: 0;
	clip: auto;
	pointer-events: none;
	transition: opacity 200ms cubic-bezier(0,0,0.3,1);
}

.skip-link[href]:focus {
	opacity: 1;
	pointer-events: all;
}

/* Info Banner */
@media only screen {
	.info-banner {
		position: relative;
		display: flex;
		align-items: center;
		opacity: 0;
		border-top: 1px solid white;
		border-bottom: 1px solid white;
		transition: opacity 500ms linear;
	}
	.info-banner.loaded {
		opacity: 1;
	}
	.info-banner.justify-left {
		justify-content: flex-start;
	}
	.info-banner.justify-center {
		justify-content: center;
	}
	.info-banner.justify-right {
		justify-content: flex-end;
	}
	.info-banner p {
		margin: 0;
		padding: 10px 20px;
		font-size: 15px;
		letter-spacing: initial;
	}
	.info-banner p .banner-intro {
		margin-right: 14px;
		font-weight: 600;
	}
	.info-banner p button {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		align-self: flex-start;
		width: 22px;
		height: 22px;
		margin-left: 14px;
		padding: 0;
		color: inherit;
		background-color: transparent;
		border-color: inherit;
		border-width: 1px;
		border-style: solid;
	}
	.info-banner p button:hover {
		color: black;
		background-color: #777;
		border-color: #777 !important;
	}
	.info-banner p button:hover i {
		color: black;
	}
	.info-banner a {
		display: inline-block;
		margin-left: 14px;
		font-weight: 600;
		text-decoration: underline;
		color: inherit;
	}
	.info-banner a:hover {
		text-decoration: none;
	}
}
