/* Calming Landing Pages CSS Document */
/* This was created by Jon Gallup - FoodScience Corporation - August 2017 - jgallup@foodsciencecorp.com (,) jongallup@msn.com */

/* Main */
:root {
	--vetriscience-green: #94D500;
}
html {
	height: 100%;
}
body {
	margin: 0;
	padding: 0;
	font-family: Proxima Nova, Arial, sans-serif;
	font-size: 16px;
	color: #000;
}
h1, h2, h3, h4, h5, h6 {
	padding: 0;
	margin: 0;
}
img {
	max-width: 100%;
	height: auto;
}
header, nav, section, footer, .copyright {
	width: 1200px;
	margin: 0 auto;
}
.t_body {
	line-height: 1.6em;
	padding: 20px 0;
	margin: 0;
	font-size: 20px;
}

/* Header & Top Wrapper */
.top_wrapper {
	display: block;
	position: relative;
	width: 100%;
	margin: 40px 0;
	background-image: url('../images/GIH_HeroImage.jpg');
	background-repeat: no-repeat;
	margin-top: 0;
	background-position: top center;
}
nav ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0;
	margin: 0;
	list-style-type: none;
}
nav ul li {
	padding: 10px 20px;
}
nav ul li.logo {
	padding-left: 0;
	margin-right: auto;
}
nav ul li.mobile_button {
	display: none;
	margin-left: auto;
	margin-right: 20px;
}
nav ul li a {
	font-family: Proxima Nova, Arial Bold, sans-serif;
	color: #FFF;
	font-weight: bold;
	font-size: 12px;
	text-decoration: none;
	text-transform: uppercase;
}
nav ul li.reg a {
	background-color: #FFF;
	color: #000;
	padding: 5px 10px;
	display: flex;
	align-items: center;
}
nav ul li.header_coupon {
	margin-left: auto;
}
nav ul li.header_coupon a {
	background-color: rgba(103,162,67,0.85);
	font-family: Trade Gothic Condensed;
	font-size: 16px;
	padding: 12px 24px;
	border-radius: 20px;
	color: #FFF;
}
#mobileNav {
	display: none;
	background-color: rgba(103,162,67,0.85);
	width: 50%;
	margin: 0 auto;
	border-radius: 8px;
	text-align: center;
}
.c-hamburger {
	display: none;
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0;
	width: 45px;
	height: 40px;
	font-size: 0;
	text-indent: -9999px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-shadow: none;
	border-radius: 8px;
	border: 4px solid rgba(103,162,67,0.85);
	cursor: pointer;
	-webkit-transition: background 0.3s;
		  transition: background 0.3s;
}
.c-hamburger:focus {
	outline: none;
}
.c-hamburger span {
	display: block;
	position: absolute;
	left: 8px;
	right: 8px;
	height: 4px;
	top: 15px;
	background: rgba(103,162,67,0.85);
}
.c-hamburger span::before,
.c-hamburger span::after {
	position: absolute;
	display: block;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: rgba(103,162,67,0.85);
	content: "";
}
.c-hamburger span::before {
	top: -8px;
}
.c-hamburger span::after {
	bottom: -8px;
}
.c-hamburger--htx {
	vertical-align: middle;
	background: none;
}
.c-hamburger--htx span {
	-webkit-transition: background 0s 0.3s;
	transition: background 0s 0.3s;
}
.c-hamburger--htx span::before,
.c-hamburger--htx span::after {
	-webkit-transition-duration: 0.3s, 0.3s;
		transition-duration: 0.3s, 0.3s;
	-webkit-transition-delay: 0.3s, 0s;
		transition-delay: 0.3s, 0s;
}
.c-hamburger--htx span::before {
	-webkit-transition-property: top, -webkit-transform;
		transition-property: top, transform;
}
.c-hamburger--htx span::after {
	-webkit-transition-property: bottom, -webkit-transform;
		transition-property: bottom, transform;
}
/* active state, i.e. menu open */
.c-hamburger--htx.is-active {
	background-color: transparent;
}
.c-hamburger--htx.is-active span {
	background: none;
}
.c-hamburger--htx.is-active span::before {
	top: 0;
	-webkit-transform: rotate(45deg);
	  -ms-transform: rotate(45deg);
		  transform: rotate(45deg);
}
.c-hamburger--htx.is-active span::after {
	bottom: 0;
	-webkit-transform: rotate(-45deg);
	  -ms-transform: rotate(-45deg);
		  transform: rotate(-45deg);
}
.c-hamburger--htx.is-active span::before,
.c-hamburger--htx.is-active span::after {
	-webkit-transition-delay: 0s, 0.3s;
		transition-delay: 0s, 0.3s;
}

