/* Global */

	img { 
		max-width: 100%;
		border: none;
	}
	body {
		background: #C8CFC3;
		overflow-x: hidden;
	}

	span {
		white-space:normal;
	}

	:root {
		font-size: 62.5%; /* (62.5/100) * 16px = 10px */
		--font-size--small: 1.4rem; /* 14px */
		--font-size--default: 1.6rem; /* 16px */
		--font-size--large: 2.4rem; /* 24px */		
	}
	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		border: none;
	}

/* Preloader */

#preloader {
	position: fixed;
	height: 100vh;
	width: 100%;
	z-index: 5000;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #293a4d;
	z-index: 10000;
  }

  .preloader_logo {
	  display: block;
	  width: 50%;
	  height: auto;
	  margin: 25vh auto;
  }

/* Navigation */
	.ham_box {
		width: 100%;
		margin: 50px;
		list-style-type: none;
	}
	.ham_activenav a,
	.ham_currentnav a{
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 500;
		font-size: 1.6rem;
		letter-spacing: 0.7px;
		text-decoration: none;
		color: #faf7ee;
		padding: 0px 0px 2px;
		overflow: visible;
		width: auto;
		display: inline;
	}

	.ham_currentnav a {
		border-bottom: 2px solid #cf9948;
	}

	.ham_activenav a {
		border: 0px;
	}

	.nav_bg {
		overflow: visible;
		width: 100%;
		height: 90px;
		display: flex;
    	justify-content: space-between;
		background: none;
		position: absolute;
		top: 0;
		z-index: 50;
	}

	.nav_titleimage {
		visibility: hidden;

	}

	.nav_titleimage {
		width: 175px;
		height: auto;
		margin: 0px 0px 15px 0px;
	}

	.nav_logo{
		position: absolute;
		left: 20px;
		width: 30px;
		height: auto;
		margin: 15px 20px 0px 0px;
		}

	#nav_links {
		visibility: hidden;
	}

	a :hover {
		color: #cf9948;	
		text-decoration: none;
	}

	.body_link {
		text-align: center;
		overflow: visible;
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 1.6rem;
		letter-spacing: 0.7px;
		color: #cf9948;
	}

	.body_link :hover {
		color: #2f4258;	
		text-decoration: none;
	}

/* Header */
	
	#header {
		width: 100%;
		margin: 0px 0px 0px 0px;
		padding: 20px 0px;
		text-align: center;
		background-image: url('/images/headerimage.jpg');
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		margin: 0px;
		height: auto;
		display: flex;
		align-items: center;
		justify-content: space-evenly;
		}
	
	#header_title {
		width: auto;
		height: auto;
		max-height: 140px;
		margin: 20px 0px;
		display: inline-block;
		overflow: visible;
	}

	#header_text {
		overflow: visible;
		display: inline-block;
		margin: 0px;
		padding: 20px 0px;
		height: auto;
		width: 100%;
		background-color: #c8cfc3;
		background: url('/images/topo_bg.jpg') repeat;
		background-size: 600px;
		text-align: center;
		color: rgba(61,59,58,1);
		font-family: 'Averia Serif Libre', cursive;
		text-transform: none;
		font-style: normal;
		font-weight: 400;
		font-size: 1.3rem;
		line-height: 3.0rem;
		letter-spacing: 1px;
	}

	#tagline{
		margin: 15px;
	}



.maincontent {
	text-align: center;
	display: block;
	padding: 25px 0px;
	justify-content: center;
	background-color:#faf7ee;
	background: url('/images/paper_bg.jpg') repeat;
	background-size: 300px
}

.explore {
	background-color: #ffffff77;
	padding: 20px 25px 25px 25px;
	border-radius: 10px;
}

.arrow {
	height: 12px;
}

.backarrow {
	height: 12px;
	margin: 0px 15px 0px 0px;
}

.body_text {
	display: inline-block;
	margin: 20px 20px;
}

h1 { 
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 400;
	text-transform: uppercase;
	font-size: 1.4rem;
	line-height: 1.6rem;
	padding: 20px 0px;
	color: #3D3B3A;
	letter-spacing: 0.7px;

}

h2 { 
	font-family: 'Averia Serif Libre', cursive;
	font-style: normal;
	font-weight: 300;
	text-transform: uppercase;
	font-size: 2.2rem;
	line-height: 2.4rem;
	padding: 0px;
	color: #3D3B3A;
	letter-spacing: 1px;

}

hr {
	border: 0;
	margin: 20px auto 30px auto;
  	clear:both;
	display:block;
	text-align: center;
  	width: 75px;               
  	background-color:#D0A157;
  	height: 2px;
}

.nicefade_index-list hr {
	margin: 20px auto 20px auto;
}

.portfolio_header hr {
	margin-top: 0px;
	margin-bottom: 30px;
}

