@charset "UTF-8";
/*
Theme Name: Heart & Soul
Theme URI: https://www.madebysway.com
Author: Sway Creative Labs
Author URI: http://www.madebysway.com/
Description: virginia.org
Requires at least: WordPress 4.9.6
Version: 1.01
Text Domain: heartandsoul
*/

/* reset */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border:0;
	font-family:inherit;
	font-size:100%;
	font-style:inherit;
	font-weight:inherit;
	margin:0;
	outline:0;
	padding:0;
	vertical-align:baseline;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}
html {
	height:100%;
	min-height:100%;
	overflow:auto;
	margin-top:0px;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}
*,
*:before,
*:after {
	-webkit-box-sizing:inherit;
	-moz-box-sizing:inherit;
	box-sizing:inherit;
}
body {
	display:block;
	width:100%;
	height:100%;
	min-height:100%;
	align-items:center;
	background:#fff;
	position:relative;
	overflow:auto;
	overflow:overlay;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
	display:block;
}
ol {
	list-style:none;
	counter-reset:licounter;
}
ol > li:before {
	content:"." counters(licounter, ".") " ";
	counter-increment:licounter;
	width:1rem;
	display:block;
	position:absolute;
	left:-20px;
	text-align:right;
	vertical-align:top;
	font-size:80%;
	direction:rtl;
}
ol[start='2'] { counter-reset:licounter 1; }
ol[start='3'] { counter-reset:licounter 2; }
ol[start='4'] { counter-reset:licounter 3; }
ol[start='5'] { counter-reset:licounter 4; }
ol[start='6'] { counter-reset:licounter 5; }
ol[start='7'] { counter-reset:licounter 6; }
ol[start='8'] { counter-reset:licounter 7; }
ol[start='9'] { counter-reset:licounter 8; }
ol[start='10'] { counter-reset:licounter 9; }
ol[start='11'] { counter-reset:licounter 10; }
ol[start='12'] { counter-reset:licounter 11; }
ol[start='13'] { counter-reset:licounter 12; }
ol[start='14'] { counter-reset:licounter 13; }
ol[start='15'] { counter-reset:licounter 14; }

ul {
	list-style:none;
}
ul li {
	position:relative;
	margin-bottom:5px;
	padding-left:25px;
}
ul li:before {
	content:'•';
	position:absolute;
	left:0px;
	font-size:1.2em;
}
ul li > ul {
	margin-top:10px;
	margin-bottom:10px;
}
ul li > ul li:before {
	content:'◦';
}
table {
	width:100%;
	border-collapse:separate;
	border-spacing:0;
}
caption,
th,
td {
	font-weight:normal;
	text-align:left;
	vertical-align:top;
}
button.disabled,
select.disabled,
.btn.disabled {
	opacity:.5;
	cursor:default;
}
::placeholder,
::-webkit-input-placeholder {
	color: #fff;
}
img {
	border:0;
}

/* type */

