/*
	Theme Name: Trading Post Quality Foods
	Theme URI: http://tradingpostqualityfoods.com
	Description: Trading Post WordPress Theme
	Version: 1.0.0
	Author: Kevin Wallace

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}

body {
	font:400 20px/1.5 lato, sans-serif;
	color: #111;
}

body.show-nav {
	overflow: hidden;
}

.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}

.clear {
    *zoom:1;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

a {
	color: #a22429;
	font-weight: 500;
	text-decoration:none;
	-moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

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

a:focus {
	outline: 0;
}

a:hover,
a:active {
	outline: 0;
}

input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

hr {
	margin: 4rem 0;
}

hr.arrow {
	background-image: url('img/arrow.svg'); 
	background-size: auto 2.5rem;
  background-position: center;
  background-repeat: no-repeat;
	margin: 12rem 0;
	height: 2.5rem;
	background-color: transparent;
	opacity: 1;
}


/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: ivypresto-headline, serif;
	font-style: normal;
	font-weight: 600;
	color: #111;
	margin-top: 0;
	margin-bottom: 2rem;
}

.reversed h1,
.reversed h2,
.reversed h3,
.reversed h4,
.reversed h5,
.reversed h6 {
  color: #FFF;
}

h1 { font-size: 50px; }
h2 { font-size: 46px; }
h3 { font-size: 42px; }
h4 { font-size: 38px; }
h5 { font-size: 34px; }
h6 { font-size: 30px; }

p {
	margin-bottom: 2.5rem;
}

.reversed p,
.reversed li,
.reversed a,
.reversed span,
.reversed address {
	color: #FFF;
}

ul, ol {
	padding-left: 2rem;
	margin-bottom: 2.5rem;
}

li {
	margin-bottom: 1rem;
}


/*------------------------------------*\
	BUTTONS
\*------------------------------------*/

.btn,
.nf-form-content button, 
.nf-form-content input[type=button], 
.nf-form-content input[type=submit] {
	font-family: bree-serif, serif;
	font-weight: 600;
	font-style: normal;
  background-color: #a22429 !important;
  color: #FFF;
  line-height: 1;
  padding: 2rem 5rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  margin-left: -4px;
  margin-right: -4px;
  font-size: 16px;
  height: auto !important;
  border-radius: 30px;
  position: relative;
  text-transform: uppercase;
  display: inline-block;
  overflow: hidden;
  -webkit-box-shadow: 0px 30px 30px 0px rgba(0,0,0,0.3) !important; 
	box-shadow: 0px 30px 30px 0px rgba(0,0,0,0.3) !important;
  -moz-transition: all 0.15s ease;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}

.btn:hover,
.nf-form-content button:hover, 
.nf-form-content input[type=button]:hover, 
.nf-form-content input[type=submit]:hover {
  background-color: #b0272d !important;
  color: #FFF !important;
}

.btn.active, 
.btn:active,
.nf-form-content button.active, 
.nf-form-content input[type=button].active, 
.nf-form-content input[type=submit].active,
.nf-form-content button:active, 
.nf-form-content input[type=button]:active, 
.nf-form-content input[type=submit]:active {
	-webkit-box-shadow: 0px 15px 15px 0px rgba(0,0,0,0.3) !important; 
	box-shadow: 0px 15px 15px 0px rgba(0,0,0,0.3) !important;
	outline: none;
}

.btn.light {
	background-color: #f0e8cd !important;
	color: #111 !important;
}

.btn.light:hover {
	background-color: #fef6d9 !important;
	color: #111 !important;
}

.btn.signup {
	border: 3px solid #f0e8cd;
	text-align: left;
	padding: 1.2rem 3rem 1.2rem 6rem !important;
	margin: -1rem auto 0;
  display: block;
  width: 23rem;
}

.btn.signup:before {
   font-family: "Font Awesome 5 Free";
   content: "\f0e0";
   position: absolute;
   top: 1.5rem;
   left: 2.5rem;
   font-weight: 900;
   color: #f0e8cd;
   font-size: 20px;
}

.btn.signup span {
	font-family: lato, sans-serif;
	font-size: 12px !important;
	font-weight: 400 !important;
	display: block;
}


/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

.wrapper {
	position: relative;
	background-image: url('img/bg_sand.jpg'); 
	background-size: 100% auto;
  background-position: top;
  background-repeat: repeat;
}

main {
	overflow: hidden;
}

section {
	position: relative;
	padding: 12rem 0;
}

.container {
	position: relative;
}

.container-fluid {
	padding: 0 3rem;
}

.container-fluid.max-1360 {
	max-width: 1360px;
}

aside.sidebar {
	position: relative;
	background-image: url('img/bg_wood.jpg'); 
	background-size: cover;
  background-position: top;
  background-repeat: repeat;
  margin: 6rem 0;
  border-radius: 2rem;
  padding: 5rem;
}

aside.sidebar img {
	width: 100%;
	border-radius: 1rem;
}