#services-list hr {
	margin-top: 0px;
	margin-bottom: 10px;
}

p { 
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 2.0rem;
	text-transform: none;
	color: #3D3B3A;
	letter-spacing: 1px;
}

p a {
	color: #D0A157;
	font-family: 'Averia Serif Libre', cursive;
	font-size: 2.0rem;
	line-height: 2.2rem;
	letter-spacing: 1px;
	font-weight: 300;
}

.body_text p {
	margin: 10px auto 0px auto;
}

/* About */
.about_columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: flex-start;
}

.about_header {
	display: inline-block;
	width: 250px;
	margin-left: 50px;
	margin-right: 30px;
}

.about_header .body_text {
	text-align: left;
	margin-left: 0px;
	margin-right: 0px;
}
.about_header p {
	line-height: 2.2rem;
}

#about_image {
	width: 250px;
	margin-top: -10px;
	margin-left: 15px;
}

#about_bg {
	overflow: visible;
	display: inline-block;
	border-radius: 10px;
	margin: 40px 110px 30px 90px;
	padding: 0px;
	height: 175px;
	width: 250px;
	background-color: #293a4d;
	background: url('/images/topo_bg2.jpg') repeat;
	background-size: 600px;
}

#services-list {
	margin-top: 20px;
}

#services-list ul {
	font-family: 'Montserrat', sans-serif;
	width: 250px;
	font-style: normal;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 2.0rem;
	text-transform: none;
	color: #3D3B3A;
	letter-spacing: 1px;
}


/* Portfolio */

	.portfolio {
		width: auto;
		height: auto;
		max-width: 400px;
		max-height: 400px;
		overflow: visible;
		display: inline-block;
		margin: 20px;
	}

	.portfolio_header {
		margin: 0px;
		width: 100%;
	}

	.project {
		width: auto;
		height: auto;
		overflow: visible;
		display: inline-block;
		padding: 0px 30px 20px 30px;
		margin: 0px;
	}

	.portfolio_container {
		width: 95%;
		height: auto;
		margin: 50px auto;
		padding: 10px;
		background-color: #ffffff77;
		border-radius: 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-evenly;
		align-items: flex-start;
	}

	.portfolio_container .body_text {
		text-align: left;
		margin: 0px;
	}

	.subsection_context {
		width: 100%;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 20px;
	}

	.subsection_context .body_text {
		width: 100%;
	}

	.subsection_role.subheader {
		text-align: left;
		width: 140px;
		margin: 0px;
	}

	.subsection_problem.body_text, .subsection_goals.body_text {
		width: auto;
		margin: 20px;
	}

	.subsection_dashboard_menutop {
		text-align: left;
		display: flex;
		justify-content: space-around;
		flex-wrap: wrap;
		width: 100%;
		margin: 10px 0px 0px 0px;
	}

	.subsection_dashboard_menubottom {
		text-align: left;
		display: flex;
		justify-content: space-around;
		flex-wrap: wrap;
		width: 100%;
		margin: 10px 0px 0px 0px;
	}

	.subsection_menu, .subsection_dashboard {
		text-align: left;
		width: auto;
		margin: 0px 20px 0px 20px;
	}

	.subsection_dashboard_menu .body_text {
		width: 100%;
	}

	.subsection_dashboard_menu .subheader {
		width: 100%;
		margin-top: 5px;
		margin-right: 10px;
		margin-left: 20px;
	}

	.subsection_vet, .subsection_invoice, .subsection_animal {
		width: 100%;
		margin: 20px;
	}

	.subheader {
		width: 15%;
		margin: 0px;
		display: inline-block;
	}

	.subheader h1 {
		padding: 0px;
		margin: 0px auto 10px 0px;
	}

	.subheader hr {
		margin: 0px auto 15px 0px;
		width: 50px;
		background-color: #C8CFC3;
	}

	img.screens {
		width: auto;
		height: auto;
		max-width: 200px;
		overflow: visible;
		display: flex;
		float: left;
		margin: 0px;
	}

	.portfolio_container p {
		margin: 0px 0px 30px 0px;
	}

	.portfolio_container ul {
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 1.4rem;
		line-height: 2.4rem;
		text-transform: none;
		color: #3D3B3A;
		letter-spacing: 1px;
		margin-left: 30px;
		margin-bottom: 40px;
	}

	.portfolio_container li{
		padding-bottom: 10px;
	}