html {
	overflow:hidden;
}
body {
	color:#000;
	font-family: "brother-1816", sans-serif;
	font-weight:400;
	font-size:22px;
	line-height:1.4em;
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a,
button {
	text-decoration:underline;
	color:#000;
	transition:color 150ms;
	cursor:pointer;
}
a:focus-visible,
a:focus-visible label,
button:focus-visible {
	outline:2px solid #00ffff;
	outline-offset:2px;
}
p a,
span a,
li a {
	
}
p {
	font-size: 22px;
	line-height: 1.4em;
	font-weight: 350;
	padding: 0 0 1.4em;
}
b,
strong {
	font-weight:700;
}
dfn,
cite,
em,
i {
	font-style:italic;
}
sup,
sub {
	font-size:75%;
	height:0;
	line-height:0;
	position:relative;
	vertical-align:baseline;
}
sup {
	bottom:1ex;
}
sub {
	top:.5ex;
}
small {
	font-size:75%;
}
big {
	font-size:125%;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.title, .subtitle {
	display:block;
	clear:both;
	font-family: "chantal", sans-serif;
	font-weight:700;
	line-height:1.2em;
	letter-spacing:0em;
	text-transform:none;
	transition:color 150ms;
}
h1,
.h1 {
	margin-bottom:24px;
	font-size:46px;
	font-weight:800;
}
h2,
.h2 {
	margin-bottom:20px;
	color: #ED1C24;
	font-size:70px;
	line-height: .9em;
	font-weight:600;
	text-align: center;
	text-transform: uppercase;
}
h2 span,
.h2 span {
	display: block;
	color: #000;
}
h3,
.h3 {
	font-weight:400;
}
h4,
.h4 {
}
h5,
.h5 {
}
h6,
.h6 {	
}
.title em,
.subtitle em {
	font-style:normal;
	color:#ED1C24;
}
label {
	font-size:12px;
	font-weight:700;
	letter-spacing:0.2em;
	text-transform:uppercase;
}
input,
select,
textarea {
	font-family: "brother-1816", sans-serif;
}
.sub {
	font-size:75%;
}
.caps {
	text-transform:uppercase;
}
.eyebrow {
	margin: 0 auto 24px;
	font-family: "brother-1816", sans-serif;
	font-size: 18px;
	line-height: 1.4em;
	font-weight: 500;
	letter-spacing: 3.6px;
	text-transform: uppercase;
	text-align: center;
}
.section-intro {
	margin: 0 0 90px;
	text-align: center;
}
.section-intro .icon {
	display: inline-block;
	width: 105px;
	height: 105px;
	margin: 0 auto 30px;
	background: url('img/icon-itinerary.png') no-repeat;
	background-size: contain;
}

/* inputs */

input[type="text"],
input[type="email"] {
	width: 100%;
	margin: 0 0 32px;
	padding: 20px 0;
	color: #fff;
	font-size: 20px;
	line-height: 1.5em;
	font-weight: 500;
	background: transparent;
	border: none;
	border-bottom: 2px solid #000;
}
.btn,
.btn-2,
.btn-3,
.btn-5 {
	display:inline-flex;
	flex-shrink:0;
	flex-grow:0;
	justify-content:center;
	align-items:center;
	position:relative;
	height:44px;
	min-width:160px;
	width: auto;
	padding:0 30px;
	font-size:18px;
	font-weight:500;
	line-height: 1em;
	color: #fff;
	background:#ED1C24;
	border:2px solid #fff;
	border-radius:22px;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	text-decoration:none;
	white-space:nowrap;
	transition:color 250ms linear, background 250ms linear;
}
.btn:not(.disabled):focus,
.btn:not(.disabled):hover,
.btn.over:not(.disabled) {
	color:#000;
	background: #fff;
}
.btn-2 {
	min-width: 140px;
	padding: 0 20px;
	color:#000;
	font-size: 16px;
	font-weight: 700;
	line-height: 1em;
	background-color:transparent;
	border-color:#000;
}
.btn-2:not(.disabled):focus,
.btn-2:not(.disabled):hover,
.btn-2:not(.disabled).over {
	/* color:#fff;
	background:transparent; */
}
.btn-3 {
	height: 74px;
	color:#fff;
	font-size: 22px;
	font-weight: 500;
	background:transparent;
	border-color:#ED1C24;
	border-radius: 37px;
}
.btn-3:not(.disabled):focus,
.btn-3:not(.disabled):hover,
.btn-3:not(.disabled).over {
	color: #000;
	background:#ED1C24;
}
.btn-4 {
	height: 74px;
	font-size: 22px;
	font-weight: 500;
	background: #000;
	border: none;
	border-radius: 37px;
}
.btn-4:not(.disabled):focus,
.btn-4:not(.disabled):hover,
.btn-4:not(.disabled).over {
	color: #000;
	background:#fff;
}
.btn-5 {
	height:74px;
	color:#fff;
	font-size:22px;
	font-weight:500;
	background:#ED1C24;
	border-radius:37px;
}
.btn-5:not(.disabled):focus,
.btn-5:not(.disabled):hover,
.btn-5:not(.disabled).over {
	color:#fff;
	background:#000;
}
.btn.arrow-1 {
	min-width: auto;
	height: auto;
	margin: 0 auto;
	padding: 0 0 0 10px;
	color: #000;
	font-size: 16px;
	background: none;
	border: none;
	border-radius: 0;
}
.btn.arrow-1:after {
	content: '';
	display: inline-block;
	width: 34px;
	height: 12px;
	margin: 0 0 0 10px;
	background: url('img/btn-arrow-1.png') no-repeat;
	background-position: 0 0;
	background-size: contain;
	transition: background-position 180ms ease-in-out;
}
.btn.arrow-1:not(.disabled):focus,
.btn.arrow-1:not(.disabled):hover,
.btn.arrow-1.over:not(.disabled) {
	background: none;
}
.btn.arrow-1:not(.disabled):focus:after,
.btn.arrow-1:not(.disabled):hover:after,
.btn.arrow-1.over:not(.disabled):after {
	background-position: 8px 0;
}

/* dropdowns */

.sway-select {
	flex-grow:1;
	height:70px;
	position:relative;
	box-shadow:0px 5px 20px 0px rgba(0,0,0,.1);
}
.sway-select select[data-init] {
	display:none;
}
.sway-select.on,
.sway-select:focus-within {
	z-index:2;
}
.sway-select ._exp {
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:70px;
	min-height:50px;
	position:relative;
	padding:16px 24px;
	/*background:#fff;*/
	background:#ED1C24;
	border:none;
	color:#fff;
	font-family:"brother-1816", sans-serif;
	font-size:20px;
	font-weight:700;
	letter-spacing:0.02em;
	line-height:1.1em;
	text-transform:uppercase;
	text-decoration:none;
}
.sway-select ._exp:after {
	content:'';
	width:25px;
	height:25px;
	margin-left:5px;
	
	-webkit-mask-image:url('img/icon-caret.svg');
	-webkit-mask-size:contain;
	-webkit-mask-position:50% 50%;
	-webkit-mask-repeat:no-repeat;
	mask-image:url('img/icon-caret.svg');
	mask-size:contain;
	mask-position:50% 50%;
	mask-repeat:no-repeat;
	background-color:#000;
	transform-origin:50% 50%;
}
.sway-select ._exp:hover,
.sway-select ._exp:focus {
	background-color:#c9252f;
}
.sway-select ._exp:hover:after,
.sway-select ._exp:focus:after {
	
}
.sway-select.selected ._exp {
	
}
.sway-select.on ._exp,
.sway-select:focus-within ._exp {
	border-bottom-left-radius:0px;
	border-bottom-right-radius:0px;
	z-index:2;
}
.sway-select.on ._exp:after,
.sway-select:focus-within ._exp:after {
	transform:rotate(180deg);
}
.sway-select .options {
	display:none;
	width:100%;
	position:absolute;
	left:0px;
	background-color:#fff;
	box-shadow:0px 5px 5px rgba(0,0,0,.1);
	border-bottom-left-radius:10px;
	border-bottom-right-radius:10px;
}
.sway-select .options .inwrap {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:5px;
	width:100%;
	max-height:420px;
	padding:10px 0px;
	overflow:auto;
}
.sway-select.on .options,
.sway-select:focus-within .options {
	display:flex;
}
.sway-select .options .btn.option {
	flex-grow:1;
	width:100%;
	height:60px;
	padding:0px 20px;
	letter-spacing:0.02em;
	color:#000;
	background:transparent;
}
.sway-select .options .btn.option:after {
	content:'';
	position:absolute;
	bottom:-5px;
	width:40px;
	height:1px;
	border-bottom:1px solid rgba(0,0,0,.2);
}
.sway-select .options .btn.option:last-child:after {
	content:none;
}
.sway-select .options .btn.option:focus,
.sway-select .options .btn.option:hover {
	color:#ED1C24;
}
.sway-select .options .btn.option:focus-visible {
	outline:2px solid #00ffff;
	outline-offset:-6px;
}
.sway-select .options .btn.option.on {
	color:#ED1C24;
}

/* accordion */

.accordion {
	opacity:1;
	border-top:1px solid #d6d6d6;
	border-bottom:1px solid #d6d6d6;
	transform:scale(1,1) translateY(0px);
	transition:opacity 250ms ease-in, transform 250ms ease-out;
}
.accordion:first-child,
.accordion + .accordion {
	border-top:0px;
}
.accordion.on {
	
}
.accordion.unrevealed {
	opacity:0;
	transform:scale(.98,.98) translateY(20px);
}
.accordion .item-head {
	display:flex;
	justify-content:stretch;
	align-items:center;
	padding:25px 45px 25px 20px;
	position:relative;
	cursor:pointer;
	z-index:1;
}
.accordion .item-head:focus-visible {
	outline:2px solid #00ffff;
	outline-offset:-2px;
}
.accordion.on .item-head {
	
}
.accordion .item-head:after {
	content:'';
	width:25px;
	height:25px;
	position:absolute;
	right:15px;
	background-image:url('img/accordion-open.svg');
	background-size:25px 25px;
	background-position:50% 50%;
	background-repeat:no-repeat;
}
.accordion.on .item-head:after {
	background-image:url('img/accordion-close.svg');
}
.accordion .item-head .title {
	padding-left:18px;
	font-family:"brother-1816", sans-serif;
	font-size:18px;
	font-weight:700;
	line-height:1.2em;
	text-transform:uppercase;
	cursor:pointer;
}
.accordion .item-head .icon {
	flex-grow:0;
	width:25px;
	height:25px;
}
.accordion .item-body {
	max-height:0px;
	padding:0px 20px;
	opacity:0;
	transition:max-height 200ms cubic-bezier(.25,.45,.45,.95), padding 200ms cubic-bezier(.25,.45,.45,.95), opacity 150ms ease-in;
	overflow:hidden;
}
.accordion .item-body a {
	visibility:hidden;
	transition:visibility 100ms linear;
	transition-delay:100ms;
}
.accordion.on .item-body {
	position:relative;
	max-height:800px;
	padding:20px 20px 40px 20px;
	opacity:1;
	transition:max-height 200ms cubic-bezier(.25,.2,.45,.95), padding 200ms cubic-bezier(.25,.2,.45,.95), opacity 250ms ease-out;
	z-index:1;
}
.accordion.on .item-body a {
	visibility:visible;
	transition-delay:0ms;
}
.accordion .item-body :last-child {
	margin-bottom:0px;
}

/* general */

@keyframes fade-in {
	0% { opacity:0; }
	100% { opacity:1; }
}
@keyframes fade-out {
	0% { opacity:1; }
	100% { opacity:0; }
}
@keyframes scale-in {
	0% { transform:scale(.85) translateY(20px); }
	100% { transform:scale(1) translateY(0px); }
}
@keyframes scale-out {
	0% { transform:scale(1); }
	100% { transform:scale(.75); }
}

.no-select,
.no-select * {
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}
.no-break {
	white-space:nowrap;
}
.screen-reader-text {
	width:1px;
	height:1px;
	margin:-1px;
	padding:0;
	position:absolute !important;
	border:0;
	overflow:hidden;
	clip:rect(1px, 1px, 1px, 1px);
	clip-path:inset(50%);
	word-wrap:normal !important;
}
.hit {
	position:absolute;
	width:100%;
	height:100%;
	top:0px;
	left:0px;
	background:none !important;
	z-index:6;
	cursor:pointer;
	-webkit-user-drag:none;
	user-drag:none;
}
.hit:focus {
	outline-offset:10px;
}
.for-desktop {
	display:block;
}
.for-mobile {
	display:none;
}

.display-none {
	display:none !important;
}

/* layout */

#page {
	width:100%;
	overflow:hidden;
}
.container {
	position: relative;
	width: 100%;
	padding: 120px 0;
}
.wrap {
	width:calc(100% - 100px);
	max-width:1200px;
	margin: 0 auto;
	padding:0px 50px;
}
.break-wrap {
	position:relative;
	left:-80px;
	width:100vw;
}

/* general content */

.page-404 > .wrap {
	text-align:center;
	padding:60px 40px 80px 40px;
}
.page-404 > .wrap .post-title h1 {
	font-size:75px;
}
.page-404 .return {
	margin-top:30px;
}


/* icons */

.icon {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:45px;
	height:45px;
	background-color:#ED1C24;
	-webkit-mask-size:cover;
	-webkit-mask-repeat:no-repeat;
	-webkit-mask-position:50% 50%;
	mask-size:cover;
	mask-repeat:no-repeat;
	mask-position:50% 50%;
	
}
.unrevealed .icon {
	opacity:0;
	transform:translateY(-10px);
}
.revealed .icon {
	opacity:1;
	transform:translateY(0px);
	transition:opacity 500ms ease-out, transform 500ms cubic-bezier(.25,.25,.45,.95);
	transition-delay:250ms;
}
.icon._heartandsoul {
	width:24px;
	height:32px;
	-webkit-mask-image:url('img/logo-mark.svg');
	mask-image:url('img/logo-mark.svg');
}
.icon._linkedin {
	-webkit-mask-image:url('icons/social-linkedin.svg');
	mask-image:url('icons/social-linkedin.svg');
}
.icon._x {
	-webkit-mask-image:url('icons/social-x.svg');
	mask-image:url('icons/social-x.svg');
}
.icon._fb {
	-webkit-mask-image:url('icons/social-fb.svg');
	mask-image:url('icons/social-fb.svg');
}
.icon[data-icon="quote"] {
	-webkit-mask-image:url('icons/quote.svg');
	mask-image:url('icons/quote.svg');
}
.icon[data-icon="alert"] {
	-webkit-mask-image:url('icons/alert.svg');
	mask-image:url('icons/alert.svg');
}
.icon[data-icon="bullet"] {
	-webkit-mask-image:url('icons/bullet.svg');
	mask-image:url('icons/bullet.svg');
}
.icon[data-icon="calendar"] {
	-webkit-mask-image:url('icons/calendar.svg');
	mask-image:url('icons/calendar.svg');
}

/* header/menus */

/*#wpadminbar { display:none; }*/

#site-header {
	position:absolute;
	top: 0;
	left: 0;
	display:flex;
	justify-content:space-around;
	align-items:center;
	width: 100%;
	max-width: 100%;
	height: 80px;
	background-color: #fff;
	box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.20);
	z-index:10;
	transition: height 300ms ease-in-out;
}
.header-mobile-wrapper {
	display: inline-block;
	flex-shrink: 0;
	width: fit-content;
	height: 100%;
	margin: 0;
}
#site-header .logos {
	display: flex;
	align-items: center;
	height: 100%;
	margin: 0 0 0 32px;
}
#site-header .logo-hs {
	position: relative;
	width:95px;
	height:48px;
	margin: 0 15px 0 0;
	flex-shrink:0;
	background:url('img/logo-hs.png') no-repeat;
	background-size:contain;
	background-position:50% 50%;
}
#site-header .logo-hs:after {
	content: '';
	position: absolute;
	top: 50%;
	right: -15px;
	display: inline-block;
	width: 1px;
	height: 28px;
	background: rgba(0,0,0,.2);
	transform: translateY(-50%);
}
#site-header .logo-vifl {
	flex-shrink:0;
	width:181px;
	height:12px;
	margin:0 0 0 15px;
	background:url('img/logo-vifl.png') no-repeat;
	background-size:contain;
	background-position:50% 50%;
}
.btn-mobile-menu {
	display: none;
}
.menu {
	display:flex;
	list-style:none;
	margin:0px;
}
.menu .menu-item {
	padding:0px;
	margin:0px;
}
.menu .menu-item > a,
.menu .menu-item > button {
	position: relative;
	color: #000;
	font-family: "brother-1816", sans-serif;
	font-size:14px;
	font-weight:700;
	line-height: 1.3em;
	letter-spacing:0.28px;
	line-height:1em;
	text-decoration:none;
}
.menu .menu-item > button {
	appearance:none;
	background:transparent;
	border:none;
}
.menu .menu-item:before {
	content:none;
}
.menu .menu-item:hover > a,
.menu .menu-item:focus-within > a,
.menu .menu-item:hover > button,
.menu .menu-item:focus-within > button {
	/* color:#ED1C24; */
}
.menu .menu-item > a:hover,
.menu .menu-item > a:focus,
.menu .menu-item > button:hover,
.menu .menu-item > button:focus {
	/* color:#ED1C24; */
}
.menu .menu-item.current-menu-item > a, 
.menu .menu-item.current-menu-item > button {
	color:#ED1C24;
}
.site-menu-container {
	width:100%;
	height: 100%;
}
#site-menu {
	flex-direction:row;
	align-items:flex-start;
	justify-content:flex-end;
	width:100%;
	height:100%;
}
#site-menu .menu-item {
	display: flex;
	align-items: center;
	height: 100%;
}
#site-menu .menu-item:last-child {
	background: #ED1C24;
	transition: background 300ms ease-in-out;
}
#site-menu .menu-item:last-child:hover {
	background: #C9252F;
}
#site-menu .menu-item:last-child a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 154px;
	color: #fff;
}
#site-menu .menu-item:last-child a:after {
	display: none;
}
#site-menu .menu-item:last-child a:before {
	content: '';
	flex-shrink: 0;
	display: inline-block;
	width: 23px;
	height: 26px;
	margin: 0 10px 0 0;
	background: url('img/icon-calendar.png') no-repeat;
	background-size: contain;
}
#site-menu .menu-item a, 
#site-menu .menu-item button {
	text-transform:uppercase;
	outline-offset:-10px;
}
#site-menu > .menu-item {
	position:unset;
}
#site-menu .menu-item + .menu-item:before {
	content:'';
	display:inline-block;
	left:auto;
	top:auto;
	height:10px;
	border-left:1px solid rgba(0, 0, 0, 0.20);
}
#site-menu .menu-item a,
#site-menu .menu-item button {
	display:inline-block;
	padding:20px;
	appearance:none;
}
#site-menu .menu-item a:after {
	content: '';
	position: absolute;
	bottom: 15px;
	left: 18px;
	width: calc(100% - 36px);
	height: 3px;
	background: #ED1C24;
	border-radius: 3px;
	transform: rotate(1deg) scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease-in-out;
}
#site-menu .menu-item:hover a:after {
	transform: rotate(1deg) scaleX(1);
}
/* Scrolling Header/Hero */
.scrolling #site-header {
	position: fixed;
	height: 65px;
}

