/*
==============================================================================================================================
==============================================================================================================================
============================================         Generic Base Styles         =============================================
==============================================================================================================================
==============================================================================================================================
*/

html {
	width: 100%;
	height: 100%;
}

body {
	width: 100%;
	height: 100%;
	font-family: "adobe-caslon-pro",sans-serif;
	font-style: normal;
	font-weight: 500;
	/* background-color: #ECECEC; */
}

h1, h2, h3, h4 {
	font-family: "adobe-caslon-pro",sans-serif;
	font-style: oblique;
	font-weight: 500;
	margin: 0;
}

p, pre {
	padding: 10px 0 0;
	margin: 0;
	font-size: 0.8em;
	line-height: 2;
	font-family: "adobe-caslon-pro",sans-serif;
	font-style: normal;
	font-weight: 500;
}

a {
	text-decoration: none;
	color: black;
	cursor: pointer;
  border-bottom: 1px solid black;
}

a.none {
  border-bottom: none;
}

a:hover {
	text-decoration: none;
}


img {
	max-width: 100%;
}

.bold {
	font-weight: bold;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

ul {
	list-style-type: none;
}

/*
==============================================================================================================================
==============================================================================================================================
==========================================         Pure CSS Specific Styles         ==========================================
==============================================================================================================================
==============================================================================================================================
*/

.pure-g {
	letter-spacing: normal;
}

.pure-g > div {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.pure-u-1-1 { float: left; }

/*
==============================================================================================================================
==============================================================================================================================
=============================================         Navigation Styles          =============================================
==============================================================================================================================
==============================================================================================================================
*/

nav {
    display: none;
}

nav ul {
    display: table-cell;
    margin: 0;
    padding: 0;
}

nav ul li {
    padding: 0 30px;
    margin: 0 30px;
    float: left;
}

.header-nav {
	display: none;
	padding: 0;
}

.header-nav,
.header-nav-right {
	font-weight: 500;
}

.header-nav .current {
  text-decoration: underline;
}

/* This is the parent `<div>` that contains the menu and the content area. */

#layout {
  /* display: none; */
  position: relative;
  height: 100%;
  box-sizing: border-box;
}

#layout.active {
	position: relative;
}

#layout.active #menu {
	left: 200px;
	width: 100%;
}

#layout.active .menu-link {
	left: 200px;
}

/* The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that appears on the left side of the page. */

#menu {
	margin-left: -200px; /* "#menu" width */
	width: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1000; /* so the menu or its navicon stays above all content */
    background-color: white;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
	height: 2000px;
	transition: .5s;
}

/* All anchors inside the menu should be styled like this. */

#menu a {
	color: black;
	border: none;
	text-transform: uppercase;
}

/* Remove all background/borders, since we are applying them to #menu. */

#menu .pure-menu,
#menu .pure-menu ul {
	border: none;
	background: transparent;
}

/* Add that light border to separate items into groups. */

#menu .pure-menu ul,
#menu .pure-menu .menu-item-divided {
	font-size: 11px;
	text-transform: uppercase;
}

#menu .pure-menu li.current {
	font-weight: bold;
}

#menu .pure-menu li {
	padding: 0;
	font-size: 2em;
	text-align: right;
	font-family: "adobe-caslon-pro",serif;
	font-style: normal;
	font-weight: 300;
	padding: 8px 20px;
}

#menu .pure-menu li a {

}

#menu .pure-menu li.last {
	border: none;
}

#menu .pure-menu li.child {
	border-bottom: 1px dotted white;
	margin: 15px 1em 15px 2.5em;
}

/* Change color of the anchor links on hover/focus. */
#menu .pure-menu li a:hover,
#menu .pure-menu li a:focus {
	background: white;
	color: #c3c3c3;
}

/* This styles the selected menu item `<li>`. */
#menu .pure-menu-selected,
#menu .pure-menu-heading {
	background: #1f8dd6;
}

