/*CORE*/
* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

body,html {
	font-size: 14px;
}

.skip-main {
	left:-999px;
    position:absolute;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    z-index:-999;
}

/*LAYOUT*/
.align-left {
	float: left;
}

.align-right {
	float: right;
}

.align-middle {
	display: inline-block;
	vertical-align: middle;
}

.container {
	padding-left: 20px;
	padding-right: 20px;
	max-width: 1000px;
	width: 100%;
}

.container.constrained,
.container.contstrained {
	max-width: 850px;
}
.container .narrow {
	max-width: 550px;
	margin-left: auto;
	margin-right: auto;
}
.container.narrow {
	max-width: 700px;
}

.full-width {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.grid {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.grid.align-right {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.grid.align-bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.grid.align-center {
  -webkit-justify-content: center;
  justify-content: center;
}
.grid.align-middle {
  -webkit-align-items: center;
  align-items: center;
}
.grid.pad-all {
  margin-left: -20px !important;
  margin-right: -20px !important;
}

.grid.pad-all-thin {
  margin-left: -10px !important;
  margin-right: -10px !important;
}

.grid .tile {
	box-sizing: border-box;
	display: inline-block;
	position: relative;
	vertical-align: top;
	width: 100%;
}

.grid.pad-all > .tile {
	padding-left: 40px;
	padding-right: 40px;
}

.grid.pad-all-thin > .tile {
	padding-left: 10px;
	padding-right: 10px;
}

.grid.stack-all > .tile {
	margin-top: 35px !important;
}

.grid .tile.align-middle {
	vertical-align: middle;
}

.hidden {
	display: none !important; 
}

.inline {
	display: inline;
}

.inline-block {
	display: inline-block;
}

.navigation-menu {
	display: inline-block;
	vertical-align: middle;
}

.navigation-menu ul {
	display: inline-block;
	position: relative;
	width: 100%;
}

.navigation-menu ul li {
	display: inline-block; 
	position: relative;
}

.navigation-menu ul li ul {
	display: none;
	padding-top: 0;
	opacity: 0;
	position: absolute;
	top: 100%;
	left: 0;
	text-align: left;
	width: 150px;
}

.navigation-menu ul li:hover ul {
	display: block;
}

.overlay {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 100%;
}

.page-wrapper {
	overflow: hidden;
}

.primary-content {
	padding: 60px 0;
	position: relative;
}


.primary-content.short {
	padding: 40px 0;
	position: relative;
}


.primary-content:after {
	content: '';
	display: block;
	clear: both;
}

.post-preview {
	padding: 25px 0;
	margin-bottom: 0;
}

.post-preview + .post-preview {
	border-top: 1px solid #E6E6E6;
}

.spacer {
	margin-top: 35px !important;
}

.spacer-tall {
	margin-top: 65px !important;
}

.spacer-bottom {
	margin-bottom: 35px !important;
}

/*TYPOGRAPHY*/
.all-caps {
	text-transform: uppercase;
}

.large {
	font-size: 1.2em;
}

.text-normal {
	text-transform: none;
}

h1,h2,h3,h4,h5,h6 {
	line-height: 1.2em;	
}

.paragraph {
	font-size: 16px;
	line-height: 1.6em;
	-webkit-font-smoothing: antialiased;
}

.paragraph.small {
	font-size: 14px;
}

.paragraph ol {
	list-style: decimal;
	margin-left: 20px;
	padding-left: 20px;
}

.paragraph ul {
	list-style: disc;
	margin-left: 20px;
	padding-left: 20px;
}

.paragraph > * + *,
.woocommerce .col-1 > * + *, 
.woocommerce .col-2 > * + * {
	margin-top: 20px;
}

.paragraph.short > * + * {
	margin-top: 5px;
}

.paragraph > *.flush-bottom + * {
	margin-top: 2px;
}

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

/*COMPONENTS*/
img.aligncenter {
	display: block;
	margin: auto;
}

form textarea,
form input[type=text],
form input[type=search],
form input[type=email],
form input[type=number],
form input[type=password],
form input[type=tel] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-border-radius: 0px;
	        border-radius: 0px;
	background: #fff;
	border: 0px solid;
	box-sizing: border-box;
	font-size: 1em;
	height: 28px;
	outline: none;
	padding: 8px 15px;
	width: 100%;
}

.button, a.button, input[type=button],
form input[type=submit], button {
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	    display: inline-block;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    user-select: none;
    border: 3px solid transparent;
    padding: .5rem 1rem;
    font-size: .9rem;
    line-height: 1.5;
    border-radius: 4px;
    appearance: none;
    outline: none;
    color: #fff;
    background-color: #f04923;
    border-color: #f04923;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.button.ghost {
	border-color: #fff;
}

input.button.ghost:hover,
button.button.ghost:hover,
a.button.ghost:hover {
	background-color: #fff;
	color: #f04923;
}

.button.white {
	background-color: #fff;
	border-color: #fff;
	color: #f04923;
}

.button.white:hover {
	background-color: #f2f2f2;
}

form textarea {
	max-height: 200px;
}

@media only screen and (min-width: 769px) {
	.hide-desktop {
		display: none !important;
	}
}

@media only screen and (max-width: 768px) {
	.hide-tablet {
		display: none;
	}
}

@media only screen and (min-width: 768px) {
	.grid.pull-right {
		-webkit-flex-direction: row-reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
	}

	.grid .tile.left {
		padding-right: 15px;
	}

	.grid .tile.right {
		padding-left: 15px;
	}

	.grid .tile.onehalf {
		width: 50%;
	}

	.grid .tile.onequarter {
		width: 25%;
	}

	.grid .tile.threequarters {
		width: 75%;
	}

	.grid .tile.onefifth {
		width: 20%;
	}

	.grid .tile.onesixth {
		width: 16%;
	}

	.grid .tile.onethird {
		width: 33.33%;
	}

	.grid .tile.twothirds {
		width: 66.66%;
	}

	img.alignright {
		margin-left: 15px;
		margin-bottom: 15px;
		float: right;
	}

	img.alignleft {
		float: left;
		margin-right: 15px;
		margin-bottom: 15px;
	}

	.primary-content.tall {
		padding: 100px 0;
	}

	.show-mobile {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	.grid .tile.right,
	.grid .tile.left {
		padding-left: 0;
		padding-right: 0;
	}

	.grid.stack > .tile + .tile {
		margin-top: 35px;
	}

	.grid .tile.mobile-onehalf {
		width: 50%;
		margin-top: 0;
	}

	.grid .tile.mobile-onethird {
		width: 33.3%;
		margin-top: 0;
	}
	.grid .tile.mobile-twothirds {
		width: 66.6%;
		margin-top: 0;
	}

	.hide-mobile {
		display: none;
	}

	.mobile-text-center {
		text-align: center;
	}

	.mobile-text-right {
		text-align: right;
	}
}