/* footer */

#site-footer {
	padding: 90px 0;
	background-color: #000;
}
#site-footer .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#site-footer .logos {
	display: flex;
	align-items: center;
	margin: 0;
}
#site-footer .logo-hs {
	position: relative;
	width:137px;
	height:68px;
	margin: 0 20px 0 0;
	flex-shrink:0;
	background:url('img/logo-hs-footer.png') no-repeat;
	background-size:contain;
}
#site-footer .logo-hs:after {
	content: '';
	position: absolute;
	top: 50%;
	right: -20px;
	display: inline-block;
	width: 2px;
	height: 28px;
	background: rgba(229, 229, 229, 0.30);
	transform: translateY(-50%);
}
#site-footer .logo-vifl {
	flex-shrink:0;
	width:261px;
	height:18px;
	margin:0 0 0 20px;
	background:url('img/logo-vifl-footer.png') no-repeat;
	background-size:contain;
}
#site-footer .social {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.social .hashtag {
	margin: 0 0 20px;
	color: #fff;
	font-size: 24px;
	line-height: 1.3em;
	letter-spacing: .48px;
	text-transform: uppercase;
}
.social .hashtag span {
	font-weight: 800;
}
.social .social-icons {
	display: flex;
}
.social .social-icon {
	width: 18px;
	height: 18px;
	margin: 0 12px;
}
.social .social-icon.facebook {
	width: 8px;
	background:url('img/icon-social-facebook.png') no-repeat;
	background-size:contain;
}
.social .social-icon.instagram {
	background:url('img/icon-social-instagram.png') no-repeat;
	background-size:contain;
}
.social .social-icon.pinterest {
	background:url('img/icon-social-pinterest.png') no-repeat;
	background-size:contain;
}
.social .social-icon.x {	
	background:url('img/icon-social-x.png') no-repeat;
	background-size:contain;
}
.social .social-icon.youtube {
	width:27px;
	background:url('img/icon-social-youtube.png') no-repeat;
	background-size:contain;
}
#site-footer .menu {
	display: flex;
	flex-direction: column;
	line-height: 1em;
}
#site-footer .menu-item {
	margin: 10px 0;
}
#site-footer .menu-item a {
	color: #fff;
	font-size: 14px;
	line-height: 1.3em;
	font-weight: 500;
	letter-spacing: .28px;
	text-decoration:none;
	text-transform: uppercase;
}
#site-footer .menu-item a:hover,
#site-footer .menu-item a:focus,
#site-footer .menu-item button:hover,
#site-footer .menu-item button:focus {
	color:#fff;
}

/* Cards - Base */