/* This styles a link within a selected menu item `<li>`. */
#menu .pure-menu-selected a {
	color: #fff;
}

/* This styles the menu heading. */
#menu .pure-menu-heading {
	font-size: 110%;
	color: #fff;
	margin: 0;
}

/* -- Dynamic Button For Responsive Menu -------------------------------------*/

/* Nav Toggle */

#nav-toggle {
	cursor: pointer;
	padding: 11px 35px 16px 0px;
	margin: 1.5em 1.5em;
	float: left;
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
	cursor: pointer;
	border-radius: 1px;
	height: 5px;
	width: 35px;
	background-color: rgb(109,110,113);
	position: absolute;
	display: block;
	content: '';
	z-index: 9999;
}

#nav-toggle span:before {
	top: -10px;
}

#nav-toggle span:after {
	bottom: -10px;
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
	transition: all 500ms ease-in-out;
	-webkit-transition: all 500ms ease-in-out;
}

#nav-toggle.active span {
	background-color: transparent;
}
#nav-toggle.active span:before,
#nav-toggle.active span:after {
	top: 0;
	background-color: rgb(230,0,35);
}

#nav-toggle.active span:before {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#nav-toggle.active span:after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

/*
==============================================================================================================================
==============================================================================================================================
================================================         Form Styles          ================================================
==============================================================================================================================
==============================================================================================================================
*/

form { margin: 1em; }
form ul { margin: 5px 0 5px 0; padding: 0; }
form ul li { list-style: none; }
form .help-inline { font-size: 11px; }
fieldset { border: 1px solid rgba(0, 0, 0, 0.2); margin: 5px 0 15px 0; padding: 25px; }

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; font-size: 12px; font-weight: bold; }
legend { border: 0; padding: 0; margin-left: 5px; font-size: 18px; font-weight: bold; }

button, input, select, textarea { font-size: 13px; margin: 0; vertical-align: baseline;
*vertical-align: middle; margin: 5px 0 5px 0; }

