/*
Theme Name: CVFM2025 Theme
Theme URI: http://miriamfrost.com
Author: Miriam Frost
Author URI: http://miriamfrost.com
Description: Custom
Version: 1.0.1
Tags:

*/

/* FONTS ====================================================== */
@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: 'Montserrat';
/*	src: url('fonts/Montserrat-VariableFont_wght.ttf') format('ttf'); */}


body { font-family: "Montserrat", Helvetica, sans-serif; }

html { font-size: 16px; }

/* COLORS ===================================================== */
/* !---------------------------------- orange */
section,
footer { background-color: #e95e00; }
a,
.market h4 em,
#vendors p+p,
#vendors li::marker,
#vendor-signup li::marker,
#about h3,
#sponsor h3,
#vendor-signup h3  { color: #e95e00; }
nav li[class^="fa"] { color: #e95e00 !important; }

/* !------------------------------------- red */
.error { color: #831a00; }
/* !--------------------------------- yellow */
a:hover { color: #e9dd00; }
nav li[class^="fa"]:hover { color: #e9dd00 !important; }
/* !----------------------------------- black */
nav a { color: #000; }
#sidebar label,
#commentform label { color: #888; }
body { background-color: #000000cc; }
/* !----------------------------------- white */
#socials a,
#copyright { color: #fff; }
header,
.market,
.textwrap { background-color: #fff; }

/* FONT WEIGHT / SIZE / LINE HEIGHT / TEXT STYLE ============== */
/* !----------------------------- font-weight */
#copyright,
nav,
.shiftnav-main-toggle-content,
.shiftnav-menu li,
#work .textbox a,
h1, h2, h5, h6,
#services .swiper-slide li,
#team li { font-weight: normal; }
h4,
#vendors p {
	font-weight: 600; }
h2, h3 {font-weight: 700; }
#vendors li { font-weight: 500; }
/* !------------------------------ font-style */
cite { font-style: italic; }
address,
.market h4 em { font-style: normal; }
/* !------------------------------- font-size */
h2 { font-size: 24px; }
h3 { font-size: 16px; }
h2,
.market h3 { font-size: 32px; }
.location h4 { font-size: 22px; }
footer h2+p { font-size: 20px; }
nav a { font-size: clamp(1cqw, 16px, 20px); }
/* !----------------------------- line-height */
h2,
.market h3 { line-height: 30px; }

/* !------------------------------------- etc */
h2, h3,
nav a,
.market,
#vendors p,
#vendors li,
#copyright { text-transform: uppercase; }
a,
a:focus,
a:active,
a:visited { text-decoration: none; }

ul { list-style: none; }

/* GENERAL LAYOUT STUFF ======================================= */
html, body {
	width: 100%;
	height: 100%;
	scroll-behavior: smooth; }
html, body, header, footer, section, article,
h1, h2, h3, h4, h5, h6, div, form, ul, p {
	margin: 0; padding: 0; box-sizing: border-box; }

header,
footer { width: 100%; }
footer { overflow: hidden; }

#wrap {
	height: 100%;
	margin: 0 auto; }

section {
	width: 100%;
	margin: 0 auto; }


/* HEADER ===================================================== */
header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between; }

header h1 {
	width: 190px;
	height: 130px;
	margin: 0;
	text-indent: -9999px;
	background-size: contain;
	background-repeat: no-repeat; }
h1 a {
	display: block;
	height: 100%; }

nav ul {
	display: flex;
	margin: 7px 10px 7px 0; }
nav li { letter-spacing: .03em; }
nav li:not([class^="fa"]):before { /* icons */
	color: #e95e00;
	content: '|';
	margin: 0 .2em; }
nav li:first-child:before { content: ""; } /* first */
nav a {
	padding: 0 5px;
	scroll-behavior: smooth; }

nav li[class^="fa"] { /* icons */
	font-size: 25px;
	line-height: 0;
	margin: 0.35em 4px 0 0; }
[class^="fa"] a {
	display: inline-block;
	text-indent: -6666px; }


/* FOOTER ===================================================== */
.spotlight-instagram-feed { margin-top: 20px; }
#socials {
	margin: 50px 0 0;
	text-align: center; }
#socials svg {
	width: 20px;
	height: 20px; }
#copyright {
	margin: 0 0 24px 0;
	font-size: 14px;
	text-align: center; }
#copyright p { margin: 0; }


/* HOME & SINGLE PAGES: COMMON ================================ */
section {
	position: relative;
	height: auto; }

section .feat { max-width: 100%; }
article,
footer { padding: 75px 80px; }
#snap article { padding-top: 0; }

.textwrap { padding: 40px; }

.flexwrap {
display: flex;
height: 100%;
justify-content: space-between; }

.flexwrap div  { flex-basis: 49%; }

h2, h3 { margin-bottom: 4px !important; }


/* INTRO  ===================================================== */
#home article {
	height: 700px;
	padding: 0; }
#home video {
	object-fit: cover;
	width: 100%;
	height: 100%;
	min-width: 100%;
	aspect-ratio: 295 / 166;
	z-index: 2;
	vertical-align: middle; }


