/*
 Theme Name:   Ace Popcorn
 Description:  Divi Child Theme
 Author:       The Big Idea
 Author URI:   http://www.bigidea-creative.co.uk
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ---------------------------------*/

@font-face {
	font-family: 'Bookshop';
	src: url('fonts/bookshop.woff2') format('woff2'),
		url('fonts/bookshop.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir Light';
	src: url('fonts/avenir_light.woff2') format('woff2'),
		url('fonts/avenir_light.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir Book';
	src: url('fonts/avenir_book.woff2') format('woff2'),
		url('fonts/avenir_book.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir Roman';
	src: url('fonts/avenir_roman.woff2') format('woff2'),
		url('fonts/avenir_roman.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir Heavy';
	src: url('fonts/avenir_heavy.woff2') format('woff2'),
		url('fonts/avenir_heavy.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir Black';
	src: url('fonts/avenir_black.woff2') format('woff2'),
		url('fonts/avenir_black.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'ETmodules';
	src:url('fonts/ETmodules.woff2') format('woff2'),
		url('fonts/ETmodules.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Bookshop','sans-serif'!important;
	padding: .75em 0 0.5em;
	line-height:1.2em;
	font-weight: normal;
	color:#333;
}
h1 {
	font-size: 3em;
}
h2 {
	font-size: 2.5em;
}
h3 {
	font-size: 2em!important;
}
h4 {
	font-size: 1.75em!important;
}
h5 {
	font-size: 1.5em!important;
}
h6 {
	font-size: 1.3em;
}


/*hr {
	border: 0;
	height: 1px;
	background: #333;
	margin-bottom:1em;
}
#left-area ul, .entry-content ul, .comment-content ul, #sidebar .et_pb_widget ul,#sidebar .expertise-supplied ul {
  list-style-type: none;
	line-height: 1.7em;
	padding: 0.5em 0 1em 1em;
}
#left-area ul li::before,
.entry-content ul li::before,
.comment-content ul li::before,
#sidebar .et_pb_widget ul li::before {
  content: "\2022";
  color: #d22334;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}
#left-area ul.products li::before {
	display: none;
}*/

/* --- Buttons --- */

button.et_pb_button,
.et_button_no_icon .et_pb_button,
a.et_pb_button,
.et_pb_button {
	display:inline-block!important;
	width:auto;
	margin:1em 0.5em 1em 0px!important;
	padding:0.6em 1.5em 0.5em!important;
	border-radius:1.5em;
	font-family: 'Avenir Heavy', 'sans-serif';
	font-size: 18px!important;
	font-style: normal;
	text-align:center;
	text-transform:uppercase;
}
button.et_pb_button:hover,
.et_button_no_icon .et_pb_button:hover,
a.et_pb_button:hover,
.et_pb_button:hover {
	padding:0.6em 1.5em 0.5em!important;
	cursor: pointer;
}
.et_pb_module .et_pb_button.red-button,
.et_pb_button.red-button {
	border:2px solid #c8414e;
	color:#ffffff!important;
	background-color:#c8414e;
}
.et_pb_module .et_pb_button.red-button:hover,
.et_pb_button.red-button:hover {
	color:#263341!important;
	background-color:#ffffff!important;
	border:2px solid #c8414e!important;
}
.et_pb_module .et_pb_button.blue-button,
.et_pb_button.blue-button {
	border:2px solid #33b9cd;
	color:#ffffff!important;
	background-color:#33b9cd;
}
.et_pb_module .et_pb_button.blue-button:hover,
.et_pb_button.blue-button:hover {
	color:#263341!important;
	background-color:#ffffff!important;
	border:2px solid #33b9cd!important;
}
.et_pb_module .et_pb_button.yellow-button,
.et_pb_button.yellow-button {
	border:2px solid #ffd530;
	color:#263341!important;
	background-color:#ffd530;
}
.et_pb_module .et_pb_button.yellow-button:hover,
.et_pb_button.yellow-button:hover {
	color:#263341!important;
	background-color:#ffffff;
	border:2px solid #ffd530!important;
}

/* Custom CSS */

.red-highlight {
	font-family: 'Avenir Heavy','Helvetica Neue', Helvetica, Arial, 'sans-serif';
	color: #c8414e;
}
.blue-highlight {
	font-family: 'Avenir Heavy','Helvetica Neue', Helvetica, Arial, 'sans-serif';
	color: #000000;
}
.grid-image img {
	display:block;
	height:100%;
	width:100%!important;
	object-fit:cover;
}
.top-shadow {
  position: relative;
	overflow:hidden;
}
.top-shadow:before, .top-shadow:after {
  position: absolute;
  content: "";
  height:55px;
  left: -5%;
  width: 55%;
  top: -100px;
  max-width:55%;
  background: #777;
  -webkit-box-shadow: 0 18px 40px #000,0 20px 45px #000, 0 22px 50px #000, 0 24px 55px #000, 0 26px 60px #000;
  -moz-box-shadow: 0 18px 40px #000,0 20px 45px #000, 0 22px 50px #000, 0 24px 55px #000, 0 26px 60px #000;
  box-shadow: 0 18px 40px #000,0 20px 45px #000, 0 22px 50px #000, 0 24px 55px #000, 0 26px 60px #000;
  -webkit-transform: rotate(-2.5deg);
  -moz-transform: rotate(-2.5deg);
  -o-transform: rotate(-2.5deg);
  -ms-transform: rotate(-2.5deg);
  transform: rotate(-2.5deg);
}
.top-shadow:after {
  -webkit-transform: rotate(2.5deg);
  -moz-transform: rotate(2.5deg);
  -o-transform: rotate(2.5deg);
  -ms-transform: rotate(2.5deg);
  transform: rotate(2.5deg);
  right:-5%;
  left: auto;
}
.post-meta,
#left-area post-meta {
	font-size:1em!important;
	color:#d22334;
}

.grid-container { 
  display: -ms-grid; 
  display: grid; 
  -ms-grid-columns: 1fr 25px 1fr 25px 1fr; 
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 75px 25px;
  position:relative;
	width:100%;
  max-width:100%;
  z-index:0;
  padding:0 0 4px 0;
}

/* Personnel Grid */

.grid-container.personnel-listing {
	-ms-grid-columns: 1fr 25px 1fr;
  grid-template-columns: repeat(2, 1fr);
}
.grid-container.personnel-listing .grid-column {
  position:relative;
  overflow:hidden;
}
.grid-container.personnel-listing .grid-column .et_pb_image_wrap.grid-image {
  aspect-ratio:0.85/1!important;
	width:80%;
	margin:0 auto;
}
.grid-container.personnel-listing .grid-column .text-content {
	position:relative;
	padding: 0 0 1em;
	text-align:center;
}
.grid-container.personnel-listing .grid-column h5.listing-title {
	text-align:center;
	color:#33b9cd!important;
	padding: .75em 0 0;
}

/* Blog grid */
.grid-container.blog-listing {
	-ms-grid-columns: 1fr 20px 1fr 20px 1fr;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px 20px;
}
.grid-container.blog-listing .grid-column {
  position:relative;
  overflow:hidden;
}
.grid-container.blog-listing .grid-column::before { 
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background: -webkit-linear-gradient(transparent 50%,rgba(0,0,0,.75) 100%);
  background: -o-linear-gradient(transparent 50%,rgba(0,0,0,.75) 100%);
  background: linear-gradient(transparent 50%,rgba(0,0,0,.75) 100%);
}
.grid-container.blog-listing .grid-column .et_pb_image_wrap {
  aspect-ratio:1/1;
}
.grid-container.blog-listing .grid-column h5.inactive-title {
  font-family: 'Avenir Book', sans-serif;
  font-weight:500;
  color: #ffffff;
  text-align:center;
  position: absolute;
  width:100%;
  bottom:0;
  padding-left: 3%;
  padding-right:3%;
  z-index: 4;
  font-size:1.25em!important;
  opacity:1;
  transition: opacity .5s;
  transition-timing-function: ease-out;
}
.grid-container.blog-listing .grid-column.active h5.inactive-title {
  opacity:0;
}
.grid-container.blog-listing .grid-column .text-content h5.active-title {
  font-family: 'Avenir Book', sans-serif;
  color: #ffffff;
  font-size: 1.2em!important;
  padding-bottom:0.5em;
}
.grid-container.blog-listing .grid-column .text-content {
  font-size:0.913em;
	line-height:1.5em;
  color: #ffffff;
  position: absolute;
  z-index: 5;
  opacity:0;
  padding: 0.5em 3% 0;
  transition: left .5s, opacity .5s;
  transition-timing-function: ease-out;
  width: 100%;
  height: 100%;
  left: -100%;
  top: 0;
}
.grid-container.blog-listing .grid-column.active .text-content {
  left: 0;
  opacity:1;
  background:rgba(0,0,0,0.8);
}
.grid-container.blog-listing .grid-column .text-content .et_pb_button {
	font-size: 16px!important;
  margin-top:1.5em!important;
}
.grid-container.blog-listing .grid-column .btn.loadMoreBtn  {
	display:inline-block!important;
	height: 60px!important;
	max-height: 60px!important;
}

/* Woocommerce CSS */
.woocommerce-store-notice, p.demo_store {
	 background-color:#c8414e!important;
}
.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty,
.woocommerce #content .quantity input.qty,
.woocommerce-page #content .quantity input.qty,
.woocommerce-cart table.cart td.actions .coupon .input-text {
	border-radius: 8px;
	border:2px solid #33b9cd;
	height: 40px;
	background:#ffffff;
}
.orderby,
.woocommerce div.product form.cart .variations td select {
	background-color:#c8414e;
	color:#fff!important;
	font-size:0.9em;
	border-radius:5px;
	border:0;
	padding:0.25em 0.5em;
}
.widget_shopping_cart .cart_list li, .widget_shopping_cart .total {
    font-size: 1em !important;
}
/*.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
	color: #d22334 !important;
	font-size: 1em;
	font-weight: 700;
}
form.cart .quantity input {
	margin:1em 0.5em 1em 0px!important;
}
.woocommerce-cart .woocommerce_cart_tables_wrapper {
  display: flex;
}
.woocommerce-cart .woocommerce-cart-form {
  flex: 1 0 70%;
  margin-right: 30px;
}
.woocommerce-cart .cart-collaterals {
  flex: 1 0 30%;
  margin-left: 30px;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  padding: 0 20px 70px;
}
.woocommerce ul.product_list_widget li a {
	display: inline;
}
.woocommerce ul.product_list_widget li img {
	width: 48px;
}
table.shop_table,
table.shop_table th, 
table.shop_table tr {
	border-radius:0!important;
}
table.shop_table th {
	background:#d22334;
	color:#fff;
}
table.shop_table th h5 {
	color:#fff!important;
	padding:0;
}
.woocommerce-message {
background-color: #4bb07a !important;
}
.woocommerce-info,
.woocommerce-error {
    background-color: #d22334!important;
}
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row textarea {
	border-radius:0!important;
}
#billing_country_field.form-row,
#shipping_country_field.form-row {
	margin-bottom:3em;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { 
	color: #333;
	line-height: 28px;
	border-radius: 0 !important;
	padding: 13px 10px !important;
	background-color: #fff;
	border: solid 1px rgb(187, 187, 187);
}
.select2-container--default .select2-selection--single  {
	border:none !important;
	border-radius: 0 !important;
}
.select2-container--open .select2-dropdown--below,
.select2-container--open .select2-dropdown--above {
  border-radius: 0!important;
}
.legals {
	font-size: 0.875em;
	font-style:italic;
	margin-bottom:1em;
}

/* Inner Pages */

/*.archive.tax-product_cat .page-featured-image,
.inner-page .page-featured-image {
	position:relative;
	line-height:0;
	height:45vw;
}
.archive.tax-product_cat  .page-featured-image .page-headings-container-image,
.inner-page .page-featured-image .page-headings-container-image {
	position:absolute;
	width:100%;
	left:0; bottom:0;
	background:rgba(256,256,256,0.75);
	background: -moz-linear-gradient(left, rgba(256,256,256,0.9) 0%, rgba(256,256,256,0) 100%);
	background: -webkit-linear-gradient(left, rgba(256,256,256,0.9) 0%, rgba(256,256,256,0) 100%);
	background: linear-gradient(to right, rgba(256,256,256,1) 0%,rgba(256,256,256,0) 100%);
	margin:0!important;
	padding:0!important;	
}
.woocommerce-page .page-headings-container-blank,
.inner-page .page-headings-container-blank {
	position:relative;
	width:100%;
	margin:0!important;
	padding:10em 0 0!important;
}
.archive.tax-product_cat .page-headings-container-blank h1.page-title,
.archive.tax-product_cat .page-featured-image h1.page-title,
.inner-page .page-headings-container-blank h1.page-title,
.inner-page .page-featured-image h1.page-title {
	font-size: 3em;
	line-height:1em;
	font-family: 'Avenir Heavy','Helvetica Neue', Helvetica, Arial, 'sans-serif';
	color:#000!important;
	width:90%;
	max-width:1200px;
	padding-top:.25em!important;
	padding-bottom:0.25em!important;
	margin:0 auto;
}
#bespoke-products-section .et_pb_row {
	width:100%;
}

/* Sidebar */

#sidebar {
	padding-top: 2.5vw;
}
#sidebar .et_pb_widget {
	line-height: 1.2em!important;
}
#sidebar .et_pb_widget h4.widgettitle {
	font-size: 1.50em!important;
	color: #fff;
	padding:0.300em 0.250em 0.300em 0.500em;
	border-radius:1em;
	background: #d22334;
	margin-bottom:1em;
}
#sidebar .sidebar-blog-item {
	margin-bottom:1.5em!important;
	border:1px solid #ddd;
}
#sidebar .sidebar-blog-item .textbox {
	padding:0.5em;
}
#sidebar .sidebar-blog-item .et_pb_image_wrap {
	aspect-ratio:1/0.75!important;
}
#sidebar .et_pb_widget a.sidebar-title,
#sidebar .et_pb_widget a.sidebar-title:hover {
	font-size: 0.9em!important;
	font-style:italic;
	color: #263341;
}