/* Top Main */
h1 {
	font-family: Proxima Nova, Arial Black, sans-serif;
	font-size: 70px;
	color: #FFF;
	text-transform: uppercase;
	line-height: 1em;
	font-weight: 900;
}
h1 sup {
	position: relative;
	top: -10px;
	font-size: 16px;
}
h1 .smaller {
	font-size: 52px;
	font-weight: 400;
}
h2 {
	font-family: Proxima Nova, Arial Black, sans-serif;
	font-size: 50px;
	color: var(--vetriscience-green);
	text-transform: uppercase;
	line-height: 1em;
}
h3 {
	font-family: Proxima Nova, Arial, sans-serif;
	font-size: 25px;
	color: var(--vetriscience-green);
	text-transform: uppercase;
	line-height: 1.0em;
	font-weight: bold;
	padding-top: 15px;
}
h4 {
	font-family: Proxima Nova, Arial, sans-serif;
	font-size: 28px;
	color: #000;
	font-weight: 200;
}
h5 {
	font-size: 18px;
	font-weight: 200;
	font-family: Open Sans, Arial, sans-serif;
	color: #000;
}
h4.diff {
	color: #000;
	text-transform: uppercase;
	font-weight: bold;
}
.top_main {
	padding: 20px;
	box-sizing: border-box;
	display: grid;
	grid-template-rows: 580px 1fr;
}
.top_main .full {
	grid-column: 1/3;
	padding-top: 100px;
}
.top_main .left {
	padding-top: 100px;
}
.top_main .right {
	padding: 20px;
	text-align: center;
}
.top_main .right p {
	text-transform: uppercase;
	color: #666;
}

/* Features Section */
.features {
	position: relative;
	margin: 80px auto;
	color: #FFF;
	padding: 0 20px;
	box-sizing: border-box;
}
.gray_block {
	display: flex;
	justify-content: space-around;
	width: 80%;
	background-color: #CCC;
	padding: 40px;
	margin: 0 auto;
	color: #404040;
	text-align: center;
}
.gray_block h3 {
	font-weight: 100;
}
.gray_block ul {
	padding-left: 0;
	list-style-type: none;
}
.gray_block ul li {
	padding-bottom: 10px;
}