/* Contact */
div.elem-group {
	margin: 20px 0;
  }
  
  label {
	display: block;
	text-align: left;
	padding-left: 3px;
	padding-bottom: 4px;
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 500;
	text-transform: none;
	font-size: 1.4rem;
	line-height: 1.6rem;
	color: #3D3B3A;
	letter-spacing: 0.7px;
  }
  
  input, select, textarea {
	background: white;
	font-size: 1.25em;
	font-family: 'Montserrat', sans-serif;
	border-radius: 2px;
	width: 100%;
  	padding: 12px 20px;
  	margin: 8px 0;
	box-sizing: border-box;
	border: 2px solid #3D3B3A11;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	outline: none;
	resize: vertical;
  }

  input#fname, input#lname {
	  width: 48%;
  }
  
  input#fname{
	margin-right: 3%;
  }

  textarea {
	height: 125px;
  }

  input[type=checkbox] {
	flex: none;
	width: auto;
	margin-right: 5px;
  }

  .check_column {
	  display: flex;
	  justify-content: space-between;
	  margin: 10px 5px;
  }

  .check_column2 {
	display: block;
}

  label.check {
	  display: flex;
	  align-items: center;
  }

  label[for=service_selection] {
	margin-bottom: 20px;
  }

  input[type=text]:focus, input[type=email]:focus, textarea:focus {
	border: 2px solid #C8CFC3;
  }
  
  input[type=submit] {
	background-color: #D0A157;
	color: white;
	padding: 12px 20px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
  }
  
  input[type=submit]:hover {
	background-color: #cf9948;
  }
  
.contact_columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: baseline;
}

.contact_header {
	display: inline-block;
	width: 475px;
}

#contact_image {
	width: 350px;
	margin-top: -30px;
	margin-left: 35px;
}

#contact_bg {
	display: none;
}

  #form_box {
	width: 500px;
	display: inline-block;
	border-radius: 5px;
	background-color: #ffffff77;
	padding: 20px;
	margin: 0px 0px 100px 0px;
  }

  .submit_container {
	width: 500px;
	display: block;
	border-radius: 5px;
	background-color: #ffffff77;
	padding: 20px;
	margin: 75px auto 50px auto;
  }


/* Footer */

	#footer {
		width: 100%;

	}

	#footer_mobile {
		background-color: #FAF7EE;
		width: 100%;
		height: 75px;
	}

	#footer_image {
		background-image: url('/images/footer_image.jpg');
		background-repeat: no-repeat;
		background-size: 100%;
		width: 100%;
		height: 200px;
		align-items: center;
		margin: 0px;
	}

	#footer_text {
		filter: drop-shadow(3px 2px 6px rgba(245, 239, 225, 1));
		overflow: visible;
		display: inline-block;
		width: 100%;
		margin: -50px 0px 0px 0px;
		text-align: center;
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 1.2rem;
		color: rgba(61,59,58,1);
		letter-spacing: 0.8px;
		z-index: 5;
	}

	.footer_bg {
		background-color: #c8cfc3;
		background: url('/images/topo_bg.jpg') repeat;
		background-size: 600px;
		overflow: visible;
		text-align: center;
		width: 100%;
		height: 300px;
		margin: 0px;
	}

	#footer_socials {
		margin: 0px;
	}

	#socials {
		width: 195px;
		height: 45px;
		overflow: visible;
	}

	.footer_social_icon {
		width: 30px;
		height: 30px;
		margin: 40px 0px 0px 0px;
	}

	#footer_copy {
		overflow: visible;
		white-space: nowrap;
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 1.2rem;
		color: rgba(61,59,58,1);
		letter-spacing: 0.7px;
	}
	#footer_watermark {
		text-align: center;
	}
	#footer_watermarkimage {
		width: 70px;
		height: auto;
		margin: 35px 0px 30px 0px;
	}

/* Hover Effect */

.hvrbox,
.hvrbox * {
	box-sizing: border-box;
}

.hvrbox {
	position: relative;
	display: inline-block;
	overflow: hidden;
	max-width: 100%;
	height: auto;
}

.hvrbox img {
	max-width: 100%;
}

.hvrbox .hvrbox-layer_bottom {
	display: block;
}

.hvrbox .hvrbox-layer_top {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	background: #2f4258EE;
	color: #faf7ee;
	font-family: 'Montserrat', sans-serif;
	font-size: 2.2rem;
	line-height: 2.4rem;
	padding: 20px;
	-moz-transition: all 0.4s ease-in-out 0s;
	-webkit-transition: all 0.4s ease-in-out 0s;
	-ms-transition: all 0.4s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}

.portfolio a :hover {
	color: #faf7ee;	
	cursor: pointer;
	text-decoration: none;
}

.hvrbox:hover .hvrbox-layer_top,
.hvrbox.active .hvrbox-layer_top
.hvrbox.focus .hvrbox-layer_top {
	opacity: 1;
}