aside.sidebar .sidebar-widget:not(:last-child),
aside.sidebar .sidebar-widget .widget_nav_menu:not(:last-child) {
	margin-bottom: 4rem;
}

aside.sidebar h5 {
	color: #f0e8cd;
}

aside.sidebar ul.menu {
	list-style: none;
	padding-left: 0;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid rgb(240 232 205 / 50%);
}

aside.sidebar .sidebar-widget .widget_nav_menu:last-child ul.menu {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

aside.sidebar ul.menu li {
	margin-bottom: 0;
	padding-bottom: 0.5rem;
	position: relative;
  overflow: hidden;
  z-index: 1;
}

aside.sidebar ul.menu li:before {
  content:"";
  display: block;
  position: absolute;
  top:0;
  left:0;
  right:0;
  bottom: 0;
  width: 0;
  background-color: #a22429;
  transition: 0.3s ease width;
  z-index: 0;
}

aside.sidebar ul.menu li:hover:before  {
  width: 0.8rem;
}

aside.sidebar ul.menu li a {
	color: #f0e8cd;
	font-size: 16px;
}

aside.sidebar ul.menu li:hover a  {
  padding-left: 1.8rem;
  font-weight: 700;
}

.g-5, .gy-5 {
  --bs-gutter-y: 5rem;
}

.g-5, .gx-5 {
  --bs-gutter-x: 5rem;
}

.g-10, .gy-10 {
  --bs-gutter-y: 15rem;
}

.g-10, .gx-10 {
  --bs-gutter-x: 10rem;
}

.g-15, .gy-15 {
  --bs-gutter-y: 10rem;
}

.g-15, .gx-15 {
  --bs-gutter-x: 15rem;
}

.post-edit-link { display: none; }


/*------------------------------------*\
    HEADER
\*------------------------------------*/

header {
	position: relative;
	background-image: url('img/bg_header.png'); 
	background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 99999999;
}

header .container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

header .logo {
  display: inline-block;
  padding-top: 0;
  padding-bottom: 0;
  margin-right: 1rem;
  position: absolute;
  top: 2rem;
  z-index: 99999999;
}

header a.tel {
	position: absolute;
	right: 0;
	font-family: ivypresto-headline, serif;
	font-weight: 600;
	font-size: 16px;
	color: #FFF;
}


/*------------------------------------*\
    HOME PAGE
\*------------------------------------*/

.home section.featured {
	position: relative;
	padding: 10rem 0 12rem;
	background-image: url('img/bg_featured_desktop.png'); 
	background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  z-index: 2;
}

.home section.featured p {
	padding-right: 5rem;
}

.home section.wood {
	background-image: url('img/bg_wood.jpg'); 
	background-size: 100% auto;
  background-position: center;
  background-repeat: repeat;
  margin-top: -5rem;
  padding: 17rem 0;
}

.row.specials {
	display: flex;
	align-items: center;
}

.row.specials img {
	border-radius: 2rem;
	max-width: 46rem;
	width: 100%;
}

.row.pickup .content {
	background-image: url('img/bg_sand.jpg'); 
	background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 8% 10%;
  border-radius: 10rem;
  text-align: center;
}

.row.pickup .content h3,
.row.pickup .content p {
	color: #111;
}

.row.pickup .content p {
	margin-bottom: 5rem;
}

.row.freshfoods {
	max-width: 1100px;
	margin: 17rem auto 0;
}

.row.freshfoods:before {
	content: "";
	background-color: rgba(162,36,41,0.8);
	position: absolute;
	position: absolute; 
	left: 50%; 
	transform: translate(-50%, -3rem); 
	width: 1200px;
	height: 35rem;
	border-radius: 5rem;
	z-index: 0;
}

.row.freshfoods .col-12 {
	z-index: 1;
}

.row.freshfoods .item {
	position: relative;
	background-color: #f0e8cd;
	border-radius: 2rem;
	text-align: center;
	overflow: hidden;
}

.row.freshfoods .item .photo {
	background-image: url('img/photo_unavailable.png'); 
	background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 24rem;
}

.row.freshfoods .item .info {
  position: relative;
  padding: 5rem 3rem;
}

.row.freshfoods .item .info .category {
	font-size: 12px;
	padding: 0.5rem 2rem;
	color: #FFF;
	background-color: #a22429;
	margin-bottom: 2rem;
	display: inline-block;
	text-transform: uppercase;
}

.row.freshfoods .item .info .price {
	font-size: 36px;
	font-family: ivypresto-headline, serif;
	font-style: normal;
	font-weight: 600;
	margin-bottom: 2rem;
}

.row.freshfoods .item .info .name {
	font-size: 16px;
}

.home section.lifestyle {
	margin-top: -5rem;
	background-image: url('img/bg_lifestyle.png'); 
	background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
}

.home section.lifestyle .row {
	display: flex;
	align-items: center;
}

section.location {
	padding: 4rem 0 0;
	z-index: 2;
}

section.location .col-lg-6 {
	display: flex;
  justify-content: center;
}

section.location iframe {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

section.location .content {
	background-image: url('img/bg_location.png'); 
	background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 1rem solid #FFF;
  border-radius: 50%;
  width: 46rem;
  height: 46rem;
  padding: 12%;
  -webkit-box-shadow: 0px 30px 30px 0px rgba(0,0,0,0.3) !important; 
	box-shadow: 0px 30px 30px 0px rgba(0,0,0,0.3) !important;
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	margin-bottom: -3rem;
}

section.location .content h5 {
	font-size: 24px;
}

section.location .content address,
section.location .content .links a {
	font-size: 18px;
	display: block;
}

section.newsletter {
	background-image: url('img/bg_newsletter.png'); 
	background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  z-index: 1;
}

section.newsletter form {
	width: 100%;
	padding-right: 3rem;
}

section.newsletter form table {
	width: 100%;
}

section.newsletter form table tr {
	width: 100%;
}

section.newsletter form table td {
	width: 100%;
	text-align: right;
}

section.newsletter form input[type=text] {
	background-color: rgba(4,7,7,0.5);
	height: 5rem;
	border-radius: 2.5rem;
	border: none;
	padding: 0 2rem;
	width: 100%;
	max-width: 38rem;
	margin-bottom: 1rem;
	font-size: 18px;
	color: #FFF !important;
}

section.newsletter form .btn.light {
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
}


/*------------------------------------*\
    ABOUT US PAGE
\*------------------------------------*/

.about section.featured {
	position: relative;
	padding: 10rem 0;
	background-image: url('img/bg_aboutus_desktop.jpg'); 
	background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
}

.about section.featured p {
	padding-right: 5rem;
}

.about section.history {
	background-image: url('img/decal_aboutus.svg');
	background-size: 277px auto;
	background-position: right 10rem;
	background-repeat: no-repeat;
}

.about section.history .image {
	margin: 4rem 0 3rem;
	position: relative;
}

.about section.history .image::before {
	background-color: #a22429;
	content: "";
	position: absolute;
	width: 50rem;
	height: 1px;
	top: 50%;
	left: -53rem;
	z-index: 0;
}

.about section.history .image::after {
	background-color: #a22429;
	content: "";
	position: absolute;
	width: 50rem;
	height: 1px;
	top: 50%;
	right: -53rem;
	z-index: 0;
}

.about section.history .image img {
	position: relative;
	z-index: 1;
}

.about section.history .row.bottom .col-lg-5:first-of-type {
	border-right: 1px solid #a22429;
}

.about section.history .row.bottom .content {
	margin-top: 3rem;
}

.about section.timeline {
	background-image: url('img/bg_wood.jpg'); 
	background-size: 100% auto;
  background-position: center;
  background-repeat: repeat;
  margin-top: -5rem;
}

.about section.timeline .edge {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-image: url('img/edge.svg');
	height: 5rem;
	background-size: 100%;
	background-repeat: no-repeat;
}

.about section.timeline .row {
	align-items: center;
	padding: 8rem 0;
	position: relative;
}

.about section.timeline .row:before {
	position: absolute;
	content: "";
	height: 100%;
	width: 1px;
	top: 0;
	left: 50%;
	background-color: #888888;
}

.about section.timeline .row .col-lg-5:after {
	font-family: ivypresto-headline, serif;
	font-weight: 600;
	position: absolute;
	top: 50%;
	margin-top: -4rem;
	left: 50%;
	margin-left: -4rem;
	width: 8rem;
	height: 8rem;
	border-radius: 4rem;
	background-color: #a22429;
	border: 2px solid #fff; 
	color: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
}

.about section.timeline .row:nth-of-type(1) .col-lg-5:after { content: "2002"; }
.about section.timeline .row:nth-of-type(2) .col-lg-5:after { content: "2012"; }
.about section.timeline .row:nth-of-type(3) .col-lg-5:after { content: "2021"; }


/*------------------------------------*\
    LIFESTYLE PRODUCTS PAGE
\*------------------------------------*/

.lifestyle-products section.featured {
	position: relative;
	padding: 10rem 0;
	background-image: url('img/bg_lifestyle_desktop.png'); 
	background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  z-index: 1;
}

.lifestyle-products section.egg {
	position: relative;
	z-index: 0;
	margin-top: -5rem;
	padding-top: 15rem;
	background-image: url('img/bg_sand.jpg'); 
	background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
}

.lifestyle-products section.egg .row,
.lifestyle-products section.yeti .row {
	display: flex;
	align-items: center;
}

.lifestyle-products .yeti_sign {
	position: relative;
	width: 100%;
	height: 50rem;
	background-image: url('img/yeti_sign.jpg'); 
	background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.lifestyle-products .yeti_sign .edge {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-image: url('img/edge_top_dark.svg');
	height: 5rem;
	background-size: 100%;
	background-position: center bottom -1px;
	background-repeat: no-repeat;
}

.lifestyle-products section.yeti {
	background-color: #222;
}


/*------------------------------------*\
    BUTCHER SHOP PAGE
\*------------------------------------*/

.butcher-shop section.featured {
	position: relative;
	padding: 10rem 0 24rem;
	background-image: url('img/bg_butcher_shop.jpg'); 
	background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
}

.butcher-shop section.featured p {
	padding-right: 5rem;
}

.butcher-shop section.butcher_shop {
	margin-top: -12rem;
	background-image: url('img/decal_butcher_shop1.svg'), url('img/decal_butcher_shop2.svg');
	background-size: 1000px auto;
	background-position: left -60% top 15rem, right -20% bottom 10rem;
	background-repeat: no-repeat;
}

.butcher-shop section.butcher_shop .image {
	margin: 1rem 0 0;
	position: relative;
}

.butcher-shop section.butcher_shop .image::before {
	background-color: #a22429;
	content: "";
	position: absolute;
	width: 50rem;
	height: 1px;
	top: 50%;
	left: -53rem;
	z-index: 0;
}

.butcher-shop section.butcher_shop .image::after {
	background-color: #a22429;
	content: "";
	position: absolute;
	width: 50rem;
	height: 1px;
	top: 50%;
	right: -53rem;
	z-index: 0;
}

.butcher-shop section.butcher_shop .image img {
	position: relative;
	z-index: 1;
}

.butcher-shop section.butcher_shop .row.bottom .col-lg-5:first-of-type {
	border-right: 1px solid #a22429;
}

.butcher-shop section.butcher_shop .row.bottom .content {
	margin-top: 3rem;
}

.butcher-shop section.cuts {
	background-image: url('img/bg_wood.jpg'); 
	background-size: 100% auto;
  background-position: center;
  background-repeat: repeat;
  margin-top: -5rem;
  padding-top: 15rem;
}

.butcher-shop section.cuts .edge {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-image: url('img/edge.svg');
	height: 5rem;
	background-size: 100%;
	background-repeat: no-repeat;
}

.butcher-shop section.cuts .row:nth-child(2) {
	max-width: 110rem;
	margin: 0 auto;
}

.butcher-shop section.cuts a {
	display: block;
	margin-top: 5rem;
}

.butcher-shop section.cuts a .copy {
	background-color: #FFF;
	text-align: center;
	padding: 1.5rem 0;
}

.butcher-shop section.cuts a .copy h5 {
	font-family: lato, sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #111;
	margin-bottom: 0rem;
}

.butcher-shop section.cuts a .copy span {
	font-weight: 400;
	font-size: 16px;
	text-decoration: underline;
	color: #111;
}

.butcher-shop section.quote {
	background-image: url('img/bg_butcher_quote.jpg'); 
	background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

.butcher-shop section.quote blockquote {
	font-weight: 700;
	font-style: italic;
	background-color: rgba(162,36,41,.85);
	padding: 8% 9%;
	color: #FFF;
	border-bottom-left-radius: 10rem;
	border-top-right-radius: 10rem;
}

.butcher-shop section.quote blockquote cite {
	display: block;
	margin-top: 1rem;
	font-weight: 400;
	text-align: right;
}


/*------------------------------------*\
    SEAFOOD PAGE
\*------------------------------------*/

.seafood section.featured {
	position: relative;
	padding: 10rem 0 24rem;
	background-image: url('img/bg_seafood.jpg'); 
	background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
}

.seafood section.featured p {
	padding-right: 5rem;
}

.seafood section.seafood_details {
	margin-top: -12rem;
	background-image: url('img/decal_seafood1.svg'), url('img/decal_seafood2.svg');
	background-size: 600px auto;
	background-position: left -20% top 15rem, right -20% bottom 10rem;
	background-repeat: no-repeat;
}

.seafood section.seafood_details .image {
	margin: 1rem 0 0;
	position: relative;
}

.seafood section.seafood_details .image::before {
	background-color: #a22429;
	content: "";
	position: absolute;
	width: 50rem;
	height: 1px;
	top: 50%;
	left: -53rem;
	z-index: 0;
}

.seafood section.seafood_details .image::after {
	background-color: #a22429;
	content: "";
	position: absolute;
	width: 50rem;
	height: 1px;
	top: 50%;
	right: -53rem;
	z-index: 0;
}

.seafood section.seafood_details .image img {
	position: relative;
	z-index: 1;
}

.seafood section.seafood_details .row.bottom .col-lg-5:first-of-type {
	border-right: 1px solid #a22429;
}

.seafood section.seafood_details .row.bottom .content {
	margin-top: 3rem;
}

.seafood section.products {
	background-image: url('img/bg_wood.jpg'); 
	background-size: 100% auto;
  background-position: center;
  background-repeat: repeat;
  margin-top: -5rem;
  padding-top: 15rem;
}

.seafood section.products .edge {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-image: url('img/edge.svg');
	height: 5rem;
	background-size: 100%;
	background-repeat: no-repeat;
}

.seafood section.products .row:nth-child(2) {
	max-width: 110rem;
	margin: 0 auto;
}

.seafood section.products a {
	display: block;
	margin-top: 5rem;
}

.seafood section.products a .copy {
	background-color: #FFF;
	text-align: center;
	padding: 1.5rem 0;
}

.seafood section.products a .copy h5 {
	font-family: lato, sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #111;
	margin-bottom: 0rem;
}

.seafood section.products a .copy span {
	font-weight: 400;
	font-size: 16px;
	text-decoration: underline;
	color: #111;
}

.seafood section.quote {
	background-image: url('img/bg_seafood_quote.jpg'); 
	background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

.seafood section.quote blockquote {
	font-weight: 700;
	font-style: italic;
	background-color: rgba(162,36,41,.85);
	padding: 8% 9%;
	color: #FFF;
	border-bottom-left-radius: 10rem;
	border-top-right-radius: 10rem;
}

.seafood section.quote blockquote cite {
	display: block;
	margin-top: 1rem;
	font-weight: 400;
	text-align: right;
}


/*------------------------------------*\
    SINGLE PAGE
\*------------------------------------*/

section.page {
	position: relative;
	background-color: rgba(255,255,255,0.3);
	padding: 5rem;
	margin: 6rem 0;
	border-radius: 2rem;
}

section.page .thumb img {
	max-width: calc(100% + 10rem);
	width: calc(100% + 10rem);
	margin: -5rem -5rem 3rem;
	max-height: 30rem;
	object-fit: cover;
	object-position: 50% 50%;
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
	margin-bottom: 4rem;
}

section.page article img {
	height: auto;
	margin: 2rem 0;
}

.freezer-packs section.page article ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}

.freezer-packs section.page article form ul {
  columns: 1;
  -webkit-columns: 1;
  -moz-columns: 1;
}


/*------------------------------------*\
    CONTACT US
\*------------------------------------*/


.nf-form-fields-required {
	display: none;
}

.nf-form-content {
  padding: 0 !important;
}

#ninja_forms_required_items, 
.nf-field-container {
  margin-bottom: 30px !important;
}

.nf-multi-cell .nf-cell {
  padding: 0 15px !important;
}

.nf-form-content .list-select-wrap .nf-field-element>div, 
.nf-form-content input:not([type=button]), 
.nf-form-content textarea {
	background-color: #faf1d5 !important;
	border-radius: 3rem !important;
	border: none !important;
	padding: 2rem !important;
	color: #111 !important;
}

.nf-form-content .listselect-wrap .nf-field-element div, 
.nf-form-content input.ninja-forms-field, 
.nf-form-content select.ninja-forms-field:not([multiple]) {
    height: 60px !important;
}

.nf-error.field-wrap .nf-field-element:after {
  background: #a22429 !important;
  top: 0px !important;
  right: 0px !important;
  bottom: 0px !important;
  height: 60px !important;
  width: 60px !important;
  line-height: 60px !important;
}

.nf-pass.field-wrap .nf-field-element:after {
  height: 60px !important;
  line-height: 60px !important;
}

.nf-error .nf-error-msg,
.nf-error-msg {
	font-size: 14px !important;
	color: #a22429 !important;
}

.nf-response-msg {
	padding: 0 1.5rem;
	color: #111 !important;
}

::placeholder { color: #111; opacity: 1;}
:-ms-input-placeholder { color: #111; }
::-ms-input-placeholder { color: #111; }
.datepicker::placeholder { color: #111; }

section.newsletter form ::placeholder { color: #FFF; opacity: 1;}
section.newsletter form :-ms-input-placeholder { color: #111; }
section.newsletter form ::-ms-input-placeholder { color: #111; }

.employment .nf-form-cont,
.community-involvement .nf-form-cont,
.freezer-packs .nf-form-cont {
	margin: 0 -1.5rem;
}

/*.employment .nf-multi-cell .nf-cell {
	padding: 0 10px !important;
}*/

.employment .nf-form-content .list-select-wrap .nf-field-element>div, 
.employment .nf-form-content input:not([type=button]), 
.employment .nf-form-content textarea,
.community-involvement .nf-form-content .list-select-wrap .nf-field-element>div,
.community-involvement .nf-form-content input:not([type=button]),
.community-involvement .nf-form-content textarea,
.freezer-packs .nf-form-content .list-select-wrap .nf-field-element>div,
.freezer-packs .nf-form-content input:not([type=button]),
.freezer-packs .nf-form-content textarea {
	border: 1px solid #e2d7b4 !important;
}

.employment .nf-form-content button {
	background-color: #111 !important;
	padding: 1rem 2rem !important;
	font-size: 14px !important;
	margin: 1rem 0 !important;
	box-shadow: none !important;
}

.employment .nf-form-content button:hover {
	background-color: #222 !important;
}

.employment .nf-fu-button-cancel {
	display: none !important;
}

.employment .files_uploaded p {
	font-weight: 700;
}


/*------------------------------------*\
    FOOTER
\*------------------------------------*/

footer {
	position: relative;
  background-image: url('img/bg_wood.jpg'); 
	background-size: 100% auto;
  background-position: center;
  background-repeat: repeat;
	padding: 15rem 0 12rem;
	margin-top: -5rem;
	z-index: 0;
}

footer img.logo {
  max-width: 20rem;
  margin: 0 auto;
  display: block;
}

footer p {
	font-size: 16px;
}

footer ul {
	list-style-type: none;
	display: inline-block;
	padding: 0;
	margin-top: 1rem;
	margin-bottom: 3rem;
}

footer ul:nth-of-type(2) {
	margin-left: 4rem;
}

footer ul li {
	font-size: 16px;
	margin-bottom: 0;
}

footer .copyright {
	margin-top: 6rem;
	text-align: center;
}

footer .copyright p {
	font-size: 16px;
	margin-bottom: 0;
}

footer .copyright img,
.menu.mobile .copyright img {
	display: inline-block;
	vertical-align: middle;
}

footer span {
	display: inline-block;
}

.grecaptcha-badge {
	display: none;
}


/*------------------------------------*\
    ANIMATIONS
\*------------------------------------*/

.slideUp {
	transform: translateY(150px);
	animation: slideUp 1s ease forwards 0s;
}

.slideDown {
	transform: translateY(0px);
	animation: slideDown 1s ease forwards 0s;
}

.slideLeft {
	transform: translateX(400px);
	animation: slideLeft 1s ease forwards 0s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    display: block;
  }
  100% {
    opacity: 0;
    display: none;
  }
}

@keyframes slideLeft {
  0% {
    transform: translateX(400px);
  }
  100% {
    transform: translateX(0px);
  }
}

@keyframes slideUp {
  0% {
    transform: translateY(300px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes slideDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(300px);
  }
}

@keyframes reveal {
  0% {
    width: 100%;
  }
  100% {
    width: 0;
  }
}

@keyframes zoomOut {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes swooshAnimate {
  0% {
    width: 0px;
  }
  100% {
    width: 100px;
  }
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/


@media screen and (max-width: 1400px) {
	
	header a.tel {
	  right: 10rem;
  }

}


@media screen and (max-width: 1300px) {
  
  h1 { font-size: 46px; }
  h2 { font-size: 42px; }
  h3 { font-size: 38px; }
  h4 { font-size: 34px; }
  h5 { font-size: 30px; }
  h6 { font-size: 26px; }

}


@media screen and (max-width: 1200px) {

	h1 { font-size: 42px; }
  h2 { font-size: 38px; }
  h3 { font-size: 34px; }
  h4 { font-size: 30px; }
  h5 { font-size: 26px; }
  h6 { font-size: 22px; }
  
  p,
  li,
  a,
  section.blog article p {
	  font-size: 17px;
  }
  
  .nf-form-content label {
	  font-size: 17px !important;
  }

  .row.freshfoods:before {
		transform: translate(-50%, -2rem); 
		width: 1100px;
	}
	
	.row.freshfoods .item .info {
	  padding: 4rem 3rem;
	}
	
	.row.freshfoods .item .info .price {
		font-size: 36px;
	}
	
	.row.freshfoods .item .info .name {
		font-size: 14px;
	}
	
	.employment .nf-multi-cell .nf-cell,
	.community-involvement .nf-multi-cell .nf-cell,
	.freezer-packs .nf-multi-cell .nf-cell {
		float: none !important;
		width: 100% !important;
	}
	
	.freezer-packs section.page article ul {
    columns: 1;
    -webkit-columns: 1;
    -moz-columns: 1;
  }
  
}


@media screen and (max-width: 1024px) {
	
	.g-5, .gy-5 {
	  --bs-gutter-y: 4rem;
	}
	
	.g-5, .gx-5 {
	  --bs-gutter-x: 4rem;
	}
  
  .btn,
	.nf-form-content button, 
	.nf-form-content input[type=button], 
	.nf-form-content input[type=submit] {
  	padding: 1.5rem 3.5rem !important;
  	height: auto !important;
  }
  
  hr.arrow {
		background-size: auto 1.5rem;
		margin: 8rem 0;
		height: 1.5rem;
	}
  
  section {
	  padding: 8rem 0;
  }
  
  section.page .thumb img {
	  max-height: 20rem;
  }

	header .logo {
	  width: 150px;
	  top: 1rem;
  }
  
  .home section.featured,
  .about-us section.featured {
	  padding: 8rem 0 10rem;
  }
  
  .home section.wood {
    padding-top: 15rem;
  }
  
  .row.freshfoods {
	  margin-top: 12rem;
  }
  
  .row.freshfoods:before {
	  height: 32rem;
  }
  
  .about section.timeline .row {
    padding: 4rem 0;
  }
  
  .lifestyle-products section.egg {
	  padding-top: 13rem;
  }
  
  .lifestyle-products .yeti_sign {
		height: 30rem;
	}
	
	.butcher-shop section.featured,
	.seafood section.featured {
		padding: 8rem 0 16rem;
	}
	
	.butcher-shop section.butcher_shop,
	.seafood section.seafood_details {
    margin-top: -8rem;
    padding-bottom: 12rem;
    background-size: 600px auto;
  }
  
  .butcher-shop section.cuts,
  .seafood section.products {
	  padding: 10rem 0;
  }
  
  .butcher-shop section.cuts a .copy h5,
  .seafood section.products a .copy h5 {
	  font-size: 18px;
  }
  
  .butcher-shop section.quote blockquote,
  .seafood section.quote blockquote {
	  font-size: 18px;
  }

}


@media screen and (max-width: 991px) {
	
	.container,
	.container-fluid.max-1360 {
    padding: 0 3rem;
  }
	
	h1,
	h2,
	h3,
	h4,
	h5,
	h6, 
	p {
		margin-bottom: 2rem;
	}
	
	h1 { font-size: 38px; }
  h2 { font-size: 34px; }
  h3 { font-size: 30px; }
  h4 { font-size: 26px; }
  h5 { font-size: 20px; }
  h6 { font-size: 18px; }
  
  p,
  li,
  a,
  section.blog article p {
	  font-size: 16px;
  }
  
  .nf-form-content label {
	  font-size: 16px !important;
  }
  
  .btn, .nf-form-content button, 
  .nf-form-content input[type=button], 
  .nf-form-content input[type=submit] {
	  padding: 1.6rem 3.5rem !important;
	  font-size: 14px !important;
	  height: auto !important;
  }
  
  section.page {
	  margin: 6rem 0 2rem;
  }
  
  aside.sidebar {
	  margin-top: 0;
  }
  
  .row.specials img {
	  max-width: 34rem;
    margin: 0 auto;
    display: block;
  }
  
  .row.specials .content {
	  text-align: center;
  }
  
  .row.freshfoods .item .photo {
	  height: 18rem;
  }
  
  .row.freshfoods .item .info {
	  padding: 3rem;
  }
  
  .row.freshfoods .item .info .category,
  .row.freshfoods .item .info .price {
	  margin-bottom: 1rem;
  }
  
  section.newsletter form {
	  padding-right: 0;
  }
  
  .about section.history {
    background-size: 135px auto;
    background-position: right 2rem;
  }
  
  .about section.history .row.bottom .col-lg-5:first-of-type {
    border-right: none;
  }
  
  .about section.timeline {
	  margin-top: -3rem;
  }
  
  .about section.timeline .row {
    padding: 3rem 0;
  }
  
  .about section.timeline .row .col-lg-5:after {
	  font-size: 14px;
    margin-top: -3rem;
    margin-left: -3rem;
    width: 6rem;
    height: 6rem;
    border-radius: 3rem;
  }
  
  .about section.timeline .gx-15 {
	  --bs-gutter-x: 10rem;
  }
  
  .butcher-shop section.featured p,
  .seafood section.featured p {
	  padding-right: 0;
  }
  
  .butcher-shop section.butcher_shop .row.bottom .col-lg-5:first-of-type,
  .seafood section.seafood_details .row.bottom .col-lg-5:first-of-type {
    border-right: none;
  }
  
  .freezer-packs section.page article ul {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
  }
  
  footer .content {
	  display: flex;
	  flex-wrap: wrap;
	  justify-content: center;
  }
  
  footer ul {
	  margin-top: 0;
  }
  
  footer p {
	  text-align: center;
	  margin-bottom: 0;
  }
  
  footer .copyright {
    margin-top: 2rem;
  }

}


@media screen and (max-width: 767px) {

  .g-5, .gy-5 {
	  --bs-gutter-y: 3rem;
	}
	
	.g-5, .gx-5 {
	  --bs-gutter-x: 3rem;
	}

	h1 { font-size: 34px; }
  h2 { font-size: 30px; }
  h3 { font-size: 26px; }
  h4 { font-size: 22px; }
  h5 { font-size: 18px; }
  h6 { font-size: 14px; }
  
  p,
  li,
  a,
  section.blog article p,
  footer p {
	  font-size: 15px;
  }
  
  header .logo {
	  width: 120px;
  }
  
  header a.tel {
	  font-size: 14px;
  }
  
  .home section.featured p,
  .about-us section.featured p {
	  padding-right: 3rem;
  }
  
  .row.pickup .content {
    padding: 8%;
    border-radius: 4rem;
  }
  
  .row.pickup .content h3 {
	  margin-bottom: 1.5rem;
  }
  
  .row.pickup .content p {
	  margin-bottom: 3rem;
  }
  
  .nf-multi-cell .nf-cell {
    float: none !important;
    padding: 0 5px !important;
    width: 100% !important;
  }
  
  #ninja_forms_required_items, 
  .nf-field-container {
    margin-bottom: 20px !important;
  }
  
  .nf-form-content .listselect-wrap .nf-field-element div, 
	.nf-form-content input.ninja-forms-field, 
	.nf-form-content select.ninja-forms-field:not([multiple]) {
	    height: 50px !important;
	}
	
	.nf-error.field-wrap .nf-field-element:after {
	  height: 50px !important;
	  width: 50px !important;
	  line-height: 50px !important;
	}
	
	.nf-pass.field-wrap .nf-field-element:after {
	  height: 50px !important;
	  line-height: 50px !important;
	}
	
	section.location .content {
	  width: 36rem;
	  height: 36rem;
	  padding: 12%;
		margin-bottom: -3rem;
	}
	
	section.location .content h5 {
		font-size: 18px;
	}
	
	section.location .content address,
	section.location .content .links a {
		font-size: 14px;
	}
	
	section.newsletter form {
    padding-right: 0;
  }
  
  section.newsletter p {
	  margin-bottom: 0;
  }
  
  .about section.featured {
	  padding: 8rem 0;
  }
  
  .about section.history .image {
    margin: 1rem 0 0rem;
  }
  
  .about section.timeline .row:before {
	  left: 7rem;
  }  
  
  .about section.timeline .row .col-lg-5:after {
	  left: 7rem;
	  top: 4.5rem;
  }
  
  .lifestyle-products section.featured {
	  padding: 8rem 0;
  	background-position: calc(50% - 5rem) bottom;
  }
  
  .lifestyle-products .yeti_sign {
		height: 20rem;
	}
  
  .lifestyle-products section.yeti img {
	  margin-bottom: 4rem;
  }
  
  .butcher-shop section.butcher_shop,
  .seafood section.seafood_details {
	  background-size: 400px auto;
  }
  
  .butcher-shop section.cuts a .copy h5,
  .seafood section.products a .copy h5 {
	  font-size: 16px;
  }
  
  .butcher-shop section.cuts a .copy span,
  .seafood section.products a .copy span {
	  font-size: 14px;
  }
  
  .butcher-shop section.quote blockquote,
  .seafood section.quote blockquote {
	  font-size: 16px;
	  border-bottom-left-radius: 5rem;
		border-top-right-radius: 5rem;
  }
  
}


@media screen and (max-width: 575px) {  
  
  hr.arrow {
    background-size: 100% auto;
  }
  
  section.page,
  aside.sidebar {
	  padding: 4rem 3rem;
  }
  
  .row.pickup .content {
    padding: 12% 8%;
    border-radius: 4rem;
  }
  
  .nf-error-msg, 
  .ninja-forms-req-symbol {
	  padding: 0 2rem !important;
  }
  
  .nf-response-msg {
	  padding: 0 0.5rem;
  }
  
  .home section.featured {
    padding: 8rem 0 32rem;
    background-image: url('img/bg_featured_mobile.png');
    background-size: 100%;
  }
  
  .home section.lifestyle {
	  text-align: center;
  }
  
  .home section.lifestyle img {
	  margin: 0 -2rem 3rem 0;
  }
  
  section.location {
    padding: 10rem 0 0;
  }
  
  section.location .content {
	  width: 31rem;
	  height: 31rem;
	  padding: 12%;
		margin-bottom: -3rem;
	}
	
	section.newsletter form {
    padding-right: 0;
  }
  
  .butcher-shop section.butcher_shop,
  .seafood section.seafood_details {
    margin-top: -12rem;
    background-size: 300px auto;
  }
  
  .butcher-shop section.cuts,
  .seafood section.products {
    padding: 8rem 0;
  }
  
  .butcher-shop section.cuts .gx-5,
  .seafood section.products .gx-5 {
	  --bs-gutter-x: 2rem;
  }
  
  .butcher-shop section.cuts a,
  .seafood section.products a {
	  margin-top: 4rem;
  }
  
  section.page .thumb img {
    max-width: calc(100% + 6rem);
    width: calc(100% + 6rem);
    margin: -5rem -3rem 3rem;
    margin-bottom: 3rem;
  }
  
  .employment .nf-form-cont,
  .community-involvement .nf-form-cont,
  .freezer-packs .nf-form-cont {
    margin: 0 -0.5rem;
  }
  
  .freezer-packs section.page article ul {
    columns: 1;
    -webkit-columns: 1;
    -moz-columns: 1;
  }
	
	footer .content.contact {
    text-align: center;
  }
  
  footer .content.contact ul:nth-of-type(2) {
    margin-left: 0;
  }
	
}


/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#444;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#444;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#444;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin: 0;
}
.aligncenter,
div.aligncenter {
	display: block;
	margin: 2rem auto;
}
.alignright {
	float: right;
	margin: 2rem 0 2rem 2rem;
}
.alignleft {
	float: left;
	margin: 2rem 2rem 2rem 0;
}
a img.alignright {
	float: right;
	margin: 2rem 0 2rem 2rem;
}
a img.alignnone {
	margin: 2rem 2rem 2rem 0;
}
a img.alignleft {
	float: left;
	margin: 2rem 2rem 2rem 0;
}
a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption {
	background: transparent;
	border: none;
	max-width: 100%;
	padding: 0;
	text-align:center;
}
.wp-caption.alignnone {
	margin: 0;
}
.wp-caption.alignleft {
	margin: 0;
}
.wp-caption.alignright {
	margin: 0;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 3rem auto;
	max-width: 100%;
	padding:0;
	width: auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.wp-block-columns {
	margin-bottom: 0;
}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