.card-container {
	position: relative;
	display: flex;
	justify-content: space-between;
	z-index: 2;
}
.card {
	position: relative;
	width: 300px;
	margin: 0 0 0 16px;
	background: linear-gradient(178deg, #FFF 6.34%, #EDEDED 98.64%);
	border-radius: 10px;
}
.card:before {
	content: '';
	position: absolute;
	top: -14px;
	left: -16px;
	width: 188px;
	height: 196px;
	background: linear-gradient(178deg, #D90429 5.71%, #8E0019 98.01%);
	border-radius: 10px 0 0 0;
}
.card-icon {
	position: absolute;
	top: -14px;
	left: -16px;
	z-index: 2;
}
.card-date,
.card-location {
	position: relative;
	color: #ED1C24;
	text-decoration:none;
	font-family: "chantal", sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1em;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
a.card-location:hover,
a.card-location:focus {
	color:#fff;
}
.card-location:before {
	content: '';
	display: inline-block;
	width: 22px;
	height: 30px;
	margin-right:8px;
	margin-bottom: -5px;
	background: url('img/icon-card-location.png') no-repeat;
	background-size: contain;
}
.card:first-child .card-icon {
	width: 86px;
	height: 119px;
	background: url('img/experience-icon-arrow.png') no-repeat;
	background-size: contain;
	background-position: top left;
}
.card:nth-child(2) .card-icon {
	width: 131px;
	height: 94px;
	background: url('img/experience-icon-sun.png') no-repeat;
	background-size: contain;
	background-position: top left;
}
.card:last-child .card-icon {
	width: 98px;
	height: 108px;
	background: url('img/experience-icon-squiggle.png') no-repeat;
	background-size: contain;
	background-position: top left;
}
.card-image {
	position: relative;
	width: 100%;
	height: 200px;
	background: grey;
	background-position: 50% 50%;
	background-size: cover;
	border-radius: 10px 10px 0 0;
	z-index: 1;
}
.card-logo-wrap {
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 200px;
	display: flex;	
}
.card-logo {
	max-width: 100%;
	max-height: 100%;
	margin: 0 auto;
}
.card-text {
	display: flex;
	flex-direction: column;
	height: calc(100% - 200px);
	padding: 22px 22px 30px;
	gap: 20px;
	text-align: center;
}
.card-text h3 {
	font-family: "brother-1816", sans-serif;
	font-size: 24px;
	line-height: 1.2em;
	font-weight: 800;
	text-transform: uppercase;
}
.card-text p {
	padding: 0;
	font-size: 20px;
	line-height: 1.4em;
}
.card-text .btn {
	margin-top: auto;
}

/* Hero Sections */

.hero.container {
	width: 100%;
	margin: 80px 0 0;
	padding: 0;
	z-index:3;
	background: #000;
	transition: margin 300ms ease-in-out;
}
.scrolling .hero {
	margin: 50px 0 0;
}
.hero picture {
	position: relative;
	width: 100%;
}
.hero .title-illustration {
	display: block;
	width: inherit;
	max-width: 100%;
}
.bg-video-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#bg-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#bg-video-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: absolute;
	right: 40px;
	top: 40px;
	height: 42px;
	padding: 0 20px;
	color: #fff;
	font-family: "chantal", sans-serif;
	font-size: 18px;
	line-height: 1em;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	background: #000;
	border: none;
	cursor: pointer;
	border-radius: 21px;
	z-index: 3;
	transition: background 300ms ease-in-out;
}
#bg-video-toggle:hover {
	background: #ED1C24;
}
#bg-video-toggle:after {
	content: '';
	position: relative;
	width: 12px;
	height: 17px;
	margin: 0 0 0 8px;
	background: url('img/icon-pause.png') no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#bg-video-toggle.paused:after {
	background: url('img/icon-play.png') no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
.hero-image {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.post-head {
	margin-top:70px;
	padding:50px 0px 30px 0px;
}

/* About Sections */

.about {
	padding: 0;
	color: #fff;
	background: #000;
}
.about .wrap {
	position: relative;
	z-index: 2;
	pointer-events: none;
}
.about .section-intro {
	margin: 0;
	padding: 114px 0 0;
}
.about h2 span {
	color: #fff;
}
.about p {
	text-align: center;
}

/* Home Map */

.vtc-map[data-context="home"] {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	padding:0px;
	background-color:#000;
	overflow:hidden;
}
.vtc-map[data-context="home"]:before {
	content:'';
	width:100%;
	height:40%;
	position:absolute;
	top:0px;
	left:0px;
	background:linear-gradient(180deg, rgba(0,0,0,1) -20%, rgba(0,0,0,0) 100%);
	pointer-events:none;
	z-index:2;
}
.vtc-map[data-context="home"] .section-intro {
	max-width:1200px;
	margin:120px 0px 0px 0px;
	padding:0px 40px;
	position:relative;
	color:#fff;
	text-align:center;
	z-index:2;
}
.vtc-map[data-context="home"] .section-intro h2 span {
	color:#fff;
}
.vtc-map[data-context="home"] .section-intro .map-cta {
	font-style:italic;
}
.vtc-map .state-map {
	position:relative;
	width:100%;
	height:40vw;
	z-index:1;
}
.vtc-map .map-wrap {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:50%;
	left:50%;
	transition:transform 100ms ease-in-out;
}
.vtc-map .state-map .map-wrap .modal {
	position:absolute;
	z-index:2;
	opacity:0;
	transform:scale(.8,.8);
	pointer-events:none;
	visibility:hidden;
}
.vtc-map .state-map .map-wrap .modal.on {
	opacity:1;
	transform:scale(1,1);
	pointer-events:all;
	visibility:visible;
	transition:opacity 75ms ease-in, transform 250ms cubic-bezier(.25,.45,.45,.95);
	filter:drop-shadow(0px 5px 10px rgba(0,0,0,.5));
}
.vtc-map .card {
	display:block;
	width:300px;
	margin:0px;
}
.vtc-map .card:before {
	width:188px;
	height:196px;
}
.vtc-map .card .card-image {
	width:100%;
	height:200px;
}
.vtc-map .card .card-text {
	padding:22px 22px 30px;
	text-align:center;
}
.vtc-map .state-map .map-wrap .modal h3 {
	font-size:24px;
}
.vtc-map .state-map .map-wrap .modal p {
	font-size:14px;
}
.vtc-map .card .btn {
	justify-content:center;
}
.vtc-map .state-map .map-wrap .modal[data-place="hampton-roads"] {
	top:-180px;
	left:-70px;
}
.vtc-map .state-map .map-wrap .modal[data-place="roanoke"] {
	top:-160px;
	left:-530px;
}
.vtc-map .state-map .map-wrap .modal[data-place="richmond"] {
	top:-240px;
	left:400px;
}
.vtc-map .state-map .map-wrap .modal[data-place="nova"] {
	top:-260px;
	left:-150px;
}
.vtc-map .state-map .map-wrap .modal[data-place="charlottesville"] {
	top:-280px;
	left:-380px;
}
.vtc-map .state-map .map-wrap .map {
	position:absolute;
	top:-900px;
	left:-750px;
	width:1500px;
	height:1200px;
	z-index:0;
}
.vtc-map .map-wrap .map svg {
	
}
.vtc-map .map-wrap .map svg .texture {
	pointer-events:none;
}
.vtc-map .map-wrap .map .section {
	position:absolute;
	z-index:1;
}
.vtc-map .map-wrap .map .section._temp {
	fill:red;
}
.vtc-map .map-wrap .map .section[data-place] {
	fill:#5d5d5d;
	filter:drop-shadow(0px 0px 0px rgba(255,255,255,0));
	transition:fill 250ms ease-in, filter 300ms ease-in;
	cursor:pointer;
}
.vtc-map .map-wrap .map .section[data-place] path {
	fill:#5d5d5d;
}
.vtc-map .map-wrap .map .section.darker[data-place]:not(.on),
.vtc-map .map-wrap .map .section.darker[data-place]:not(.on) path {
	fill:#2a2a2a;
}
.vtc-map .map-wrap .map .section.darkest[data-place]:not(.on),
.vtc-map .map-wrap .map .section.darkest[data-place]:not(.on) path {
	fill:#0e0e0e;
}
.vtc-map .map-wrap .map .section.on {
	fill:#dfdfdf;
	filter:drop-shadow(0px 0px 30px rgba(255,255,255,.75));
	transition:fill 100ms ease-in, filter 250ms ease-in;
	z-index:3;
}
.vtc-map .map-wrap .map .section.on path {
	fill:#dfdfdf;
}
.vtc-map .state-map .pin[data-place="hampton-roads"] {
	top:78px;
	left:445px;
}
.vtc-map .state-map .pin[data-place="hampton-roads"] label {
	left:-60px;
}
.vtc-map .state-map .pin[data-place="roanoke"] {
	top:15px;
	left:-100px;
}
.vtc-map .state-map .pin[data-place="roanoke"] label {
	align-self:flex-start;
	left:60px;
}
.vtc-map .state-map .pin[data-place="richmond"] {
	top:-38px;
	left:268px;
}
.vtc-map .state-map .pin[data-place="richmond"] label {
	left:-50px;
}
.vtc-map .state-map .pin[data-place="nova"] {
	top:-270px;
	left:295px;
}
.vtc-map .state-map .pin[data-place="nova"] label {
	align-self:flex-start;
	left:60px;
}
.vtc-map .state-map .pin[data-place="charlottesville"] {
	top:-132px;
	left:122px;
}
.vtc-map .state-map .pin[data-place="charlottesville"] label {
	left:-60px;
}
.map-wrap .pin {
	position:absolute;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	width:45px;
	height:75px;
	cursor:pointer;
	background-image:url('img/map-pin.svg');
	background-position:50% 50%;
	background-size:contain;
	background-repeat:no-repeat;
	transform:scale(1,1);
	transform-origin:50% 95%;
	transition:transform 250ms cubic-bezier(.25,.45,.45,.95);
	z-index:1;
}
.map-wrap .pin:before {
	content:'';
	position:absolute;
	top:-45px;
	width:112px;
	height:56px;
	margin-left:5px;
	opacity:0;
	background-image:url('img/map-pin-burst.svg');
	background-position:50% 50%;
	background-size:contain;
	background-repeat:no-repeat;
	pointer-events:none;
	transform:scale(.6,.4);
	transform-origin:50% 90%;
	transition:opacity 75ms ease-in, transform 500ms cubic-bezier(.25,.45,.45,.95);
}
.map-wrap .pin label {
	position:relative;
	flex-shrink:0;
	align-self:flex-end;
	color:#a1a1a1;
	font-family:"chantal", sans-serif;
	font-size:18px;
	letter-spacing:0em;
	line-height:.8em;
	white-space:nowrap;
	text-align:center;
	border-radius:5px;
	cursor:pointer;
	user-select:none;
	outline:none;
	outline-offset:5px;
	filter:drop-shadow(0px 2px 5px rgba(0,0,0,.3));
	transition:color 150ms ease-in, outline 150ms ease-in;
}
.map-wrap .pin.on {
	transform:scale(1.3,1.3);
	filter:drop-shadow(0px 0px 15px rgba(0,0,0,.3));
	/*transition:transform 150ms cubic-bezier(.25,.2,.45,.95);*/
	transition:transform 150ms cubic-bezier(.25,.15,.25,1.4);
	z-index:2;
	pointer-events:none;
}
.map-wrap .pin.on:before {
	opacity:1;
	transform:scale(1,1);
	transition:opacity 200ms ease-in, transform 300ms cubic-bezier(.25,.15,.25,1.4);
}
.map-wrap .pin:focus-visible label {
	color:#fff;
	outline:2px solid #00ffff;
	transition-delay:100ms;
}
.map-wrap .pin.on label {
	align-self:center !important;
	top:-5px !important;
	left:0px !important;
	font-size:30px;
	color:#fff;
	outline:none;
	filter:drop-shadow(0px 5px 10px rgba(0,0,0,.5));
	transition:color 150ms ease-in, font-size 150ms cubic-bezier(.25,.15,.25,1.4);
}

/* Listing Map */

.vtc-map[data-context="listings"] {
	display:flex;
	flex-wrap:nowrap;
	width:100%;
	max-width:100%;
	/*height:1000px;*/
	height:67vw;
	margin:0px;
	padding:0px;
	border-bottom:1px solid #d6d6d6;
}
.vtc-map .region-map {
	flex-grow:1;
	position:relative;
	height:100%;
	overflow:hidden;
	background-color:#2a2a2a;
}
.vtc-map .region-map .map-wrap .map {
	position:absolute;
	top:-600px;
	left:-500px;
	width:1000px;
	height:1200px;
	z-index:0;
}
.vtc-map .region-map .pin[data-place="norfolk"] {
	top:20px;
	left:80px;
}
.vtc-map .region-map .pin[data-place="norfolk"] label {
	align-self:flex-start;
	left:50px;
	top:-10px;
}
.vtc-map .region-map .pin[data-place="virginia-beach"] {
	top:170px;
	left:290px;
}
.vtc-map .region-map .pin[data-place="virginia-beach"] label {
	top:10px;
	left:-45px;
}
.vtc-map .region-map .pin[data-place="virginia-beach"].on label {
	font-size:26px;
}
.vtc-map .region-map .pin[data-place="williamsburg"] {
	top:-390px;
	left:-345px;
}
.vtc-map .region-map .pin[data-place="williamsburg"] label {
	align-self:flex-start;
	left:55px;
}
.vtc-map .region-map .pin[data-place="williamsburg"].on label {
	font-size:26px;
}
.vtc-map .region-map .pin[data-place="peninsula"] {
	top:-130px;
	left:-90px;
}
.vtc-map .region-map .pin[data-place="peninsula"] label {
	top:10px;
	left:-50px;
}
.vtc-map .region-map .pin[data-place="peninsula"].on label {
	white-space:break-spaces;
}
.vtc-map .region-map .pin[data-place="west-of-belvidere"] {
	top:-130px;
	left:-90px;
}
.vtc-map .region-map .pin[data-place="west-of-belvidere"] label {
	left:-45px;
	top:20px;
}
.vtc-map .region-map .pin[data-place="west-of-belvidere"].on label {
	width:170px;
	top:0px !important;
	white-space:normal;
}
.vtc-map .region-map .pin[data-place="the-james"] {
	top:100px;
	left:-130px;
}
.vtc-map .region-map .pin[data-place="the-james"] label {
	left:-45px;
	top:30px;
}
.vtc-map .region-map .pin[data-place="downtown"] {
	top:15px;
	left:230px;
}
.vtc-map .region-map .pin[data-place="downtown"] label {
	align-self:flex-start;
	width:100px;
	left:45px;
	top:20px;
	white-space:normal;
}
.vtc-map .region-map .pin[data-place="downtown"].on label {
	width:170px;
	top:0px !important;
}
.vtc-map .region-map .pin[data-place="arts-district"] {
	top:-80px;
	left:105px;
}
.vtc-map .region-map .pin[data-place="arts-district"] label {
	width:170px;
	left:-30px;
	top:30px;
	white-space:normal;
}
.vtc-map .region-map .pin[data-place="arts-district"].on label {
	width:260px;
	top:0px !important;
}
.vtc-map .region-map .pin[data-place="roanoke-county"] {
	top:-80px;
	left:-140px;
}
.vtc-map .region-map .pin[data-place="roanoke-county"] label {
	left:-50px;
	top:0px;
}
.vtc-map .region-map .pin[data-place="city-of-roanoke"] {
	top:30px;
	left:150px;
}
.vtc-map .region-map .pin[data-place="city-of-roanoke"] label {
	left:-50px;
	top:0px;
}
.vtc-map .region-map .pin[data-place="city-of-roanoke"].on label {
	width:170px;
	top:0px !important;
	white-space:normal;
}
.vtc-map .region-map .pin[data-place="downtown-roanoke"] {
	top:-70px;
	left:230px;
}
.vtc-map .region-map .pin[data-place="downtown-roanoke"] label {
	align-self:flex-start;
	left:50px;
	top:-10px;
}
.vtc-map .region-map .pin[data-place="fairfax-county"] {
	top:20px;
	left:-80px;
}
.vtc-map .region-map .pin[data-place="fairfax-county"] label {
	left:-50px;
	top:10px;
	white-space:break-spaces;
}
.vtc-map .region-map .pin[data-place="fairfax-county"].on label {
	top:0px !important;
}
.vtc-map .region-map .pin[data-place="arlington"] {
	top:-140px;
	left:200px;
}
.vtc-map .region-map .pin[data-place="arlington"] label {
	align-self:flex-start;
	left:50px;
	top:-10px;
}
.vtc-map .region-map .pin[data-place="alexandria"] {
	top:10px;
	left:260px;
}
.vtc-map .region-map .pin[data-place="alexandria"] label {
	align-self:flex-start;
	left:50px;
	top:0px;
}
.vtc-map .region-map .pin[data-place="greater-charlottesville"] {
	top:-210px;
	left:-10px;
}
.vtc-map .region-map .pin[data-place="greater-charlottesville"] label {
	align-self:flex-start;
	left:40px;
	top:20px;
	width:170px;
	white-space:normal;
}
.vtc-map .region-map .pin[data-place="greater-charlottesville"].on label {
	top:0px !important;
	width:270px;
}
.vtc-map .region-map .pin[data-place="historic-downtown"] {
	top:0px;
	left:130px;
}
.vtc-map .region-map .pin[data-place="historic-downtown"] label {
	align-self:flex-start;
	left:-40px;
	top:60px;
	width:200px;
	white-space:normal;
}
.vtc-map .region-map .pin[data-place="historic-downtown"].on label {
	top:20px !important;
	width:260px;
}
.vtc-map .region-map .pin[data-place="corner-west-main"] {
	top:-30px;
	left:-50px;
}
.vtc-map .region-map .pin[data-place="corner-west-main"] label {
	left:-30px;
	top:20px;
	width:160px;
	white-space:normal;
}
.vtc-map .region-map .pin[data-place="corner-west-main"].on label {
	top:0px !important;
	width:220px;
}
.vtc-map .region-map .pin[data-place="albemarle"] {
	top:-390px;
	left:-360px;
}
.vtc-map .region-map .pin[data-place="albemarle"] label {
	align-self:flex-start;
	left:50px;
	top:0px;
}
.vtc-map .region-map .pin[data-place="albemarle"].on label {
	white-space:break-spaces;
	top:0px !important;
}



.vtc-map .listings {
	display:flex;
	flex-wrap:wrap;
	align-content:flex-start;
	/*width:550px;*/
	width:35%;
	flex-shrink:0;
	overflow:hidden;
}
.vtc-map .listings .sway-select[data-id="places"] {
	width:100%;
}
.vtc-map .listings .places-cta {
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:40px;
	margin-bottom:30px;
	font-style:italic;
	font-size:14px;
	color:#aaa;
}
.vtc-map .listings .items {
	width:100%;
	height:calc(100% - 140px);
	padding:0px 30px 40px 30px;
	overflow:hidden;
	overflow-y:auto;
}
.vtc-map .listings .item {
	width:100%;
}
.vtc-map .listings .item .item-head {
	
}
.vtc-map .listings .item .icon {
	flex-shrink:0;
	width:25px;
	height:25px;
	background-color:#000;
	border-radius:13px;
	background-size:25px 25px;
	background-position:50% 50%;
	background-repeat:no-repeat;
}
.vtc-map .listings .item .icon._dining {
	background-image:url('img/icon-dining.svg');
}
.vtc-map .listings .item .icon._attraction {
	background-image:url('img/icon-attraction.svg');
}
.vtc-map .listings .item .icon._retail {
	background-image:url('img/icon-retail.svg');
}
.vtc-map .listings .item .icon._lodging {
	background-image:url('img/icon-lodging.svg');
}
.vtc-map .listings .item .item-content {
	display:flex;
	gap:20px;
}
.vtc-map .listings .item .item-content .img {
	flex-shrink:0;
	width:150px;
	height:150px;
	background-size:cover;
	background-position:50% 50%;
	border-radius:10px;
}
.vtc-map .listings .item .desc .curated {
	display:block;
	margin-bottom:10px;
	padding-left:0px;
	white-space:normal;
	color:#ED1C24;
	font-family:"chantal", sans-serif;
	font-size:18px;
}
.vtc-map .listings .item .desc p {
	font-size:18px;
	padding:0px;
}
.vtc-map .listings .item .item-links {
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	row-gap:10px;
	margin-top:20px;
}
.vtc-map .listings .item .item-links > a {
	vertical-align:top;
}
.vtc-map .listings .item .item-links .btn:hover,
.vtc-map .listings .item .item-links .btn:focus {
	background-color:#000;
	color:#fff;
}
.vtc-map .listings .item .item-links .btn._phone {
	display:flex;
	justify-content:center;
	align-items:center;
	height:44px;
	width:44px;
	min-width:44px;
	margin:0px;
	padding:0px;
	font-size:0px;
	
	border:2px solid #fff;
	background-color:#000;
}

.vtc-map .listings .item .item-links .btn._phone:after {
	content:'';
	position:absolute;
	width:25px;
	height:25px;
	
	background-color:#fff;
	
	-webkit-mask-image:url('img/icon-phone.svg');
	-webkit-mask-size:cover;
	-webkit-mask-repeat:no-repeat;
	-webkit-mask-position:50% 50%;
	mask-image:url('img/icon-phone.svg');
	mask-size:cover;
	mask-repeat:no-repeat;
	mask-position:50% 50%;
	
}
.vtc-map .listings .item .item-links .btn._phone:hover,
.vtc-map .listings .item .item-links .btn._phone:focus {
	border:2px solid #000;
	background-color:#fff;
}
.vtc-map .listings .item .item-links .btn._phone:hover:after,
.vtc-map .listings .item .item-links .btn._phone:focus:after {
	background-color:#000;
}

/* Subscribe Box */

.subscribe-box {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 960px;
	max-width: 100%;
	min-height: 70px;
	padding: 0 30px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	background: #ED1C24;
	border-radius: 10px;
	transform: translate(-50%,50%);
	z-index: 2;
}
.box-heading {
	display: flex;
	align-items: center;
	position: relative;
	min-height: 70px;
	padding: 0 30px 0 0;
	color: #fff;
	font-family: "chantal", sans-serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1em;
}
.box-heading:before {
	content: '';
	width: 31px;
	height: 38px;
	margin: 0 15px 0 0;
	background: url('img/icon-heart.png') no-repeat;
	background-size: contain;
}
.box-heading:after {
	position: absolute;
	top: 0;
	right: 0;
	content: '';
	width: 2px;
	height: 100%;
	background: rgba(0,0,0,.2);
}

/* Experiences Sections */

.experiences {
	background: #fff;
}
.experiences:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100vw;
	height: 27.78vw;
	background: url('img/bg-illus-grey.svg') no-repeat;
	background-size: cover;
}
.section-intro.lower {
	position: relative;
	margin: 90px 0 0;
	color: #fff;
}
.page-template-page-region .experiences.container {
	padding: 120px 0 60px;
}
.page-template-page-region .experiences:before {
	content: '';
	position: absolute;
	top: 500px;
	left: 0;
	width: 100vw;
	height: calc(100% - 500px);
	background: url('img/bg-region-experiences.png') no-repeat;
	background-size: cover;
}
.page-template-page-region .experiences:after {
	top: 400px;
	bottom: auto;
}

/* Itinerary Sections */
.container.itinerary {
	padding: 90px 0;
}
.itinerary .section-intro {
	margin: 0;
}

/* Partners Sections */

.partners {
	padding: 120px 0 220px;
}
.partners:after {
	content: '';
	position: absolute;
	bottom: 50px;
	left: 0;
	width: 100%;
	height: 10vw;
	background: url('img/partners-accent.svg') no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
.partners .card-container {
	justify-content: center;
	flex-wrap: wrap;
	gap: 50px;
}
.partners .card {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: calc(25% - 50px);
	margin: 0;
	background: none;
}
.partners .card:before {
	display: none;
}
.partners.two-partners .card {
	width: calc(50% - 50px);
}
.partners.one-partner .wrap {
	display: flex;
	justify-content: space-between;
}
.partners.one-partner .section-intro {
	flex-shrink: 0;
	width: calc(100% - 400px);
	text-align: left;
}
.partners.one-partner h2 {
	text-align: left;
}
.partners.one-partner h2 span {
	display: inline-block;
}
.partners.one-partner .card-container {
	flex-shrink: 0;
	width: 300px;
	gap: 0;
}
.partners.one-partner .card {
	width: 100%;
}
.partners.one-partner .card-text p {
	display: none;
}
.partners.one-partner .card-text .btn {
	margin-top: 0;
}
.partners.no-partners {
	display: none;
}

/* Events Sections */

.events {
	color:#fff;
	background-color:#070707;
}
.events .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0;
}
.events h2 {
	color: #fff;
}
.events h2 span {
	display: inline-block;
	color: #ED1C24;
}
.events-slider.slick-slider {
	align-self: stretch;
	display: block;
	position: relative;
	margin: 0 0 90px;
}
.events-slider.slick-slider .slick-list {
	display: flex;
	overflow: visible;
}
.events-slider.slick-slider .slick-track {
	display: flex;
}
.events-slider.slick-slider .card {
	display: flex;
	align-items: stretch;
	width: 100%;
	height: 100%;
	margin: 0;
	color: #000;
	background: #fff;
}
.events-slider .card:before {
	top: -20px;
	left: -20px;
	width: 300px;
	height: calc(100% - 10px);
	z-index: 1;
}
.events-slider .card-icon {
	display:none;
}
.events-slider .card-image {
	width: 446px;
	height: auto;
	flex-shrink: 0;
	border-radius: 10px 0 0 10px;
}
.events-slider .card-text {
	justify-content: center;
	height: 100%;
	padding: 52px;
	text-align: left;
}
.events-slider .card-text h3 {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.15em;
	text-transform: none;
}
.events-slider .card-text .btn {
	min-width: auto;
	width: fit-content;
	margin: 0;
	padding: 0;
	font-size: 20px;
}
.page-template-page-region .events {
	background: url('img/bg-pattern-curators.png') no-repeat;
	background-size: cover;
}
.page-template-page-region .events h2 {
	color: #000;
}
.page-template-page-region .events-slider.slick-slider .card {
	color: #fff;
	background: #000;
}
.page-template-page-region .events-slider.slick-slider .btn.arrow-1 {
	color: #fff;
}
.page-template-page-region .events .btn-3 {
	color: #000;
}

/* Slick Slider UI */

.slick-slider .slick-dots {
	position: absolute;
	display: flex;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
}
.slick-slider .slick-dots li {
	position: relative;
	display: block;
	width: 15px;
	height: 14px;
	padding: 0;
	margin: 0 8px;
	background: url('img/slider-nav-dot.png') no-repeat;
	background-size: contain;
	cursor: pointer;
	transition: transform 300ms ease-in-out;
}
.slick-slider .slick-dots li:hover {
	transform: scale(1.2);
}
.slick-slider .slick-dots li:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url('img/slider-nav-dot-active.png') no-repeat;
	background-size: contain;
	opacity: 0;
	transition: opacity 300ms ease-in-out;
}
.slick-slider .slick-dots li.slick-active:before {
	opacity: 1;
}
.slick-slider .slick-dots li button {
	appearance: none;
	outline: 0;
	border: 0;
	background: transparent;
	text-indent: -9999px;
}