.hvrbox .hvrbox-text {
	text-align: center;
	font-size: 2.2rem;
	padding: 15px;
	width: 100%;
	height: auto;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	-moz-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.hvrbox .hvrbox-text_mobile {
	font-size: 1.4rem;
	border-top: 1px solid rgb(179, 179, 179); /* for old browsers */
	border-top: 1px solid rgba(179, 179, 179, 0.7);
	margin-top: 5px;
	padding-top: 2px;
	display: none;
}

.hvrbox.active .hvrbox-text_mobile {
	display: block;
}


/* Animate Underline */

.underline_container {
    display: inline-block;
	font-family: 'Averia Serif Libre', cursive;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 400;
	font-size: 4.4rem;
	line-height: 4.8rem;
	width: auto;
	color: #FAF7EE;
	letter-spacing: 4px;
  }

  .underline_box.list {
    display: inline-flex;
	width: 275px;
	margin-left: auto;
	margin-right: auto;
    flex-flow: row nowrap;
    align-items: center;
  }
  
  .underline_container .underline_box .hover {
    text-align: center;
    transition: all 0.2s ease-in-out;
    position: relative;
	z-index: 10;
  }

  .explore a {
	  width: auto;
	  font-family: 'Averia Serif Libre', sans-serif;
	  text-decoration: none;
	  font-style: normal;
	  font-weight: 300;
	  font-size: 1.6rem;
	  line-height: 1.6rem;
	  text-transform: none;
	  color: #D0A157;
	  letter-spacing: 1px;
  }
  
  .underline_container .underline_box .hover:before, .underline_container .underline_box .hover:after {
    content: "";
    position: absolute;
    bottom: -10px;
    width: 0px;
    height: 2px;
    margin: 5px 0 0;
    transition: all 0.2s ease-in-out;
    transition-duration: 0.75s;
    opacity: 0;
    background-color: #D0A157;
  }

  .nav_bg .underline_container .underline_box .hover:before, .nav_bg .underline_container .underline_box .hover:after {
    bottom: -5px;
	transition-duration: 0.3s;
  }

  .nicefade_wrapper .underline_container .underline_box .hover:before, .nicefade_wrapper .underline_container .underline_box .hover:after {
    bottom: -2px;
	background-color: #C8CFC3;
	transition-duration: 0.5s;
  }

.underline_container.nicefade_shift .underline_box .hover:before, .underline_container.nicefade_shift .underline_box .hover:after {
    bottom: -2px;
	transition-duration: 0.5s;
  }

  .underline_container .underline_box .hover.hover-out:before {
    left: 50%;
  }
  .underline_container .underline_box .hover.hover-out:after {
    right: 50%;
  }
  .underline_container .underline_box:hover {
    cursor: pointer;
  }
  .underline_container .underline_box:hover .hover:before, .underline_container .underline_box:hover .hover:after {
    width: 100%;
    opacity: 1;
  }
  .underline_container .underline_box:hover .hover.hover-out:before, .underline_container .underline_box:hover .hover.hover-out:after {
    width: 50%;
  }

/* Fade Portfolio */
.list {
	overflow: visible;
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 1.8rem;
	line-height: 2.0rem;
	color: #3D3B3A;
	letter-spacing: 0.7px;
}

#fade_header {
	font-family: 'Averia Serif Libre', cursive;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 400;
	font-size: 2.4rem;
	line-height: 3.2rem;
	color: #FAF7EE;
	letter-spacing: 4px;
	margin: 0px 30px 20px 30px;
}

.clear {
	clear: both;
	display: inline-block;
}

.clear:before,
.clear:after {
	content: " ";
	clear: both;
	display: inline-block;
}

.nicefade_container {
	position: relative;
	display: block;
	margin: auto;
	width: 300px;
	height: 300px;
}

.nicefade_container > * {
	width: 300px;
	height: 300px;
	position: absolute;
	top: 0;
	right: 0;
	border: 0px;
	line-height: 600px;
	text-align: center;
	font-size: 2.0rem;
}

#page-wrap p {
	margin: 15px 0;
}

.nicefade_wrapper {
	margin-top: 0px;
	display: flex;
	align-items: center;
	width: 100%;
	height: 775px;
	margin: 0 auto -50px;
	display: block;
	background-color: #293a4d; /*#253C4E*/
}

.nicefade_container .list {
	display: inline-block;
}

.nicefade_index-list {
	width: 100%;
	display: block;
	margin: 0px auto 30px 0px;
	text-align: center;
}

.nicefade_index-list:after {
	content: " ";
	width: 60%;
	clear: both;
}

.nicefade_index-list .list {
	display: block;
}

.nicefade_index-list a {
	display: inline-block;
	padding: 3px 0px;
	margin: 15px;
	font-weight: bold;
	text-decoration: none;
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.6rem;
	color: #FAF7EE;
	letter-spacing: 2px;
	border-bottom: 2px solid #253C4E;
}

.nicefade_index-list .current a {
	color: #C8CFC3;
	border-bottom: 2px solid #C8CFC3;
}



.buttons {
	margin: 10px auto;
}

.fade_portfolio {
	width: 550px;
	height: auto;
}

.nicefade_shift {
	width: 225px;
	position: relative;
	top: -350px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100;
}