button,
input[type="reset"],
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  background: #dddddd;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#dddddd));
  background-image: -moz-linear-gradient(#ffffff, #dddddd);
  background-image: -ms-linear-gradient(#ffffff, #dddddd);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #dddddd));
  background-image: -webkit-linear-gradient(#ffffff, #dddddd);
  background-image: -o-linear-gradient(#ffffff, #dddddd);
  background-image: linear-gradient(#ffffff, #dddddd);
  border: 1px solid;
  border-color: #dddddd #bbbbbb #999999;
  cursor: pointer;
  color: #333333;
  font: bold 12px/1.3 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif;
  outline: 0;
  overflow: visible;
  padding: 0.7em;
  text-shadow: #ffffff 0 1px 1px;
  width: auto;
}

button:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: #ffffff;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#dddddd), to(#ffffff));
  background-image: -moz-linear-gradient(#dddddd, #ffffff);
  background-image: -ms-linear-gradient(#dddddd, #ffffff);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dddddd), color-stop(100%, #ffffff));
  background-image: -webkit-linear-gradient(#dddddd, #ffffff);
  background-image: -o-linear-gradient(#dddddd, #ffffff);
  background-image: linear-gradient(#dddddd, #ffffff);
  border: 1px solid;
  border-color: #999999 #bbbbbb #dddddd;
  -webkit-transition: 250ms linear all;
  -moz-transition: 250ms linear all;
  transition: 250ms linear all;
}

input[type="text"],
input[type="password"] {
	width: 90%;
	padding: 0.7em;
	background-image: linear-gradient(to right, #333 40%, rgba(255, 255, 255, 0) 20%);
	background-position: bottom;
	background-size: 3px 1px;
	background-repeat: repeat-x;
	border: 0;
	margin: 10px;
}

input[type="file"] {
	width: 100%;
	padding: 5px;
	border: 1px solid rgba(0, 0, 0, 0.2);
}

textarea {
	width: 90%;
	padding: 0.7em;
	min-height: 100px;
	border: 1px solid #c3c3c3;
	margin: 10px;
}

input.error {
	border: 1px solid #ff0000;
}

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

/*
==============================================================================================================================
==============================================================================================================================
======================================         CSS Loader Styles and Keyframes          ======================================
==============================================================================================================================
==============================================================================================================================
*/

.cssload-loader {
	display: none;
	margin-top: 25%;
	position: relative;
	width: 12px;
	height: 12px;
	left: 46%;
	left: calc(50% - 6px);
		left: -o-calc(50% - 6px);
		left: -ms-calc(50% - 6px);
		left: -webkit-calc(50% - 6px);
		left: -moz-calc(50% - 6px);
	border-radius: 12px;
	background-color: rgb(242,51,51);
	transform-origin:	50% 50%;
		-o-transform-origin:	50% 50%;
		-ms-transform-origin:	50% 50%;
		-webkit-transform-origin:	50% 50%;
		-moz-transform-origin:	50% 50%;
	animation: cssload-loader 1.15s ease-in-out infinite;
		-o-animation: cssload-loader 1.15s ease-in-out infinite;
		-ms-animation: cssload-loader 1.15s ease-in-out infinite;
		-webkit-animation: cssload-loader 1.15s ease-in-out infinite;
		-moz-animation: cssload-loader 1.15s ease-in-out infinite;
}

.cssload-loader:before {
	content: "";
	position: absolute;
	background-color: rgb(242,51,51);
	top: 0px;
	left: -24px;
	height: 12px;
	width: 12px;
	border-radius: 12px;
}

.cssload-loader:after {
	content: "";
	position: absolute;
	background-color: rgb(242,51,51);
	top: 0px;
	left: 24px;
	height: 12px;
	width: 12px;
	border-radius: 12px;
}

@keyframes cssload-loader{
		0%{transform:rotate(0deg);}
		50%{transform:rotate(180deg);}
		100%{transform:rotate(180deg);}
}

@-o-keyframes cssload-loader{
		0%{-o-transform:rotate(0deg);}
		50%{-o-transform:rotate(180deg);}
		100%{-o-transform:rotate(180deg);}
}

@-ms-keyframes cssload-loader{
		0%{-ms-transform:rotate(0deg);}
		50%{-ms-transform:rotate(180deg);}
		100%{-ms-transform:rotate(180deg);}
}

@-webkit-keyframes cssload-loader{
		0%{-webkit-transform:rotate(0deg);}
		50%{-webkit-transform:rotate(180deg);}
		100%{-webkit-transform:rotate(180deg);}
}

@-moz-keyframes cssload-loader{
		0%{-moz-transform:rotate(0deg);}
		50%{-moz-transform:rotate(180deg);}
		100%{-moz-transform:rotate(180deg);}
}

/*
==============================================================================================================================
==============================================================================================================================
======================================         Slaughterhaus Specific Styles          ========================================
==============================================================================================================================
==============================================================================================================================
*/

.hidden {
  display: none;
}

.social-icon {
  max-width: 25px;
  padding-top: calc(1rem + 30px);
  text-align: right;
  margin-left: 0.75rem;
  float: right;
}

h1 {
	padding-top: 20px;
}

.page-content {
	height: 100%;
  padding: 1.5em;
}

img.header-logo {
	max-width: 200px ;
	float: right;
	padding: 1em 2em 0;
	/*max-width: 80%;*/
}

.header-nav li {
	float: left;
	padding: 30px 0;
	margin-right: 40px;
	font-family: "adobe-caslon-pro",serif;
	font-style: normal;
	font-weight: 300;
}


.border-left,
.border-center,
.border-right {
	display: none;
	width: 90%;
	height: 1px;
	background-color: black;
	margin-top: 25px;
}

.border-left {
	margin-right: 10%;
}

.border-center {
	margin-left: 5%;
	margin-right: 5%;
}

.border-right {
	margin-left: 10%;
}

.contact-box {
	min-height: 180px
}

.footer {
	height: 30px;
}

.project-box {
	margin: 0 5%;
}

.project-box h2 {
	font-size: 1.2em;
	line-height: 2em;
  margin-top: 1rem;
}

.project-box p {
	font-size: 0.8em;
	line-height: 1em;
}

img.lazy {
  display: none;
}

img.project-image {
  display: none;
  /*visibility: hidden;*/
  position: absolute;
  right: 0;
  width: 50%;
  z-index: -999999;
  opacity: 0;
	top: 120px;
  transition: opacity 100ms;
}

.project_gallery_image {
	margin-top: 20px;
}

.project_gallery_image img {
	width: 1920px;
	max-width: 100%;
}

.project {
    min-height: 200px;
}

.hold-container {
	height: calc(100% - 3rem);

	display: flex;
	display: -webkit-flex;
	flex-direction: column;
	-webkit-flex-direction: column;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: flex-start;
	-webkit-align-items: flex-start;
	align-content: flex-start;
	-webkit-align-content: flex-start;

	position: absolute;
    top: 1.5rem;
    z-index: 999999;
    padding-bottom: 1rem;
    box-sizing: border-box;

  width: calc(100% - 3rem);
}

.hold-container p {
	font-size: 2rem;
}

.hold-container img {
	padding: 0;
	margin: 0;
	float: none;
}

.flexslider {
	display: flex;
	display: -webkit-flex;
	flex-direction: column;
	-webkit-flex-direction: column;
	align-content: center;
	-webkit-align-content: center;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;

	height: calc(100vh - 3rem);
  width: 66%;
  margin-left: auto;
  margin-right: auto;
	background-color: transparent;
}

.flexslider .slides {
	max-width: 100%;
  max-height: 100%;
    text-align: center;
	margin: auto;
	overflow-y: hidden;
}

.flexslider .slides li,
.flexslider .slides li img {
  object-fit: contain;
  height: calc(100vh - 2rem);
}

#default {
  height: calc(100% - 4rem);
  width: 100%;
}

.page-chunk-pad {
  height: 100%;
  width: 100%;
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.row-flex {
  width: 100%;
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.row-flex p {
  font-size: 1.5rem;
  line-height: auto;
}


/*
==============================================================================================================================
==============================================================================================================================
=============================================         Responsive Styles          =============================================
==============================================================================================================================
==============================================================================================================================
*/

@media (min-width: 568px) {

}

@media (min-width: 768px) {
  .hold-container p {
    font-size: 4rem;
    line-height: 1;
  }
  .row-flex {
    flex-direction: row;
    -webkit-flex-direction: row;
  }
  .row-flex p {
    font-size: 1rem;
    line-height: 1.5;
  }

	.mobile-nav {
		display: none;
	}

	.header-nav {
		display: block;
	}

	.page-content {
		padding: 0;
	}

	.border-left,
	.border-center,
	.border-right {
		display: block;
	}

	#layout {
		padding: 1em;
	}

	img.header-logo {
		padding: 2em 0 0;
	}

	.information-box-left,
	.information-box-center,
	.information-box-right {
		width: 90%;
		min-height: 725px;
	}

	.information-box-right {
		margin-right: 10%;
	}

	.information-box-center {
		margin-left: 5%;
		margin-right: 5%;
	}

	.information-box-right {
		margin-left: 10%;
	}

	.project:hover img {
		display: block;
	}

	.project-box-left,
	.project-box-center,
	.project-box-right {
		width: 90%;
		min-height: 160px;
	}

	.project-box-right {
		margin-right: 10%;
	}

	.project-box-center {
		margin-left: 5%;
		margin-right: 5%;
	}

	.project-box-right {
		margin-left: 10%;
	}

}

@media (min-width: 1024px) {
	.information-box-left,
	.information-box-center,
	.information-box-right {
		width: 90%;
		min-height: 600px;
	}
}

@media (min-width: 1280px) {

}