/* Curators Sections */

.curators {
	background: url('img/bg-pattern-curators.png') no-repeat;
	background-size: cover;
}
.curators.no-curators {
	display: none;
}
.curators .wrap {
	max-width: 1270px;
	padding: 0;
	text-align:center;
}
.curators-feed .items {
	display:flex;
	flex-direction:column;
	gap:100px;
}
.curators-feed .items .item {
	height:550px;
}
.curators-feed .card,
.curators-feed.slick-slider .card {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 550px;
	height: 100%;
	margin: 0 35px;
	color: #fff;
	background: #000;
}
.curators-feed .card {
	margin:0px;
}
.curators-feed .card:before {
	top: -20px;
	left: -20px;
	width: 300px;
	height: calc(100% - 120px);
	z-index: 1;
}
.curators-feed .card-image {
	width: 446px;
	height: 100%;
	flex-shrink: 0;
	border-radius: 10px 0 0 10px;
	background: url('img/curator-bg.jpg');
	background-size: cover;
	background-position: top center;
}
.curators-feed .card-cutout {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
}
.curators-feed .card-ill {
	position: absolute;
	top: 0;
	left: 0;
	width: 480px;
	height: 458px;
	background: url('img/curator-card-ill.png') no-repeat;
	background-size: contain;
}
.curators-feed .card-text {
	justify-content: center;
	height: 100%;
	padding: 52px;
	text-align: left;
}
.curators-feed .card-text h3 {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.15em;
}
.curators-feed .card-text p {
	font-size: 18px;
	line-height: 1.5em;
}
.curators-feed .card-text .btn {
	min-width: auto;
	width: fit-content;
	margin: 0;
	padding: 0;
	font-size: 20px;
	color: #fff;
}
.curators-slider.slick-slider {
	align-self: stretch;
	display: block;
	position: relative;
	margin: 0 0 90px;
}
.curators-slider.slick-slider .slick-list {
	display: flex;
	overflow: visible;
}
.curators-slider.slick-slider .slick-track {
	display: flex;
}
.curators-slider .slick-dots {
	bottom: -80px;
}
.curators-slider .slick-dots:before {
	content: '';
	position: absolute;
	top: -15px;
	left: -1075px;
	width: 1068px;
	height: 74px;
	background: url('img/curators-nav-before.png') no-repeat;
	background-size: contain;
}
.curators-slider .slick-dots:after {
	content: '';
	position: absolute;
	top: -15px;
	right: -1075px;
	width: 1068px;
	height: 74px;
	background: url('img/curators-nav-after.png') no-repeat;
	background-size: contain;
}
.curators-slider + .btn {
	color:#000;
	margin-top:40px;
}