.nicefade_shift a {
	width: auto;
	font-family: 'Averia Serif Libre', sans-serif;
	text-decoration: none;
	font-style: normal;
	font-weight: 300;
	font-size: 1.6rem;
	line-height: 1.6rem;
	text-transform: none;
	color: #D0A157;
	letter-spacing: 1px;
}

/* Hamburger Menu */
button {
    display: inline-block;
    border: none;
    margin: 0;
    text-decoration: none;
    font-size: 1.0rem;
    cursor: pointer;
    text-align: center;
    transition: background 250ms ease-in-out, 
                transform 150ms ease;
    -webkit-appearance: none;
    -moz-appearance: none;
}

  .ham::before {
	content: '';
  	position: fixed;
  /* always keep ham on top of everything */
  z-index: 1000;
  display: block;
  top: 20px;
  right: 25px;
  width: 24px;
  height: 24px;
  border: 0;
  cursor: pointer;
  background-color: transparent;
  /* show the menu image */
  background-size: 100%;
  background-color: #faf7ee;
-webkit-mask: url(https://ljc-dev.github.io/testing0/ham.svg) no-repeat 50% 50%;
-webkit-mask-size: cover;
mask: url(https://ljc-dev.github.io/testing0/ham.svg) no-repeat 50% 50%;
mask-size: cover;
}

.ham {
	position: fixed;
	top: 20px;
	right: 25px;
	width: 24px;
	height: 24px;
	display:inline-block;
	background-color: transparent;
	filter: drop-shadow(0px 0px 2px #3d3b3a77);
  }

  .ham:focus {
	outline: none;
  }

.showClose {
	content: '';
	position: fixed;
	width: 24px;
	height: 24px;
  	background-color: #faf7ee;
    -webkit-mask: url(https://ljc-dev.github.io/testing0/ham-close.svg) no-repeat 50% 50%;
	-webkit-mask-size: cover;
    mask: url(https://ljc-dev.github.io/testing0/ham-close.svg) no-repeat 50% 50%;
	mask-size: cover;
  z-index: 2000;
}



.navbar {
  position: fixed;
  z-index: 500;
  top: 0;
  left: 0;
  background: #2f4258;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  color: white;
  /* hide the menu above the screen by default */
  transform: translateY(-100%);
  /* transition adds a little animation when sliding in and out the menu */
  transition: transform 0.2s ease;
}
.showNav {
  /* show the menu */
  transform: translateY(0);
}

/* Breakpoints at 350px, 400px, 576px, 768px, 992px, and 1200px */

@media screen and (min-width: 350px) {
	#header {
		height: 180px;
	}
	#header_title {
		max-height: 120px;
		margin-bottom: 25px;
	}
	
	#header_text {
		font-size: 1.4rem;
	}

	#tagline{
		margin: 15px;
	}

	#footer_image {
		height: 225px;
	} 
	#footer_text {
		font-size: 1.4rem;
	} 
}

@media screen and (min-width: 400px) {
	h2 { 
		font-size: 2.6rem;
		line-height: 2.8rem;
		padding: 0px 20px;
	}
	
	#header {
		height: 225px;
	}
	#header_title {
		max-height: 120px;
		margin-bottom: 25px;
	}

	#header_text {
		margin: 0px;
	}

	.maincontent {
		margin: 0px;
		padding: 40px 0px;
	}

	.explore {
		background: none;
		padding: 20px;
	}

	.explore p {
		font-size: 1.6rem;
		line-height: 2.0rem;
	}

	.nicefade_shift {
		top: -380px;
	}

	.about_header {
		width: 350px;
		margin-left: 50px;
		margin-right: 30px;
	}

	#services-list ul {
		width: 350px;
	}
}

/* previously <768... max-width: 768 */
@media screen and (min-width: 576px) {
	.ham::before {
		width: 35px;
		height: 35px;
	  }
	
	.ham {
		width: 35px;
		height: 35px;
	}
	
	#header {
		height: 275px;
	}
	#header_title {
		max-height: 150px;
		margin-bottom: 50px;
	}

	#header_text {
		font-size: 2.2rem;
		line-height: 4.8rem;
		letter-spacing: 1px;
	}
	#tagline{
		margin: 25px;
	}

	.explore p {
		font-size: 1.8rem;
		line-height: 2.0rem;
	}

	.nicefade_shift {
		top: -380px;
		left: 50%;
		transform: translateX(-50%);
	}

	.about_header {
		width: 500px;
		margin-left: 50px;
		margin-right: 30px;
	}

	#footer {
		height: 300px;
	} 

	#footer_mobile {
		display: none;
	}

	#footer_image {
		height: 300px;
	} 
	#footer_text {
		font-size: 1.6rem;
		padding: 175px 0px 25px 0px;
	} 
}