/* Single */

.single .header-block {
  background:#263341;
}
.single .header-block .et_pb_row .et_pb_column {
  z-index:1!important;
}
.single .header-block .et_pb_row h1 {
  color:#ffffff;
  border-bottom: 1px solid #ffd530;
  font-size:2em;
}
.single .header-block .et_pb_image_wrap {
  aspect-ratio:1/1;
}
.single .header-block .et_pb_row img {
  border: 2px solid #ffffff;
}
.single .header-block .single-snippet {
	font-size:1.125em;
  color: #ffffff;
}
.single .container {
  padding-top:1.5em!important;
}
.single .container,
.single .header-block .et_pb_row {
	width:80%;
	max-width:80%;
}
.single .post-nav-block {
  position:relative;
  margin-top:1.5em;
  border-top: 1px solid #263341;
  text-align:center;
  margin:2.5em 0;
}
.single .post-nav-block span.nav-previous,
.single .post-nav-block span.nav-next {
  max-width:41%!important;
}
.single .nav-backlink {
  position:absolute;
  max-width:18%!important;
  top:0;
  left: 0;
  right: 0;
  margin: auto;
}
.single .nav-backlink,
.single .nav-previous,
.single .nav-next {
  line-height:1em!important;
  padding-top:0.25em;
}
.single .nav-backlink,
.single .nav-previous,
.single .nav-next {
  line-height:1em!important;
  padding-top:0.25em;
}
.single .nav-previous:before,
.single .nav-next:after {
  font-family:'ETmodules';
  font-weight:600;
  font-size: 1.3em;
  color: #33b9cd;
}
.single .nav-previous {
  text-align:left;
}
.single .nav-next {
  text-align:right;
}
.single .nav-previous:before {
  content: "\23";
  margin-right:0.3em;
  vertical-align:middle;
}
.single .nav-next:after {
  content: "\24";
  margin-left:0.3em;
  vertical-align:middle;
}
.single .nav-backlink a,
.single .nav-previous a,
.single .nav-next a {
  color: #33b9cd;
}