/* Curator Pages */

.page-curator .section-intro {
	color:#fff;
}
.page-curator .curator-bubble {
	width:300px;
	height:340px;
	margin:0px auto 30px auto;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:50% 50%;
}
.page-curator .section-intro h2 span {
	display:inline-block;
	color:#fff;
}
.page-curator .large-listings .wrap {
	text-align:center;
}
.page-curator .large-listings .items + .btn {
	margin-top:120px;
}
.page-curator .large-listings .card-location:before {
	content:none;
}


/* Large Listings/Events */

.large-listings {
	background-color:#070707;
	background-image:url('img/bg-large-listings.jpg');
	background-position:0% 0%;
	background-size:100% auto;
	background-repeat:no-repeat;
}
.large-listings .items {
	max-width: 100%;
}
.large-listings .item.card {
	margin: 0;
	background: #fff;
}
.large-listings .item.card .card-text .btn {
	padding: 0;
}
.large-listings .items {
	display:flex;
	flex-direction:column;
	gap:140px;
}
.large-listings .item.card {
	width:100%;
	display:flex;
}
.large-listings .item.card:before {
	width:300px;
	height:calc(100% + 20px);
	top:-55px;
}
.large-listings .item.card .card-icon {
	top:-44px;
	left:-30px;
}
.large-listings .item.card .card-image {
	position:absolute;
	width:490px;
	height:calc(100% + 80px);
	margin-top:-40px;
	border-radius:10px;
}
.large-listings .item.card .card-text {
	height:auto;
	margin-left:490px;
	padding:50px;
	gap:20px;
	text-align:left;
	color:#000;
}
.large-listings .item.card .card-text .card-date {
	margin-bottom:0px;
}
.large-listings .item.card .card-text .title {
	margin-bottom:0px;
	font-size:40px;
	font-weight:700;
	text-transform:none;
}
.large-listings .item.card .card-text .desc {
	font-size:18px;
	text-transform:none;
}
.large-listings .item.card .card-text .btn {
	justify-content:flex-start;
	margin:0px;
}
.large-listings .item.card:nth-child(even) {
	flex-direction:row-reverse;
}
.large-listings .item.card:nth-child(even):before {
	left:auto;
	right:-16px;
	transform:scale(-1,1);
}
.large-listings .item.card:nth-child(even) .card-icon {
	left:auto;
	right:-30px;
}
.large-listings .item.card:nth-child(even) .card-text {
	margin-left:0px;
	margin-right:490px;
}
.large-listings .item.card .card-icon {
	display: block;
}
.large-listings .item.card:nth-child(5n + 1) .card-icon {
	width: 100px;
	height: 142px;
	background: url('img/event-accent-01.png') no-repeat;
	background-size: contain;
}
.large-listings .item.card:nth-child(5n + 2) .card-icon {
	width: 110px;
	height: 111px;
	background: url('img/event-accent-02.png') no-repeat;
	background-size: contain;
}
.large-listings .item.card:nth-child(5n + 3) .card-icon {
	width: 120px;
	height: 132px;
	background: url('img/event-accent-03.png') no-repeat;
	background-size: contain;
}
.large-listings .item.card:nth-child(5n + 4) .card-icon {
	width: 112px;
	height: 86px;
	background: url('img/event-accent-04.png') no-repeat;
	background-size: contain;
}
.large-listings .item.card:nth-child(5n + 5) .card-icon {
	width: 90px;
	height: 123px;
	background: url('img/event-accent-05.png') no-repeat;
	background-size: contain;
}



/* Subscribe Sections */

.subscribe {
	color: #fff;
	background: #ED1C24;
}
.subscribe:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('img/bg-illus-red.svg') no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}
.subscribe .wrap {
	position: relative;
	display: flex;
	justify-content: space-between;
	z-index: 2;
}
.subscribe .section-intro {
	width: 540px;
	padding: 0 60px 0 0;
	flex-shrink: 0;
	text-align: left;
}
.subscribe h2 {
	position: relative;
	color: #fff;
	font-size: 40px;
	text-align: left;
}
.subscribe h2:after {
	content: '';
	display: inline-block;
	width: 31px;
	height: 38px;
	margin: 0 15px 0 0;
	background: url('img/icon-heart.png') no-repeat;
	background-size: contain;
}
.subscribe p {
	font-size: 20px;
	font-weight: 350;
	line-height: 1.5em;
}
.subscribe .form {
	width: calc(100% - 540px);
}

/* gravity forms */

.gform-body .gform_fields,
.gform-body .gform-grid-row {
	row-gap:0px !important;
}

.gform-body .gfield.gfield_error {
	margin-bottom:12px;
	outline:2px solid #fff;
	outline-offset:5px;
}
.gform-body .gfield .gfield_label,
.gform-body .gfield .gfield_description:not(.validation_message),
.gform-body .gfield .gform-field-label {
	height:0px;
	margin:0px;
	visibility:hidden;
}
.gform-body .gfield .validation_message {
	position:relative;
	top:-15px;
	color:#fff;
	font-size:16px;
}
.gform-body .gfield .ginput_container input[type="text"],
.gform-body .gfield .ginput_container input[type="email"] {
	width:100%;
	height:auto;
	margin:0 0 32px;
	padding: 20px 0;
	color:#fff;
	font-size:20px;
	line-height:1.5em;
	font-weight:500;
	background:transparent;
	border:none;
	border-bottom:2px solid #000;
	border-radius:0px;
}
.gform-body .gfield .ginput_address_zip {
	inline-size:100%;
}
.gform_wrapper.gform-theme.gform-theme--foundation .gform_footer {
	margin-block-start:0px;
}
.gform_wrapper.gform-theme.gform-theme--framework .gform-footer input[type="submit"].gform_button.button {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:auto;
	min-width:160px;
	height:74px;
	padding:0px 30px;
	font-family:"brother-1816", sans-serif !important;
	font-size:22px;
	font-weight:500 !important;
	line-height:1em;
	letter-spacing:normal;
	color:#fff;
	background:#000;
	border:none;
	border-radius:37px;
	-webkit-appearance:none;
	appearance:none;
	text-decoration:none;
	white-space:nowrap;
	transition:color 250ms linear, background 250ms linear;
}
.gform_wrapper.gform-theme.gform-theme--framework .gform-footer input[type="submit"].gform_button.button:not(.disabled):focus,
.gform_wrapper.gform-theme.gform-theme--framework .gform-footer input[type="submit"].gform_button.button:not(.disabled):hover,
.gform_wrapper.gform-theme.gform-theme--framework .gform-footer input[type="submit"].gform_button.button:not(.disabled).over {
	color:#000;
	background:#fff;
}

.gform_wrapper.gform-theme--framework .gform_validation_errors,
.gform_wrapper.gform-theme--framework .gform_validation_errors:focus {
	padding:0px;
	outline:none;
	background:transparent;
	border:0px;
	box-shadow:none;
}
.gform_wrapper.gform-theme--framework .gform_validation_errors h2 {
	font-family:"brother-1816", sans-serif;
	font-size:16px;
}
.gform_wrapper.gform-theme--framework .gform_validation_errors h2:after {
	display:none;
}
.gform_wrapper.gform-theme--framework .gform_validation_errors .gform-icon {
	display:none;
}
.gform_wrapper.gform-theme--framework .gform_validation_errors .gform_submission_error {
	color:#fff;
}

.gform_wrapper .gform_confirmation_message {
	font-size:18px;
}



/* Events */

.events-slider .item.card .card-icon {
	display:none;
}