/* previously <992... max-width: 992 */
@media screen and (min-width: 768px) {
	.preloader_logo {
		width: 30%;
		margin: 25vh auto;
	}
	
	h2 { 
		font-size: 2.8rem;
		line-height: 3.0rem;
	}

	.nav_logo{
		position: absolute;
		left: 20px;
		width: 60px;
		height: auto;
		margin: 15px 20px 0px 0px;
		}

	.ham::before {
		width: 40px;
		height: 40px;
		}

	.ham {
		width: 40px;
		height: 40px;
	}

	#header {
		height: 300px;
	}

	#header_title {
		max-height: 175px;
	}

	#header_text {
		margin: 0px 0px 0px 0px;
	}

	.maincontent {
		margin: 0px;
	}

	.nicefade_wrapper {
		width: 100%;
		height: 300px;
		margin: 0 auto -50px;
		display: flex;
		justify-content: space-between;
	}

	#fade_header {
		font-size: 3.0rem;
		line-height: 3.4rem;
		margin: 0px 0px 20px 0px;
	}

	.nicefade_index-list {
		width: 60%;
		display: inline-block;
	}

	.nicefade_index-list a {
		font-size: 1.2rem;
		line-height: 1.4rem;
		margin: 10px;
	}

	.nicefade_index-list .list {
		margin-right: 10px;
	}

	.underline_box.list {
		width: auto;
	  }

	.nicefade_container {
		width: 300px;
		height: 300px;
		margin: 0px;
	}

	.fade_portfolio {
		width: 300px;
		height: auto;
	}

	.portfolio {
		margin: 20px 40px 100px 40px;
	}

	.nicefade_shift {
		position: relative;
		top: -25px;
		left: 27%;
		transform: translateX(-27%);
	}

	#about_bg {
		margin: 30px 10px 20px 40px;
	}

	#footer {
		height: 500px;
		margin-top: 4px;
	} 

	#footer_image {
		height: 500px;
	} 

	#footer_text {
		padding: 225px 0px 25px 0px;
	} 
	
	.footer_bg {
		display: flex;
    	justify-content: space-between;
		text-align: left;
		height: auto;
	}

	#footer_copy,
  	#footer_socials,
  	#footer_watermark {
    	position: relative;
    	float: left;
  	}
  	#footer_copy {
		display: flex;
		align-items: flex-end;
		height: auto;
    	width: 40%;
		font-size: 1.2rem;
    	left: -60%;
		margin: 0px;
		padding: 90px 30px 40px 30px;
  	}
  	#footer_socials {
		text-align: right;
		height: auto;
    	width: 40%;
    	left: 60%;
		margin: 0px;
		padding: 60px 60px 40px 40px;
  	}
  	#footer_watermark {
    	width: 20%;

  	}
	.footer_social_icon {
		margin: 0px;
	}
}