/* Stressors Section */
.stressors_wrapper {
	background-color: #666;
}
.stressors {
	padding: 30px 10px;
	box-sizing: border-box;
}
.stressors h1, .stressors div h3, .stressors {
	color: #FFF;
}
.flex_container {
	display: flex;
	justify-content: space-between;
}
.flex_container div {
	flex: 0 1 25%;
	padding: 30px;
	text-align: center;
}
.flex_container div:first-of-type {
	padding-left: 0;
}
.flex_container div:last-of-type {
	padding-right: 0;
}
.stressors_green_wrapper {
	background-color: var(--vetriscience-green);
	padding: 30px 0;
}
.green_stressors {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.green_stressors:before {
	content: "";
	position: relative;
	top: -110px;
	left: 120px;
	width: 0;
	height: 0;
	display: block;
	border-top: 40px solid transparent;
	border-right: 40px solid transparent;
	border-bottom: 40px solid var(--vetriscience-green);
	border-left: 40px solid transparent;
}
.green_stressors h4 {
	font-weight: bold;
	text-transform: uppercase;
	color: #FFF;
}
.green_stressors p {
	flex: 0 1 80%;
	margin: 0;
}

/* Products Section */
.products {
	list-style-type: none;
	padding-left: 0;
	display: grid;
	grid-template-columns: 30% 20% 20% 30%;
	grid-template-rows: 210px 80px 150px 80px 150px 140px 200px;
	color: #000;
	margin-top: 40px;
}
.products li {
	position: relative;
	display: block;
}
.products li h3 {
	font-family: Proxima Nova, Arial, sans-serif;
	font-size: 25px;
	color: #FFF;
	background-color: #666;
	margin: 0;
	padding-top: 20px;
	padding-bottom: 20px;
	text-transform: uppercase;
}
.products li.left h3 {
	padding-left: 180px;
	padding-right: 20px;
	margin-left: 100px;
	margin-top: 40px;
}
.products li.left p {
	margin-left: 280px;
}
.products li.right h3 {
	padding-left: 20px;
	padding-right: 180px;
	margin-right: 100px;
	margin-top: 40px;
}
.products li.right p {
	margin-right: 280px;
}
.products li.four.right p {
	margin-right: 180px;
}
.products li.four.right h3 {
	padding-right: 100px;
}
.products li img {
	position: absolute;
	width: 260px;
	height: auto;
	top: -30px;
}
.products li.left img {
	left: 0;
	transform: rotate(-5deg);
}
.products li.right img {
	right: 0;
	transform: rotate(5deg);
}
.products .one {
	grid-column: 1/4;
	grid-row: 1/3;
}
.products .two {
	grid-column: 2/5;
	grid-row: 2/5;
	z-index: 2;
}
.products .three {
	grid-column: 1/4;
	grid-row: 4/6;
	z-index: 3;
}
.products .four {
	grid-column: 3/5;
	grid-row: 6/8;
	z-index: 4;
	margin-left: 10px;
}
.products .five {
	grid-column: 1/3;
	grid-row: 7/8;
	background-color: #E8E9EB;
	margin-right: 10px;
	display: flex;
	align-content: center;
	justify-content: center;
	flex-direction: column;
}
.products .five p {
	text-align: center;
	font-size: 25px;
	width: 80%;
	margin: 0 auto;
	font-weight: bold;
}
.products .five img {
	position: relative;
	width: auto;
	height: auto;
	top: auto;
	margin-top: 20px;
}

/* Where To Buy Section */
.center {
	margin: 0 auto;
	text-align: center;
}

/* Connect With Us Section */
.connect_wrapper {
	background-color: #E8E9EB;
	padding: 20px;
}
.connect_with_us {
	text-align: center;
}
.connect_with_us h1 {
	font-size: 45px;
	color: #000;
}
.connect_with_us input[type="text"] {
	font-size: 18px;
	vertical-align: middle;
}
.gray_button {
	background-color: rgb(153, 153, 153);
	border: none;
	border-radius: 0;
	padding: 15px 40px;
	color: #FFF;
	text-transform: uppercase;
	letter-spacing: 0.2em;
}

/* Be Social Section */
.be_social_wrapper {
	margin-bottom: 0;
	text-align: center;
	background-color: #000;
	padding: 40px 0;
}
.be_social {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.be_social h3 {
	color: #FFF;
	font-weight: 100;
	font-size: 40px;
	flex: 0 1 376px;
}
.be_social div {
	margin-left: 20px;
}
.be_social div a {
	margin-right: 10px;
}

/* Messages */
.alert_message {
	padding: 10px;
	font-size: 14px;
	background-color: #90ee9080;
	border: 1px solid green;
}
.error_message {
	padding: 10px;
	font-size: 14px;
	background-color: #f91c0bb3;
	border: 1px solid red;
}

/* Footer */
.footer_wrapper {
	text-align: center;
	background-image: url('../images/CP_footer_background.jpg');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: auto 635px;
	background-color: #487629;
	margin: 0;
}
.below_footer_wrapper {
	background-color: #000;
	text-align: center;
	margin: 0;
}
footer {
	height: 635px;
}
footer .flex_container {
	display: flex;
	justify-content: center;
}
footer .flex_container ul {
	list-style-type: none;
	padding: 0 20px;
	text-align: left;
	font-size: 14px;
	width: 200px;
}
footer .flex_container ul li.title {
	color: #FFF;
	margin-bottom: 20px;
	text-transform: uppercase;
	font-weight: bold;
}
footer .flex_container ul li {
	padding: 0 0 5px 0;
}
footer .flex_container ul li a {
	color: #CDE090;
	text-decoration: none;
}
.footer_rule {
	width: 80%;
	background-color: #79B1CF;
	margin: 0 auto;
}
.copyright {
	font-size: 11px;
	color: #95D600;
	padding: 30px;
	box-sizing: border-box;
}
.title {
	color: #FFF;
	text-transform: uppercase;
	vertical-align: middle;
	font-size: 14px;
	font-weight: bold;
}
p.title img {
	vertical-align: middle;
}

/* Responsive Styles */
@media screen and (max-width: 1200px) {
	header, nav, section, footer, .copyright {
		width: 100%;
	}
	nav ul li {
		padding: 10px;
	}
	.features .left_block {
		left: 2vw;
	}
	.features .right_block {
		right: 3vw;
	}
}
@media screen and (max-width: 1000px) {
	.works .left_block {
		padding: 50px;
	}
	.top_wrapper {
		background-size: auto 55%;
		background-position: top center;
	}
	.top_main {
		grid-template-rows: 450px 1fr;
	}
	.top_main .left {
		padding-top: 20px;
	}
}
@media screen and (max-width: 950px) {
	.products .two {
	    grid-row: 3/5;
	}
	.products .three {
	    grid-row: 6/8;
	}
	.products .four, .products .five {
		grid-row: 8;
	}
}
@media screen and (max-width: 900px) {
	.flex_container {
		flex-wrap: wrap;
	}
	.flex_container div {
    	flex: 0 1 40%;
	}
}
@media screen and (max-width: 850px) {
	.gray_block {
		flex-wrap: wrap;
	}
	.gray_block .left_block, .gray_block .right_block {
		width: 100%;
		text-align: center;
	}
	.products {
		grid-template-columns: 15% 35% 35% 15%;
		grid-template-rows: 210px 200px 150px 130px 150px 190px 240px 230px 160px 100px;
	}
	.works .left_block {
		margin-left: 20px;
	}
	.works .right_block {
		margin-right: 20px;
	}
	.works h3 {
		font-size: 25px;
	}
}
@media screen and (max-width: 720px) {
	.top_wrapper {
		background-size: auto 500px;
		background-position: top left;
	}
	.top_main {
		grid-template-rows: 380px auto auto;
	}
	.top_main .left {
		grid-column: 1/3;
	}
	.top_main .right {
		text-align: center;
		grid-column: 1/3;
	}
	h1 {
		font-size: 50px;
	}
	nav ul {
		justify-content: center;
	}
	nav ul li.mobile_button {
		display: block;
	}
	nav ul li.reg {
		display: none;
	}
	.c-hamburger {
		display: inline-block;
	}
	.features_wrapper {
		background: none;
	}
	.features .left_block {
		width: 100%;
	}
	.gray_block ul {
		padding-left: 10px;
		text-align: left;
	}
	.flex_container div {
		flex: 0 1 90%;
	}
	.how_it_works {
		background-image: url('../images/CP_HowItWorks_background.jpg');
		background-position: bottom;
	}
	.works {
		flex-wrap: wrap;
	}
	.works .right_block, .works .left_block {
		flex: 0 1 100%;
		min-height: auto;
		margin-right: 0;
		margin-left: 0;
	}
	.works .right_block {
		padding: 50px;
	}
	.works .left_block {
		padding: 20px;
	}
	.footer_wrapper {
		background-position: 10% top;
		background-size: cover;
	}
	footer {
    	height: auto;
	}
	footer .flex_container {
		flex-wrap: wrap;
	}
	footer .flex_container ul {
		flex: 0 1 40%;
		padding: 0 10px;
	}
}
@media screen and (max-width: 660px) {
	.products {
		display: flex;
		flex-direction: column;
	}
	.products li {
		flex: 0 1 95%;
		margin: 40px 0;
		display: flex;
		flex-direction: column;
	}
	.products li.left img, .products li.right img {
		flex: 0 1 95%;
		position: relative;
		transform: rotate(0deg);
		margin: 0 auto;
		text-align: center;
	}
	.products li.left h3, .products li.right h3 {
		padding: 20px;
		margin: 0 auto;
	}
	.products li.left p, .products li.right p, .products li.four.right p {
		margin: 20px;
		text-align: left;
	}
}
@media screen and (max-width: 600px) {
	h1 {
		font-size: 40px;
	}
	h1 .smaller {
		font-size: 30px;
	}
	.green_stressors {
		flex-direction: column;
	}
	.green_stressors p {
		margin: 20px;
	}
	.green_stressors h4 {
		flex: 0 1 20%;
		text-align: center;
	}
}
@media screen and (max-width: 540px) {
	.top_wrapper.dog {
		background-position: calc(50% + 40px) -180px;
	}
	.top_wrapper {
		background-position: calc(50% + 40px) -100px;
	}
	.top_main {
		grid-template-rows: 280px auto auto;
	}
	.be_social div {
		margin-left: 0;
	}
	.connect_with_us input[type="text"] {
		width: 200px;
	}
}
@media screen and (max-width: 500px) {
	.how_it_works {
		background-size: auto 80%;
	}
	.be_social h3 {
		font-size: 30px;
	}
}
@media screen and (max-width: 450px) {
	.gray_block {
		padding: 20px;
	}
	h2 {
		font-size: 30px;
	}
}