@media (max-width:1440px) {
	.wrap,
	.events .wrap {
		width: 100%;
		padding:0px 40px;
	}
	h2, .h2 {
		font-size: calc(30px + 40 * ((100vw - 400px) / 1040));
	}
	.eyebrow {
		font-size: calc(12px + 6 * ((100vw - 400px) / 1040));
	}
	.card-text h3 {
		font-size: calc(18px + 6 * ((100vw - 400px) / 1040));
	}
	.events-slider .card-text h3,
	.large-listings .item.card .card-text .title {
		font-size: calc(18px + 22 * ((100vw - 400px) / 1040));
	}
	.card-date,
	.card-location {
		font-size: calc(18px + 6 * ((100vw - 400px) / 1040));
	}
	.curators-feed .card-text h3 {
		font-size: calc(18px + 22 * ((100vw - 400px) / 1040));
	}
	.partners:after {
		width: 1440px;
		height: 127px;
	}
	.experiences:after {
		left: 50%;
		width: 1440px;
		height: 400px;
		background: url('img/bg-illus-grey.svg') no-repeat;
		background-position: 50% 50%;
		background-size: cover;
		transform: translateX(-50%);
	}
	
	.vtc-map .listings .item .item-body {
		padding-right:0px;
	}
	.vtc-map .listings .item .item-content {
		gap:10px;
	}
	.vtc-map .listings .item .desc .curated,
	.vtc-map .listings .item .desc p {
		font-size:16px;
	}
	.vtc-map .listings .item .item-links {
		gap:10px;
	}
}

@media (max-width:1279px) {
	.menu .menu-item > a,
	.menu .menu-item > button {
		font-size: 12px;
		letter-spacing: .2px;
	}
	#site-menu .menu-item:last-child a {
		width: 140px;
	}
	.vtc-map .listings .item .item-content {
		flex-direction:column;
		gap:20px;
	}
	.vtc-map .listings .item .item-content .img {
		width:100%;
		height:250px;
	}
}

@media (max-width:1099px) {
	.menu .menu-item > a,
	.menu .menu-item > button {
		font-size: 10px;
	}
}

@media (max-width:1024px) {
	#site-header {
		justify-content: space-between;
	}
	.header-mobile-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: space-between;
		background: #fff;
		box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.20);
		z-index: 2;
	}
	.btn-mobile-menu {
		position: relative;
		display:block;
		width: 22px;
		height: 17px;
		margin: 0 32px 0 0;
		cursor: pointer;
	}
	.btn-mobile-menu .open-menu {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.btn-mobile-menu .open-menu path {
		transform: scaleX(1);
		transition: transform 300ms ease-in-out;
		transform-origin: right;
	}
	#site-header .btn-mobile-menu .open-menu .open-1 {
		transition-delay: 900ms;
	}
	#site-header .btn-mobile-menu .open-menu .open-2 {
		transition-delay: 600ms;
	}
	#site-header .btn-mobile-menu .open-menu .open-3 {
		transition-delay: 750ms;
	}
	body.on-mobile-menu {
		overflow: hidden;
	}
	body.on-mobile-menu #site-header .btn-mobile-menu .open-menu .open-1 {
		transform: scaleX(0);
		transition-delay: 300ms;
	}
	body.on-mobile-menu #site-header .btn-mobile-menu .open-menu .open-2 {
		transform: scaleX(0);
		transition-delay: 0ms;
	}
	body.on-mobile-menu #site-header .btn-mobile-menu .open-menu .open-3 {
		transform: scaleX(0);
		transition-delay: 150ms;
	}
	#site-header .btn-mobile-menu:before {
		content: '';
		position: absolute;
		top: -2px;
		right: 1px;
		width: 25px;
		height: 5px;
		background: url('img/close-line-1.png') no-repeat;
		background-size: contain;
		transform: rotate(-40deg) scaleX(0);
		transform-origin: right;
		transition: transform 300ms ease-in-out;
		transition-delay: 0ms;
	}
	#site-header .btn-mobile-menu:after {
		content: '';
		position: absolute;
		top: -3px;
		left: 0;
		width: 27px;
		height: 6px;
		background: url('img/close-line-2.png') no-repeat;
		background-size: contain;
		transform: rotate(40deg) scaleX(0);
		transform-origin: left;
		transition: transform 300ms ease-in-out;
		transition-delay: 150ms;
	}
	body.on-mobile-menu #site-header .btn-mobile-menu:before {
		transform: rotate(-40deg) scaleX(1);
		transition-delay: 600ms;
	}
	body.on-mobile-menu #site-header .btn-mobile-menu:after {
		transform: rotate(40deg) scaleX(1);
		transition-delay: 750ms;
	}
	.site-menu-container {
		position:absolute;
		width:100%;
		height: calc(100vh - 70px);
		top:-100vh;
		overflow:auto;
		background: #fff;
		transition:top 180ms ease-in;
		z-index: 1;
	}
	body.on-mobile-menu .site-menu-container {
		top: 80px;
		transition:top 300ms ease-out;
	}
	.scrolling body.on-mobile-menu .site-menu-container {
		top: 65px;
		height: calc(100vh - 65px);
	}
	#site-menu {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		height: calc(100% - 76px);
	}
	#site-menu .menu-item {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		height: auto;
		margin: 0;
		white-space: normal;
	}
	#site-menu .menu-item a, 
	#site-menu .menu-item button {
		padding: 25px;
		font-size: 16px;
	}
	#site-menu .menu-item:last-child {
		/* position: absolute;
		bottom: 0;
		left: 0; */
	}
	#site-menu .menu-item:last-child  a {
		width: 100%;
	}
	#site-menu .menu-item + .menu-item:before {
		position: absolute;
		top: 0;
		left: 50%;
		width: 10px;
		height: 1px;
		margin-left: -5px;
		background: rgba(0,0,0,.2);
		border-left: none;
	}
	#site-menu .menu-item a:after {
		display: none;
	}
	#site-footer .logos {
		flex-direction: column;
	}
	#site-footer .logo-hs {
		margin: 0 0 20px;
	}
	#site-footer .logos .logo-hs:after {
		display: none;
	}
	#site-footer .logo-vifl {
		margin: 0;
	}
	.page-region .hero.container {
		position: relative;
		height: 220px;
	}
	.page-region .hero.container picture .title-illustration {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.vtc-map .listings .item .item-content .img {
		height:150px;
	}
	.subscribe-box {
		flex-wrap: wrap;
		left: 30px;
		right: 30px;
		max-width: calc(100% - 60px);
		transform: translateY(50%);
	}
	.card-container {
		flex-direction: column;
	}
	.card {
		display: flex;
		align-items: stretch;
		width: 100%;
		min-height: 242px;
		margin: 0 0 45px;
		background: linear-gradient(180deg, #FFF -84.14%, #EDEDED 99.87%);
	}
	.card-image {
		width: 355px;
		height: auto;
		margin: 0;
		flex-shrink: 0;
		border-radius: 10px 0 0 10px;
	}
	.card-text {
		height: auto;
		padding: 30px 40px;
		justify-content: center;
		text-align: left;
	}
	.card-text p {
		font-size: 16px;
	}
	.card .btn {
		justify-content: flex-start;
		margin: 0;
	}
	.partners .card-container {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.partners .card,
	.partners.two-partners .card {
		width: 300px;
	}
	.partners .card-text {
		text-align: center;
	}
	.partners .card .btn {
		margin: 0 auto;
	}
	.events-slider .card-image {
		width: 300px;
	}
	.large-listings .item.card .card-image {
		width: 300px;
	}
	.events-slider .card-text {
		padding: 30px 20px 30px 40px;
	}
	.large-listings .item.card .card-text {
		margin-left: 300px;
		padding: 30px 20px 30px 40px;
	}
	.large-listings .item.card .card-text .desc {
		font-size: 16px;
	}
	.large-listings .item.card:nth-child(even) .card-text {
		margin-left: 0;
		margin-right: 300px;
	}
	.curators-feed .card-image {
		width: 316px;
	}
	.curators-feed .card-ill {
		width: 336px;
	}
	.curators-feed .card-text {
		padding: 30px 20px 30px 40px;
	}
	.section-intro.lower {
		margin: 30px 0 0;
	}
}

@media (max-width:959px) {
	.for-desktop {
		display:none;
	}
	.for-mobile {
		display:block;
	}
	body {
		font-size:14px;
	}
	label {
		font-size:8px;
	}
	.container,
	.container.itinerary {
		padding: 80px 0;
	}
	.wrap {
		width:100%;
		padding:0px 40px;
		margin:0px;
	}
	.break-wrap {
		left:-20px;
	}
	.subscribe-box {
		padding: 15px;
	}
	.box-heading:before {
		margin: 0 5px 0 0;
	}
	.box-heading {
		width: 100%;
		min-height: auto;
		flex-shrink: 0;
		margin: 0 0 10px;
		padding: 0;
	}
	.box-heading:after {
		display: none;
	}
	.subscribe-box .btn {
		position: absolute;
		right: 15px;
	}
	.card:before {
		width: 230px;
		height: calc(100% - 10px);
	}
	.card-image {
		width: 250px;
	}
	.card-text {
		padding: 30px;
	}
	.events-slider .card-image {
		width: 250px;
	}
	.events-slider .card:before {
		width: 250px;
	}
	.large-listings .item.card:before {
		width: 250px;
	}
	.large-listings .item.card .card-image {
		width: 250px;
	}
	.large-listings .item.card .card-text {
		margin-left: 250px;
	}
	.large-listings .item.card:nth-child(even) .card-text {
		margin-right: 250px;
	}
	.subscribe .section-intro {
		width: 50%;
		font-size: 18px;
	}
	.subscribe .form {
		width: 50%;
	}
	.curators .wrap {
		padding: 0 40px;
	}
	.curators-slider.slick-slider .card {
		margin: 0 20px;
	}
	.partners {
		padding: 80px 0 180px;
	}
	.vtc-map[data-context="home"] .map-wrap {
		top:60%;
		left:35%;
	}
	.vtc-map .state-map {
		height:60vw;
		margin-bottom:30px;
	}
	.vtc-map .state-map .map-wrap .modal {
		top:-260px !important;
		left:0px !important;
	}
	.vtc-map .state-map .map-wrap .modal .card {
		transform:scale(1.1);
	}
	.vtc-map .state-map .map-wrap .modal p {
		font-size:16px;
	}
	.map-wrap .pin label {
		font-size:22px;
	}
	.vtc-map .region-map .pin[data-place="arts-district"] label {
		width:190px;
		left:-40px;
	}
	.vtc-map .region-map .pin[data-place="downtown"] label {
		width:140px;
		left:50px;
	}
	.vtc-map .region-map .pin[data-place="greater-charlottesville"] label {
		width:190px;
	}
	.vtc-map .region-map .pin[data-place="corner-west-main"] label {
		width:180px;
	}
	.vtc-map .region-map .pin[data-place="historic-downtown"] label {
		width:230px;
	}
	.vtc-map[data-context="listings"] {
		flex-direction:column;
		height:calc(100vw + 600px);
	}
	.vtc-map .region-map {
		width:100%;
		height:1000px;
	}
	.vtc-map .listings {
		width:100%;
		height:600px;
	}
	.vtc-map .listings .item .item-content {
		flex-direction:row;
	}
	.vtc-map .listings .item .item-content .img {
		width:150px;
		height:150px;
	}
	.vtc-map .listings .item .desc .curated,
	.vtc-map .listings .item .desc p {
		font-size:18px;
	}
}

@media (max-width:768px) {
	p {
		font-size: 16px;
	}
	.section-intro {
		margin: 0 0 60px;
	}
	#site-footer {
		padding: 40px 0;
	}
	#site-footer .wrap {
		flex-direction: column;
	}
	#site-footer .logos {
		margin: 0 0 40px;
	}
	.footer-menu-container {
		margin: 0 0 40px;
		text-align: center;
	}
	.card-text {
		gap: 10px;
	}
	.partners:after {
		left: -100px;
		width: 1000px;
		height: 87px;
	}
	.events-slider .card-image {
		width: 200px;
	}
	.events-slider .card:before {
		width: 200px;
	}
	.events-slider .card-text {
		padding: 30px 20px;
	}
	.large-listings .item.card .card-image {
		width: 200px;
	}
	.large-listings .item.card:before {
		width: 200px;
	}
	.large-listings .item.card .card-text {
		gap: 10px;
		margin-left: 200px;
		padding: 30px 20px;
	}
	.large-listings .item.card:nth-child(even) .card-text {
		margin-right: 200px;
	}
	.partners.one-partner .wrap {
		flex-direction: column;
		justify-content: flex-start;
	}
	.partners.one-partner .section-intro {
		flex-shrink: unset;
		width: 100%;
		text-align: center;
	}
	.partners.one-partner h2 {
		text-align: center;
	}
	.partners.one-partner .card-container {
		flex-shrink: unset;
		width: 100%;
	}
	.subscribe .wrap {
		flex-direction: column;
	}
	.subscribe .section-intro,
	.subscribe .form {
		width: 100%;
		padding: 0;
	}
	.subscribe .section-intro {
		text-align: center;
	}
	.subscribe h2 {
		text-align: center;
	}
	.subscribe p {
		font-size: 16px;
	}
	
	.gform-body .gfield .ginput_container input[type="text"],
	.gform-body .gfield .ginput_container input[type="email"] {
		font-size:16px;
	}
	.gform_wrapper.gform-theme.gform-theme--framework .gform-footer input[type="submit"].gform_button.button {
		display:block;
		min-width:124px;
		height:40px;
		margin:0 auto;
		font-size:14px;
	}
	
	.curators .wrap,
	.curators-feed .items {
		width:100%;
		max-width:500px;
		gap:60px;
		padding: 0;
		margin: 0 auto;
	}
	.curators-feed .items .item {
		height:auto;
	}
	.curators-feed .card {
		flex-direction: column;
	}
	.curators-slider .card {
		margin: 0 20px;
	}
	.curators-feed .card:before {
		height: 275px;
	}
	.curators-feed .card-image {
		width: 100%;
		height: 300px;
		overflow: hidden;
		background-position: top center;
		border-radius: 10px 10px 0 0;
	}
	.curators-feed .card-cutout {
		top: -20px;
		bottom: auto;
	}
	.curators-feed .card-ill {
		width: 100%;
		height: 100%;
		background-size: cover;
	}
	.curators-feed .card-text {
		justify-content: flex-start;
		text-align: center;
		padding: 30px 20px;
	}
	.curators-feed .card .btn {
		margin: 0 auto;
	}
	.curators-feed .card:before {
		width: calc(100% - 20px);
		height: 300px;
	}
	input[type="text"],
	input[type="email"] {
		font-size: 16px;
	}
	.btn,
	.btn-2,
	.btn-3,
	.btn-5 {
		min-width: 124px;
		height: 40px;
		font-size: 14px;
		line-height: unset;
	}

	.btn-4 {
		display: block;
		min-width: 124px;
		height: 40px;
		margin: 0 auto;
		font-size: 14px;
	}
}