/* previously <1200... max-width: 1200 */
@media screen and (min-width: 992px) {
	.preloader_logo {
		width: 20%;
		margin: 25vh auto;
	}
	
	#nav_title{
		width: 175px;
		height: 50px;
		margin: 20px 75px 15px 30px;
		display: flex;
		align-items: center;
	}
	
	.nav_titleimage {
		visibility: visible;
	}

	.nav_logo{
		position: static;
	}
	
	#nav_links {
		visibility: visible;
		width: auto;
		height: 25px;
		text-align: right;
		margin: 45px 0px 20px 43px;
		overflow: visible;
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 500;
		font-size: 1.2rem;
		line-height: 1.9rem;
		letter-spacing: 0.7px;
	}

	.currentnav {
		border-bottom: 2px solid #cf9948;
    	padding: 0px 0px 2px;
		margin: 0px 20px 0px 0px;
		overflow: visible;
		display: inline-block;
		white-space: nowrap;
		text-align: left;
	}
	
	.activenav {
		color: #f5efe1;
		text-decoration: none;
		overflow: visible;
		display: inline-block;
		margin: 0px 20px 0px 0px;
		white-space: nowrap;
		text-align: left;
	}
	.activenav a {
		color: #f5efe1;
		text-decoration: none;
	}

	.currentnav a{
		color: #f5efe1;
		text-decoration: none;
	}

	#hamburger {
		display: none;
	}
	
	#nav_title{
		width: 312px;
		height: 110px;
		margin: 10px 0px 10px 30px;
	}
	.nav_logo{
		width: 80px;
	}
	.activenav {
		margin: 0px 40px 0px 0px;
	}
	.currentnav {
		margin: 0px 40px 0px 0px;
	}
	#header {
		height: 400px;
	}
	#header_title {
		max-height: 225px;
		margin-bottom: 20px;
	}

	.nicefade_wrapper {
		height: 400px;

	}

	#fade_header {
		font-size: 3.2rem;
		line-height: 3.4rem;
		margin: 0px 0px 20px 0px;
	}

	.nicefade_index-list a {
		font-size: 1.4rem;
		line-height: 1.6rem;
		margin: 10px;
	}

	.nicefade_container {
		width: 450px;
		height: 400px;
	}

	.fade_portfolio {
		width: 400px;
		height: auto;
	}

	#contact_bg {
		overflow: visible;
		display: inline-block;
		border-radius: 10px;
		margin: 50px 40px 0px 0px;
		padding: 0px;
		height: 466px;
		width: 350px;
		background-color: #c8cfc3;
		background: url('/images/topo_bg2.jpg') repeat;
		background-size: 600px;
	}

	#about_image {
		width: 500px;
		margin-top: -30px;
		margin-left: 35px;
	}

	#about_bg {
		overflow: visible;
		display: inline-block;
		border-radius: 10px;
		margin: 50px 20px 50px 30px;
		padding: 0px;
		height: 333px;
		width: 500px;
		background-color: #cf9948;
		background: url('/images/topo_bg2.jpg') repeat;
		background-size: 600px;
	}

	#footer {
		height: 550px;
	} 
	#footer_image {
		height: 550px;
	} 
	#footer_text {
		font-size: 2.4rem;
		padding: 275px 0px 35px 0px;
	} 

}
/* previously main css */
@media screen and (min-width: 1200px) {
	#nav_title{
		width: 337px;
	}
	
	.nav_logo{
		width: 90px;
	}
	#nav_links {
		margin: 40px 0px 20px 25px;
		font-size: 1.4rem;
	}
	#header {
		height: 575px;
		background-image: none;
	}

	#header_title {
		max-width: 407px;
		max-height: 350px;
	}

	.maincontent {
		margin: 0px 0px 0px 0px;
		padding: 50px 0px 50px 0px;
	}

	.nicefade_shift {
		top: -40px;
		left: 30%;
		transform: translateX(-30%);
	}

	/*Portfolio*/

	.portfolio {
		width: auto;
		height: auto;
		max-width: 400px;
		max-height: 400px;
		overflow: visible;
		display: inline-block;
		margin: 20px;
	}

	.portfolio_header {
		margin: 0px;
		width: 100%;
	}

	.portfolio_header hr {
		margin-bottom: 30px;
	}

	.project {
		width: auto;
		height: auto;
		overflow: visible;
		display: inline-block;
		padding: 0px 20px 40px 20px;
		margin: 0px;
	}

	.portfolio_container {
		width: 80%;
		height: auto;
		margin: 50px auto;
		padding: 50px;
		background-color: #ffffff77;
		border-radius: 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-evenly;
		align-items: flex-start;
	}

	.portfolio_container .body_text {
		text-align: left;
		margin: 0px;
	}

	.subsection_context {
		width: 70%;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 0px;
	}

	.subsection_context .body_text {
		width: 70%;
		margin-right: 10px;
	}

	.subsection_role.subheader {
		text-align: left;
		width: 140px;
		margin: 0px;
	}

	.subsection_problem, .subsection_goals {
		width: 100%;
	}

	.subsection_dashboard_menutop {
		text-align: left;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		width: 100%;
		margin: 50px 0px 0px 0px;
	}

	.subsection_dashboard_menubottom {
		text-align: right;
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
		width: 100%;
		margin: 50px 0px 0px 0px;
	}

	.subsection_menu, .subsection_dashboard {
		text-align: left;
		width: 70%;
		margin: 0px 0px 0px 0px;
	}

	.subsection_dashboard_menu .body_text {
		width: 100%;
	}

	.subsection_dashboard_menu .subheader {
		width: 100%;
		margin-top: 5px;
		margin-right: 10px;
		margin-left: 20px;
	}

	.subsection_vet, .subsection_invoice, .subsection_animal {
		width: 30%;
		margin: 0px;
	}

	.subheader {
		width: 15%;
		margin: 0px;
		display: inline-block;
	}

	.subheader h1 {
		padding: 0px;
		margin: 0px auto 10px 0px;
	}

	.subheader hr {
		margin: 0px auto 15px 0px;
		width: 50px;
		background-color: #C8CFC3;
	}

	img.screens {
		width: auto;
		height: auto;
		max-width: 200px;
		overflow: visible;
		display: flex;
		float: left;
		margin: 0px;
	}

	.portfolio_container p {
		margin: 0px 0px 30px 0px;
	}

	.portfolio_container ul {
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 1.4rem;
		line-height: 2.4rem;
		text-transform: none;
		color: #3D3B3A;
		letter-spacing: 1px;
		margin-left: 30px;
		margin-bottom: 40px;
	}

	.portfolio_container li{
		padding-bottom: 10px;
	}

	#footer {
		height: 100px;
	} 

	#footer_image {
		background-image: none;
		height: 200px;
	}

	#footer_text {
		padding: 425px 0px 0px 0px;
	} 

	.footer_bg {
		margin: 90px 0px 0px 0px;
	}

	#footer_copy {
		font-size: 1.4rem;
	}

	#footer_socials {
		padding: 85px 120px 35px 40px;
  	}

  /* Parallax */