/* Forms */

.wpcf7-form {
	margin:0 auto;
	padding: 0;
	box-sizing:border-box;
	overflow:hidden;
}
.wpcf7-form#page-contact-form {
	margin:0 auto;
	padding: 4em 10% 3em;
	background-color: #ffcc00;
	background-size:cover;
	background-position:top;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  font-size:0.913em!important;
  padding: 0.5em 0.375em;
  color:#000;
	border-radius:0.75em;
	border:1px solid #156e83;
  margin: 0 0 20px 0;
	width:100%;
	background:#fff;
}
.wpcf7-form input.half-width.left-side {
  width:49.5%!important;
  margin-right:1%!important;
}
.wpcf7-form input.half-width.right-side {
  width:49.5%!important;
  margin-right:0!important;
}
.wpcf7-form input[type="submit"] {
 float:right;
}
.wpcf7-form input[type="submit"]:hover {
 cursor:pointer;
}
textarea {
 overflow: auto;
}
.wpcf7 .wpcf7-mail-sent-ok {
	border:2px solid #ffd530;
	margin: 2em 0 1em;
}
.wpcf7 .wpcf7-validation-errors {
	border:2px solid #c8414e;
	margin: 2em 0 1em;
}

/*
@media (min-width: 480px) and (max-width: 677px) {
	.archive.tax-product_cat .page-featured-image,
	.inner-page .page-featured-image {
		height:50vw;
	}
	.archive.tax-product_cat .page-headings-container-blank h1.page-title,
	.archive.tax-product_cat .page-featured-image h1.page-title,
	.inner-page .page-headings-container-blank h1.page-title,
	.inner-page .page-featured-image h1.page-title {
		font-size: 2em;
		width:95%;
	}	
}
@media (min-width: 677px) {
	.single .et_pb_row.bespoke-row-single {
		display:flex;
	}
	.single .et_pb_row.bespoke-row-single .et_pb_image_wrap {
		margin-right:10%;
	}
}*/
@media (max-width: 479px) {
	.grid-container.personnel-listing {
  	grid-template-columns: repeat(1, 1fr);
		-ms-grid-columns: 1fr;
		max-width:80%;
		margin:0 auto!important;
	}
	.grid-container.blog-listing {
  	grid-template-columns: repeat(1, 1fr);
		-ms-grid-columns: 1fr;
	}
	.grid-container.blog-listing .grid-column h5.active-title {
  	padding-top:0;
	}
	.grid-container.blog-listing .grid-column .blog-snippet {
  	display:none;
	}
	.single .header-block {
  	display:block;
	}
}
@media (max-width: 677px) {
	.wpcf7-form input.half-width.left-side {
  	width:100%!important;
  	margin-right:0!important;
	}
	.wpcf7-form input.half-width.right-side {
  	width:100%!important;
  	margin-right:0!important;
	}
}
@media  (min-width: 480px) and (max-width: 767px) {
	.grid-container.blog-listing {
		-ms-grid-columns: 1fr 20px 1fr;
  	grid-template-columns: repeat(2, 1fr);
	}
	.grid-container.blog-listing .grid-column h5.active-title {
  	padding-top:0;
	}
	.grid-container.blog-listing .grid-column .blog-snippet {
  	display:none;
	}
	.single .header-block {
  	display:block;
	}
}
@media (min-width: 768px) and (max-width: 980px) {
	.grid-container.blog-listing {
		-ms-grid-columns: 1fr 20px 1fr;
  	grid-template-columns: repeat(2, 1fr);
	}
	.single .header-block .et_pb_row {
  	display:flex;
		width:90%!important;
		max-width:90%!important;
	}
	.single .header-block .et_pb_row .et_pb_column_1_3 {
  	padding-right:2%;
	}
	.single .header-block .et_pb_row .et_pb_column_2_3 {
  	padding-left:2%;
	}
	.single.single-post #sidebar {
  	display:none;
	}
}
@media (max-width: 980px) {
	.single.single-post #sidebar {
  	display:none;
	}
}
/*@media (min-width: 678px) and (max-width: 779px) {
	.archive.tax-product_cat .page-headings-container-blank h1.page-title,
	.archive.tax-product_cat .page-featured-image h1.page-title,
	.inner-page .page-headings-container-blank h1.page-title,
	.inner-page .page-featured-image h1.page-title {
		font-size: 2em;
		width:95%;
	}	
}

@media only screen and (min-width: 981px) {
	.single .et_pb_row.bespoke-row-single .et_pb_image_wrap {
		margin-right:0;
	}
}
@media (min-width: 981px) and (max-width: 1280px) {
	#products-section .et_pb_row.products-row h2 {
		font-size: 1.5em!important;
	}
}

/*



@media only screen and (min-width: 981px) {
	.logo_container {
		text-align:center;
	}
	.home #logo {
		margin-top:10px;
		min-height: 10vw;
	}
	.inner-page #logo {
		margin-top:10px;
		min-height: 8vw;
	}
	.inner-page.et_full_width_page #left-area,
	.et_right_sidebar #left-area {
		padding-top: 5vw;
		padding-bottom: 5vw!important;
	}
}

@media (min-width: 981px) and (max-width: 1679px) {
}

@media (min-width: 1920px) {
	.home #header-section .et_pb_row_0.et_pb_row {
		padding-bottom:12em!important;
	}
	.inner-page #logo {
		margin-top:10px;
		min-height: 6vw;
	}
	#left-area {
		padding-top: 4vw;
		padding-bottom: 4vw!important;
	}
}