@media (max-width:600px) {
	#site-header .logo-hs {
		width: 80px;
		height: 40px;
	}
	#site-header .logo-vifl {
		width: 152px;
		height: 10px;
	}
	.wrap,
	.events .wrap {
		padding: 0 20px;
	}
	.container,
	.container.itinerary {
		padding: 60px 0;
	}
	.page-region .hero.container {
		position: relative;
		height: auto;
	}
	.page-region .hero.container picture .title-illustration {
		height: unset;
		object-fit: unset;
	}
	.home .container.events {
		padding: 60px 0;
	}
	.section-intro {
		margin: 0 0 40px;
	}
	.subscribe-box {
		flex-direction: column;
		width: 320px;
		left: 50%;
		right: auto;
		font-size: 14px;
		transform: translate(-50%,50%);
	}
	.box-heading {
		justify-content: center;
		font-size: 20px;
	}
	.box-heading:before {
		width: 22px;
		height: 27px;
	}
	.subscribe-box .btn {
		position: relative;
		right: auto;
		margin: 10px 0 0;
	}
	.container.hero + .container:not(.vtc-map) {
		padding: 120px 0 60px;
	}
	.card-container {
		align-items: center;
	}
	.card {
		flex-direction: column;
		align-items: flex-start;
		min-height: auto;
	}
	.card:before {
		height: 300px;
	}
	.card-image {
		width: 100%;
		height: 300px;
		border-radius: 10px 10px 0 0;
	}
	.card-text {
		width: 100%;
		height: auto;
		padding: 22px 22px 30px;
		text-align: center;
	}
	.card .btn {
		margin: 0 auto;
	}
	.btn.arrow-1 {
		font-size: 14px;
	}
	.btn.arrow-1:after {
		width: 19px;
		height: 9px;
		margin: 0 0 0 5px;
	}
	.partners {
		padding: 60px 0 120px;
	}
	.curators-feed .card:before {
		top: -14px;
		left: -14px;
	}
	.curators-feed .card-text .btn {
		font-size: 14px;
	}
	.events-slider.slick-slider .card {
		flex-direction: column;
		width: 300px;
		height: auto;
	}
	.events-slider.slick-slider .card:before {
		height: 300px;
		top: -14px;
		left: -14px;
	}
	.events-slider .card-image {
		width: 100%;
		height: 300px;
		border-radius: 10px 10px 0 0;
	}
	.events-slider .card-text {
		height: auto;
		text-align: center;
	}
	.events-slider .card-text .btn {
		font-size: 14px;
		margin: 0 auto;
		padding: 0 0 0 10px;
	}
	.large-listings .items {
		gap: 80px;
	}
	.large-listings .item.card,
	.large-listings .item.card:nth-child(even) {
		flex-direction: column;
		height: auto;
	}
	.large-listings .item.card:before {
		top: -14px;
		left: -14px;
		height: 300px;
	}
	.large-listings .item.card .card-image {
		position: relative;
		width: 100%;
		height: 300px;
		margin-top: 0;
		border-radius: 10px 10px 0 0;
	}
	.large-listings .item.card .card-text {
		margin-left: 0;
		margin-right: 0;
		text-align: center;
	}
	.large-listings .item.card .card-text .btn {
		margin: 0 auto;
		padding: 0 0 0 10px;
	}
	#bg-video-toggle {
		top: 20px;
		right: 20px;
	}
	.subscribe h2 {
		font-size: 20px;
	}
	.subscribe h2:after {
		width: 22px;
    height: 27px;
		margin: 0 0 -5px 5px;
	}
	.vtc-map[data-context="home"] .map-wrap {
		left:28%;
	}
	.vtc-map .state-map {
		margin-top:40px;
		margin-bottom:40px;
	}
	.vtc-map .state-map .map-wrap .modal {
		left:30px !important;
	}
	.vtc-map .state-map .map-wrap .modal .card {
		transform:scale(1.2);
	}
	.vtc-map .state-map .pin[data-place="hampton-roads"].on label {
		width:200px;
		white-space:normal;
	}
	.vtc-map .region-map .pin[data-place="arts-district"] label {
		width:210px;
	}
	.map-wrap .pin label {
		font-size:25px;
	}
	.vtc-map .listings .places-cta {
		margin-bottom:20px;
	}
	.vtc-map .listings .items {
		padding:0px 20px 40px 20px;
	}
	.accordion .item-head {
		padding:25px 25px 25px 0px;
	}
	.accordion .item-head:after {
		right:0px;
	}
	.accordion .item-body {
		padding:0px;
	}
	.accordion.on .item-body {
		padding:20px 0px 40px 0px;
	}
	.vtc-map .listings .item .desc p {
		font-size:14px;
	}
	.vtc-map .listings .item .item-links {
		gap:10px;
	}
	.vtc-map .listings .item .item-links > a {
		min-width:110px;
		height:40px;
		padding:0px 10px;
		font-size:12px;
	}
	.vtc-map .listings .item .item-links .btn._phone {
		width:40px;
		min-width:40px;
		height:40px;
	}
	.slick-slider .slick-dots li {
		margin: 0 5px;
	}
}
@media (max-width: 500px) {
	.curators .wrap {
		width: 100%;
	}
	#site-header .logos {
		margin: 0 0 0 20px;
	}
	#site-header .logo-hs {
		width: 66px;
		height: 34px;
	}
	#site-header .logo-vifl {
		width: 118px;
		height: 8px;
	}
	.btn-mobile-menu {
		margin: 0 20px 0 0;
	}
	#bg-video-toggle {
		justify-content: center;
		width: 30px;
		height: 30px;
		text-indent: -99999px;
		padding: 0;
	}
	#bg-video-toggle:after {
		margin: 0;
		transform: scale(.8);
	}
}
@media (max-width: 400px) {
	h2,
	.h2 {
		font-size: 30px;
	}
	.vtc-map .state-map {
		margin-top:50px;
		margin-bottom:50px;
	}
	.vtc-map .state-map .map-wrap .modal .card {
		transform:scale(1.5);
	}
	.map-wrap .pin label {
		font-size:30px;
	}
	.vtc-map .region-map .pin[data-place="arts-district"] label {
		width:260px;
	}
	.vtc-map .region-map .pin[data-place="downtown"] label {
		width:170px;
	}
	.vtc-map .region-map .pin[data-place="greater-charlottesville"] label {
		width:250px;
	}
	.vtc-map .region-map .pin[data-place="corner-west-main"] label {
		width:220px;
	}
	.vtc-map .region-map .pin[data-place="historic-downtown"] label {
		width:320px;
	}
	.vtc-map .listings .item .item-content {
		flex-direction:column;
	}
	.vtc-map .listings .item .item-content .img {
		width:100%;
		height:150px;
	}
}