.wrapper {
	/* The height needs to be set to a fixed value for the effect to work.
	 * 100vh is the full height of the viewport. */
	height: 100vh;
	/* The scaling of the images would add a horizontal scrollbar, so disable x overflow. */
	overflow-x: hidden;
	/* Enable scrolling on the page. */
	overflow-y: auto;
	/* Set the perspective to 2px. This is essentailly the simulated distance from the viewport to transformed objects.*/
	perspective: 2px;
  }
  
  .section1 {
	/* Needed for children to be absolutely positioned relative to the parent. */
	position: relative;
	/* The height of the container. Must be set, but it doesn't really matter what the value is. */
	height: 90vh;
	min-height: 500px;
	max-height: 900px;
	display: flex;
	align-items: center;
	justify-content: space-evenly;
  }

  .section2 {
	/* Needed for children to be absolutely positioned relative to the parent. */
	position: relative;
	/* The height of the container. Must be set, but it doesn't really matter what the value is. */
	height: 85vh;
	min-height: 500px;
	max-height: 800px;
	margin-top: -150px;
	background-size: contain;
	
  }
  
  .parallax1::after {
	content: " ";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
  
	/* Move the pseudo-element back away from the camera,
	 * then scale it back up to fill the viewport.
	 * Because the pseudo-element is further away, it appears to move more slowly, like in real life. */
	transform: translateZ(-0.6px) scale(1.34);
	/* Force the background image to fill the whole element. */
	background-size: cover;
	background-position: top center;
	transform-origin: center;
	/* Keep the image from overlapping sibling elements. */
	z-index: -1;
  }

  .parallax2::after {
	content: " ";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
  
	/* Move the pseudo-element back away from the camera,
	 * then scale it back up to fill the viewport.
	 * Because the pseudo-element is further away, it appears to move more slowly, like in real life. */
	transform: translateZ(-0.8px) scale(1.6);
	/* Force the background image to fill the whole element. */
	background-size: cover;
	/* Keep the image from overlapping sibling elements. */
	z-index: -1;
  }
  
  .bg1::after {
	background-image: url("/images/headerimage.jpg");
	background-position: center;
  }
  
  .bg2::after {
	background-image: url("/images/footer_image.jpg");
  }
  
}
 


@media screen and (min-width: 1440px) {
	#nav_title{
		width: 400px;
	}

	.nav_titleimage {
		width: 200px;
	}

	.nav_logo{
		width: 90px;
	}
	#nav_links {
		margin: 40px 0px 20px 25px;
	}
	#header {
		height: auto;
		display: flex;
		align-items: center;
		justify-content: space-evenly;
		background-image: none;
	}

	#header_title {
		max-width: 407px;
		max-height: 350px;
		margin-bottom: 50px;
	}

	.project {
		padding: 0px 30px 40px 30px;
	}

	.subsection_context .body_text {
		width: 75%;
		margin-right: 20px;
	}

	#footer_text {
		padding: 475px 0px 0px 0px;
	} 
}

@media screen and (min-width: 1900px) {
	#nav_title{
		width: 600px;
	}
	.nav_logo{
		width: 90px;
	}

	.nav_titleimage {
		width: 300px;
	}

	#nav_links {
		font-size: 1.8rem;
	}

	#header {
		height: 575px;
		background-image: none;
	}

	#header_title {
		max-width: 407px;
		max-height: 350px;
	}

	#header_text {
		font-size: 2.8rem;
		line-height: 5.2rem;
		padding: 50px 0px;
	}

	.explore {
		margin: 20px 75px;
	}

	.maincontent {
		margin: 0px 0px 0px 0px;
		padding: 50px 0px 50px 0px;
	}

	h1 {
		font-size: 2.0rem;
		line-height: 2.2rem;
	}

	h2 {
		font-size: 3.2rem;
		line-height: 3.4rem;
	}

	.explore p {
		font-size: 2.0rem;
		line-height: 2.2rem;
	}

	.explore a {
		font-size: 2.0rem;
		line-height: 2.2rem;
	}

	.nicefade_wrapper {
		height: 600px;

	}

	#fade_header {
		font-size: 5.6rem;
		line-height: 6.0rem;
	}

	.nicefade_index-list a {
		padding: 3px 0px;
		margin: 15px;
		font-weight: 400;
		font-size: 2.0rem;
		line-height: 2.4rem;
	}

	.nicefade_container {
		width: 650px;
		height: 600px;
	}

	.fade_portfolio {
		width: 600px;
		height: auto;
	}

	#footer {
		height: 100px;
	} 

	#footer_text {
		padding: 500px 0px 0px 0px;
	} 
}