/* HOURS  ===================================================== */
#hours h2 {
	line-height: 0;
	text-indent: -666px; }
.market {
	display: flex;
	flex-direction: column;
	margin-right: 20px;
	padding: 16px 20px 20px 20px; }
.market:last-child { margin-right: 0; }
.location {
	display: flex;
	flex-direction: column;
	justify-content: space-between; }
.location+.location { margin-left: 20px; }
.location h4 em { display: block; /* indoor-outdoor */}
.location p { font-size: 14px; }
.map { margin-top: 30px; }
.map iframe { width: 98%; }


/* VENDORS  =================================================== */
#vendors .flexwrap div { flex-basis: 32.75%; }

#vendors p { margin-top: 6px; }
#vendors p+p { margin: 14px 0 4px 0; }

#vendors ul,
#vendor-signup ul {
	margin-left: 10px;
	list-style-type: unset; }
#vendors li,
#vendor-signup li { padding-left: 4px; }
#vendor-signup li::marker,
#vendors li::marker {
	content: "\25CF";
	padding-left: 1ch; }

#vendor-signup ul { margin: 16px 0 16px 10px; }
#vendor-signup li { margin: 10px 0; }

#about h3,
#sponsor h3,
#vendor-signup h3 { margin: 6px 0 4px; }

#about p,
#sponsor p,
#vendor-signup p { margin-bottom: 16px; }

.photostack {
	display: flex;
	flex-direction: column;
	justify-content: space-between; }
.photostack img { max-width: 100%; }



/* 404 ======================================================== */
.error404 .col {
	width: 49%;
	height: 100%; }
.error404 section {
	width: 100%;
	height: 90%;
	padding: 27px; }
.error404 section h3 a {
	color: #e95e00;
	font-size: 42px;
	line-height: 38px; }





/* ******************************************************************** */
/* RESPONSIVE  */
/* 960 MAX ====================================*/
	/* shiftnav breakpoint  */
@media screen and (max-width: 960px) {

	.shiftnav .shiftnav-menu-title {
		padding: 56px 25px 20px 25px; }
	.shiftnav ul.shiftnav-menu {
		text-align: right;
		margin-right: 10px !important; }
	.fa-remove:before, .fa-close:before, .fa-times:before {
		font-size: 24px; }
	.shiftnav .shiftnav-panel-close { padding: 12px 16px; }
	
	
	li.fa-brands { /* icons */
		display: list-item !important;
		width: 100%;
		margin: 10px 0 0 0;
		font-size: unset;
		line-height: unset;
		text-align: right;
		font-family: "Montserrat", Helvetica, sans-serif; }
	li.fa-brands+li.fa-brands { margin-top: unset; }
	li[class^="fa"] a  {
		display: inline !important;
		text-indent: 0 !important; }
	li.fa-brands a:before,
	.fa-facebook-f:before, .fa-facebook:before,
	.fa-square-instagram:before, .fa-instagram:before { content: unset !important; }


	#home article {	height: 400px; }
	#about .flexwrap,
	#hours .flexwrap,
	#sponsor .flexwrap,
	#vendors .flexwrap,
	#vendor-signup .flexwrap {
		flex-wrap: wrap;
		justify-content: center; }
	#about .flexwrap div,
	#sponsor .flexwrap div,
	#vendors .flexwrap div,
	#vendor-signup .flexwrap div {
		margin-bottom: 30px;
		flex-basis: 100%; }
	#about .flexwrap div:last-child,
	#sponsor .flexwrap div:last-child,
	#vendors .flexwrap div:last-child,
	#vendor-signup .flexwrap div:last-child { margin-bottom: 0; }

	#about article,
	#hours article,
	#become-a-vendor article,
	#sponsor article,
	#vendors article,
	footer { padding: 25px 20px; }

	#hours .market {
		width: 100%;
		margin: 0; }
	#hours .market+.market { margin: 30px 0 0 0; }
	#hours .market h3 { font-size: 20px;}
	#hours .location { width: 100%; }
	#hours .location+.location { margin: 20px 0 0 0; }
	#hours .map { margin-top: 0; }
	
@media all and (max-width: 410px) {
	#contact iframe {
	width: 90%; }
}