/*   
Theme Name: 1348 Design - Websites
Theme URI: https://1348.design
Description: Our custom WordPress theme for the website packages sub-domain
Author: Jan Hacker @ 1348 Design
Author URI: https://1348.design
Version: 1.1
*/

/***** Reset *****/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, caption{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
	-webkit-text-size-adjust: 100%;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ul {
	list-style: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/***** Clear Fix *****/
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}

/***** Setup Custom Properties *****/
:root{
	--light-grey: #f8f8f8;
	--mid-grey: #e3e3e3;
	--dark-grey: #444;
	--blue-grey: #d2dbdf;
	--green-accent: #467081;
	--yellow-accent: #d4af34;
	--maroon-accent: #873c54;
	--alert-green: #7BA86A;
	--alert-red: #DF384D;
}

/***** Global Styles *****/
body{
	font-family: 'Fira Sans', Helvetica, Arial, sans-serif;
	font-weight: 300;
	font-size: 20px;
	color: #555;
	background: #efefef;
	background: url(_images/bg.jpg) repeat fixed;
	background-size: 3px 3px;
	-webkit-font-smoothing: subpixel-antialiased;
}
strong, b{
	font-weight: 400;
}
em{
	font-style: italic;
}
.page-wrap{
	position: relative;
	width: calc(100% - 80px);
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px;
}
.header{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 200px;
    text-align: center;
	z-index: 200;
}
.header-content{
	position: fixed;
	width: 200px;
}
.main{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 240px);
	padding-left: 40px;
	z-index: 100;
}
.header-nav-mobile{
	display: none;
}
.header-logo{
	display: block;
	width: 100%;
	height: 175px;
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--blue-grey);
	background: url(_images/1348-Design-Logo.png) no-repeat;
	background: url(_images/1348-Design-Logo.svg) no-repeat;
	background-size: contain;
}
.header-logo:hover{
	opacity: 0.8;	
}
.header-logo_img{
	display: block;
	width: 100%;
	height: auto;
}
.header-nav-wrap{
	position: relative;
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--blue-grey);
}
.header-nav-main-menu .menu-item{
    position: relative;
	border-bottom: 4px solid var(--mid-grey);
	margin: 12px 0 0 0;
}
.header-nav-main-menu .menu-item:hover{
	border-bottom: none;
	padding: 4px 0 0 0;
}
.header-nav-main-menu .menu-item a{
    display: block;
    padding: 8px 0;
    background: #fff;
    color: #555;
    text-decoration: none;
    cursor: pointer;
}
.header-nav-main-menu .menu-item-has-children:hover::after{
	content: "";
	display: block;
	width: 15px;
	position: absolute;
	top: -10%;
	left: 100%;
	height: 250%;
}
.header-nav-main-menu .sub-menu{
	visibility: hidden;
	opacity: 0;
	position: absolute;
	width: 220px;
	top: 3px;
	left: calc(100% + 34px);
	padding: 8px 0;
	border-radius: 8px;
	background: #fff;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
	transition: all 0.2s;
}
.header-nav-main-menu .menu-item-has-children:hover .sub-menu{
	visibility: visible;
	opacity: 1;
	left: calc(100% + 14px);
}
.header-nav-main-menu .sub-menu .menu-item:first-child::before{
	content: "";
	position: absolute;
	top: 0;
	left: -10px;
	display: block;
	width: 0; 
	height: 0; 
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent; 
	border-right: 10px solid #fff; 
}
.header-nav-main-menu .sub-menu .menu-item,
.header-nav-main-menu .sub-menu .menu-item:hover{
	margin: 0;
	padding: 0;
	border-bottom: none;
}
.header-nav-main-menu .sub-menu .menu-item a{
    display: block;
    padding: 8px 10px;
	margin: 0 8px;
	border-bottom: 1px solid #f4f4f4;
	font-size: 17px;
	background: #fff;
}
.header-nav-main-menu .sub-menu .menu-item a:hover{
	background: var(--light-grey);	
}
.header-nav-main-menu .sub-menu .menu-item:first-child a{
	border-radius: 3px 3px 0 0;
}
.header-nav-main-menu .sub-menu .menu-item:last-child a{
	border-bottom: none;
	border-radius: 0 0 3px 3px;
}
.websites-menu-header{
	display: block;
    position: absolute;
    left: -62px;
    top: 37px;
    width: 79px;
    height: 16px;
    padding: 6px 10px 3px 10px;
    border-radius: 8px 8px 0 0;
    background: var(--yellow-accent);
	color: #fff;
    font-size: 15px;
    transform: rotate(270deg);
}
.header-nav-websites{
    padding: 8px 0;
    border-radius: 0 8px 8px 8px;
    background: #fff;
    -webkit-box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 13%);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 13%);
}
.header-nav-websites .menu-item,
.header-nav-websites .menu-item:hover{
	margin: 0;
	padding: 0;
	border-bottom: none;
}
.header-nav-websites .menu-item a{
    display: block;
    padding: 8px 10px;
	margin: 0 8px;
	border-bottom: 1px solid #f4f4f4;
	font-size: 17px;
	background: #fff;
}
.header-nav-websites .menu-item a:hover{
	background: var(--light-grey);	
}
.header-nav-websites .menu-item:first-child a{
	border-radius: 3px 3px 0 0;
}
.header-nav-websites .menu-item:last-child a{
	border-bottom: none;
	border-radius: 0 0 3px 3px;
}
.header-nav-social{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}
.header-nav-social_li{
	position: relative;
	width: calc(33.33% - 8px);
	margin: 0 0 12px 0;
	border-bottom: 4px solid var(--mid-grey);
	line-height: 0;
}
.header-nav-social_li:hover{
	border-bottom: none;
	padding: 4px 0 0 0;
}
.header-nav-social_a{
	display: block;
	padding: 4px;
	background: #fff;
}
.header-nav-social_img{
	height: 20px !important;
	width: auto;
}
.main-content{
	width: 100%;
	border-top: 4px solid var(--mid-grey);
	border-bottom: 4px solid var(--mid-grey);
	background: #fff;
}
.footer{
	text-align: right;
	font-size: 15px;
}
.footer-menu{
	padding: 40px 0 10px 0;
}
.footer-menu li{
	display: inline;
}
.footer-menu li::after{
	content: " - ";
	display: inline;
	padding: 0 8px;
}
.footer-menu li:last-child::after{
	display: none;
}
.footer-menu li a{
	color: #333;	
}
.footer-menu li a:hover{
	color: var(--green-accent);	
}
h1{
	padding: 20px 0 40px 0;
	font-size: 47px;
	font-weight: 300;
	text-align: center;
}
h2{
	padding: 30px 0 20px 0;
	font-size: 37px;
	font-weight: 300;
	text-align: center
}
h1::after,
h2::after{
	content: '';
	position: relative;
	display: block;
	width: 25%;
	margin: 34px auto 0 auto;
	border-bottom: 1px solid var(--blue-grey);
}
.content-section--standard h3{
	font-size: 27px;
	margin-bottom: 20px;
	line-height: 1.6;
}
.content-section--standard h4{
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: bold;
	line-height: 1.6;
}
p{
	margin-bottom: 20px;
	line-height: 1.6;
}
p a,
.content-section--standard li a,
.blog-single-tags a,
.portfolio-single-tags a,
.design-distilled-single-tags a{
	color: var(--green-accent);	
}
p a:hover,
.content-section--standard li a:hover,
.blog-single-tags a:hover,
.portfolio-single-tags a:hover,
.design-distilled-single-tags a:hover{
	color: #222;	
}
img.aligncenter{
	position: relative;
	margin: 20px auto;
	text-align: center;
    float: none;
}
.button,
.nf-form-content .ninja-forms-field.button,
.nf-form-content .nf-element.button,
.nf-form-content button,
.nf-form-content input[type=button],
.nf-form-content input[type=submit]{
	display: inline-block;
	height: auto;
	padding: 10px 20px;
	border: none;
	border-radius: 999px;
	background-color: var(--dark-grey);
	font-size: 20px;
	font-family: 'Fira Sans', Helvetica, Arial, sans-serif;
	font-weight: 300;
	text-decoration: none;
	color: #fff;
	line-height: 1;
	cursor: pointer;
	transition: none;
}
.button--yellow,
.nf-form-content .ninja-forms-field.button--yellow,
.nf-form-content .nf-element.button--yellow,
.nf-form-content button.button--yellow,
.nf-form-content input[type=button].button--yellow,
.nf-form-content input[type=submit].button--yellow{
	background-color: var(--yellow-accent);	
}
.button:hover,
.nf-form-content .ninja-forms-field.button:hover,
.nf-form-content .nf-element.button:hover,
.nf-form-content button:hover,
.nf-form-content input[type=button]:hover,
.nf-form-content input[type=submit]:hover{
	opacity: 0.8;
	background-color: var(--dark-grey);
	color: #fff;
}
.button--yellow:hover,
.nf-form-content .ninja-forms-field.button--yellow:hover,
.nf-form-content .nf-element.button--yellow:hover,
.nf-form-content button.button--yellow:hover,
.nf-form-content input[type=button].button--yellow:hover,
.nf-form-content input[type=submit].button--yellow:hover{
	background-color: var(--yellow-accent);	
}
.content-button-container{
	position: relative;
	width: 100%;
	display: flex;
	justify-content: flex-start;
}
.content-button-container--center{
	justify-content: center;
}
.content-button{
	margin: 40px 20px;
}
.nf-error.field-wrap .nf-field-element:after{
	border-radius: 0 999px 999px 0;
}
.nf-form-fields-required{
	display: none;
}
.checkbox-container.label-right .field-wrap{
	display: block !important;
}
.checkbox-container.label-right label{
	font-weight: 300 !important;
	font-size: 15px !important;
}
.checkbox-container.label-right .nf-field-description{
	padding: 10px 0 0 0 !important;
}
.nf-form-fields-required,
.ninja-forms-req-symbol{
	display: none;
}
.home-cta-group{
	display: table;
	width: 100%;
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
    -webkit-box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 13%);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 13%);
}
.home-cta-email{
	display: table-cell;
	vertical-align: middle;
	width: calc(75% - 40px);
	padding: 0 20px;
	border: none;
	background: #fff;
	font-size: 20px;
	font-family: 'Fira Sans', Helvetica, Arial, sans-serif;
	font-weight: 300;
	color: #555;
	line-height: 1;
}
.home-cta-submit{
	display: table-cell;
	vertical-align: middle;
	width: 25%;
	border-radius: 0 999px 999px 0;
}

/* ----- Content Sections ----- */
.content-section--full{
	position: relative;
	margin: 40px auto;
	padding: 0 40px;
}
.content-section--standard{
	position: relative;
	max-width: 840px;
	margin: 40px auto;
	padding: 0 40px;
}
.standard-section-heading{
	margin-bottom: 40px;
}
.standard-section-thumb{
	max-width: 300px;
	height: auto;
	float: right;
	margin: 10px 0 30px 30px;
}
.content-section--standard.bold-first p:first-child,
.content-section--standard.bold-first .standard-section-thumb + p,
.content-section--standard.bold-first .standard-section-heading + p{
	font-weight: 400;
	font-size: 22px;
}
.content-section--service-cards{
	margin: 100px 0;	
}
.service-cards-heading{
	margin-bottom: 40px;
}
.service-cards-container{
	display: flex;
	justify-content: space-between;
	padding: 0 40px;
}
.service-card{
	position: relative;
	width: calc(33.33% - 26.66px);
	border-radius: 13px;
	background: var(--light-grey);
	overflow: hidden;
	text-decoration: none;
	color: #555;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
	transition: all 0.2s;
}
.service-card:hover{
	transform: translateY(-20px);
	background: #fff;
	-webkit-box-shadow: 0px 18px 18px 0px rgba(0,0,0,0.13);
	-moz-box-shadow: 0px 18px 18px 0px rgba(0,0,0,0.13);
	box-shadow: 0px 18px 18px 0px rgba(0,0,0,0.13);
}
.service-card_heading{
	width: 100%;
	padding: 16px 0;
	color: #fff;
	text-align: center;
}
.service-card_heading--yellow{
	background: var(--yellow-accent);	
}
.service-card_heading--green{
	background: var(--green-accent);	
}
.service-card_heading--maroon{
	background: var(--maroon-accent);	
}
.service-card_image-container{
	position: relative;
	width: 100%;
	height: 100px;
	text-align: center;
}
.service-card_image-container img{
	height: 100%;
	width: auto;
	max-width: none;
}
.service-card_text{
	padding: 20px 26px 2px 26px;
}
.content-section--project-links{
	margin: 100px 0;	
}
.project-links{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 40px;
}
.project-links_a{
	position: relative;
	vertical-align: top;
	width: calc(25% - 30px);
	margin-top: 40px;
	border-bottom: 4px solid var(--mid-grey);
	background: #fff;
	overflow: hidden;
	text-decoration: none;
	line-height: 0;
	color: #555;
	transition: all 0.2s;
}
.project-links_a img{
	width: 100%;
	height: auto;
	line-height: 0;
}
.project-links_title{
	position: absolute;
	display: none;
	top: 0;
	left: 0;
	width: calc(100% - 26px);
	padding: 8px 13px;
	background: var(--green-accent);	
	font-size: 24px;
	line-height: 1.4;
	color: #fff;
}
.project-links_a:nth-child(3n+2) .project-links_title{
	background: var(--maroon-accent);	
}
.project-links_a:nth-child(3n+3) .project-links_title{
	background: var(--yellow-accent);
}
.project-links_a:hover .project-links_title{
	display: block;
}
.content-section--testimonial{
	display: flex;
	width: 100%;
	position: relative;
	margin: 60px auto;
}
.testimonial_quote{
	width: 66.66%;
	padding: 40px 60px;
	background: var(--light-grey);
}
.testimonial_quote blockquote{
	font-style: italic;
	font-size: 26px;
	line-height: 1.6;
	quotes: "“" "”" "‘" "’";
	text-indent: -0.30em;
}
.testimonial_quote blockquote::before{
    content: open-quote;
	display: inline;
}
.testimonial_quote blockquote::after{
    content: close-quote;
	display: inline;
}
.testimonial_name{
	padding: 20px 0 0 0;
}
.testimonial_image{
	display: block;
	width: 33.33%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
.packages-container{
	display: flex;
	width: 100%;
	position: relative;
	margin: 40px auto;
}
.package{
	padding: 0 40px;
	width: 33%;
	text-align: center;
}
.package--middle{
	border-left: 1px solid var(--blue-grey);
	border-right: 1px solid var(--blue-grey);
}
.package-details{
	font-size: 17px;
	padding: 30px 0;
}
.package-details li{
	padding: 12px 0;
}
.package-price{
	padding: 0 0 20px 0;
}
.package-price p{
	font-size: 15px;
	line-height: 1.2;
}
.package-price p strong{
	font-size: 28px;
}
.content-section--testimonial-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 20px 40px 40px 40px;
}
.testimonial-list-item{
	position: relative;
	width: calc(50% - 20px);
	padding: 40px 0 0 0;
}
.testimonial-list_quote{
	font-style: italic;
}
.testimonial-list_name{
	font-weight: 400;
}
.testimonial-list_quote p:first-child::before,
.testimonial-list_quote p:last-child::after{
	content: '"';
	display: inline;
}
.content-section--single-image img{
	position: relative;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.content-multi-image-cols{
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.content-image-col{
	position: relative;
	text-align: center;	
}
.content-multi-image-cols--2 .content-image-col{
	width: calc(50% - 15px);
}
.content-multi-image-cols--3 .content-image-col{
	width: calc(33% - 20px);
}
.content-multi-image-cols--4 .content-image-col{
	width: calc(25% - 22.5px);
}
.content-image-col img{
	max-width: 100%;
	height: auto;
}
.page-white-space{
	padding: 30px 0 0 0;
}
.page-divider{
	margin: 30px 0;
	border-top: 1px solid var(--light-grey);
}
.content-section--home-cta{
	display: flex;
	justify-content: space-between;
	margin: 40px 0 0 0;
	padding: 100px 40px;
	background: var(--light-grey);
}
.home-cta-col{
	width: calc(50% - 20px);
	font-size: 19px;
}
.home-cta-heading{
	padding: 0 0 16px 0;
	margin: 0 0 16px 0;
	border-bottom: 1px solid var(--blue-grey);
}
.home-cta-heading--padded{
	padding-top: 20px;
}
.mailing-list{
	position: relative;
	padding: 20px;
	border-radius: 13px;
	background: #fff;
	overflow: hidden;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
}
.blog-single-tags,
.portfolio-single-tags,
.design-distilled-single-tags{
	padding: 0 0 10px 0;
	text-align: center;
	color: var(--blue-grey);
	font-size: 16px;
}
.blog-single-tags a,
.portfolio-single-tags a,
.design-distilled-single-tags a{
	display: inline-block;
	padding: 0 10px;
}
.gallery{
	display: flex;
	text-align: center;	
	width: 100%;
	flex-wrap: wrap;
}
.gallery br{
	display: none;
}
.gallery .gallery-item{
	position: relative;
    text-align: center;
    width: calc(33.33% - 10px);
    line-height: 0;
}
.gallery img{
	border: none !important;
	float: none;
	width: 100%;
	height: auto;
}
.gallery img:hover{
	opacity: 0.5;
}
.content-section--standard ul{
	margin: 10px 20px 20px 40px;
	list-style: circle;
}
.content-section--standard ol{
	margin: 10px 20px 20px 40px;
	list-style: decimal;
}
.content-section--standard ul li,
.content-section--standard ol li{
	margin: 5px 0 15px 5px;
	line-height: 1.2;
}
.content-section--standard .policy-list ul{
	list-style: none;
}
.content-section--standard .policy-list ul li{
	margin-left: 0;
}
.archive-post,
.archive-project-post{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border-top: 1px solid var(--blue-grey);
	padding: 50px 0;
	text-decoration: none;
	color: var(--text-grey);
}
.archive-post-image,
.archive-project-post-image{
	width: 20%;
}
.archive-post-image img,
.archive-project-post-image img{
	width: 100%;
	height: auto;
}
.archive-post-content,
.archive-project-post-content{
	width: calc(80% - 40px);	
}
.archive-post h3,
.archive-project-post h3{
	color: var(--green-accent);
	line-height: 1.4;
}
.archive-post:hover img,
.archive-project-post:hover img{
	opacity: 0.8;
}
.archive-post:hover h3,
.archive-project-post:hover h3{
	text-decoration: underline;
}
.archive-post-nav{
	text-align: center;
}
.page-numbers{
	display: inline-block;
	vertical-align: middle;
	padding: 8px;
	background: var(--light-grey);
	color: var(--green-accent);
	text-decoration: none;
}
.page-numbers.current,
a.page-numbers:hover{
	background: var(--green-accent);
	color: #fff;
}
.content-section--portfolio-full{
	margin-top: 80px;
}
.header-image{
	line-height: 0;
}
.header-image img{
	width: 100%;
	height: auto;
}
.blog-single-date{
	display: inline-block;
	color: var(--dark-grey);
	padding: 0 10px;
}
.post-nav-links{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}
.post-nav-links{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	border-top: 1px solid var(--blue-grey);
}
.post-nav{
	width: 50%;
	padding: 30px 0 60px 0;
}
.post-nav--next{
	text-align: right;
}
.post-nav a{
	color: var(--green-accent);
}
.post-nav a:hover{
	color: var(--dark-grey);
}

/* ----- WooCommerce Cart -----*/
.woocommerce table.shop_table{
	overflow: hidden;
}
table.cart th,
table.cart td,
.woocommerce table.shop_table td{
	padding: 20px !important;
	font-size: 17px;
}
.woocommerce table.shop_table th{
	padding: 20px !important;
	font-size: 17px;
	font-weight: 400 !important;
	background: var(--light-grey);
}
.cart_item a,
.order_item a,
.order-number a,
.woocommerce-orders-table__cell-order-number a{
	color: var(--green-accent);	
}
.cart_item a:hover,
.order_item a:hover,
.order-number a:hover,
.woocommerce-orders-table__cell-order-number a:hover{
	color: #222;	
}
.woocommerce mark{
	background-color: transparent !important;
	font-weight: 400;
	color: #555;
}
input[type=text],
input[type=number],
input[type=email],
input[type=tel],
input[type=url],
input[type=password],
input[type=search],
textarea,
.input-text{
	border: none !important;
	border-radius: 999px !important;
	background-color: var(--light-grey) !important;
	padding: 10px 20px !important;
	font-size: 17px !important;
	font-family: 'Fira Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	float: none !important;
}
textarea,
textarea.input-text{
	border-radius: 5px !important;
}
table.cart td.actions input {
    display: inline-block;
    width: auto !important;
}
input.adminbar-input{
	background-color: transparent !important;
}
.cart_totals h2::after{
	display: none;
}
table.shop_table_responsive tbody tr td,
table.shop_table_responsive tbody tr th{
    text-align: left;
}
table.shop_table_responsive strong{
	font-weight: 400;
}
.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce button.button{
	border: none;
	border-radius: 999px !important;
	background-color: var(--dark-grey) !important;
	font-size: 17px !important;
	font-family: 'Fira Sans', Helvetica, Arial, sans-serif;
	font-weight: 300 !important;
	text-decoration: none;
	color: #fff !important;
	line-height: 1;
	cursor: pointer;
}
.woocommerce button.button{
	margin: 20px 0 0 0 !important;
	padding: 10px 20px !important;
	background-color: var(--yellow-accent) !important;	
}
.woocommerce .cart .button{
	margin: 0 !important;
}
.woocommerce a.button.invoice{
	margin: 0 0 0 5px;
}
.woocommerce a.button.alt.checkout-button{
	font-weight: 400 !important;
}
.woocommerce-info{
    border-top-color: var(--green-accent) !important;
}
.woocommerce-info::before,
.woocommerce-info a{
    color: var(--green-accent) !important;
}
.woocommerce-info a:hover{
	color: #555 !important;
}

.woocommerce-checkout{
	display: block;
	width: 100%;
}
.woocommerce-checkout::after{
	content: '';
	display: table;
	clear: both;
}
.woocommerce-checkout #customer_details{
	width: 48%;
	float: left;
}
.woocommerce .woocommerce-checkout .col2-set .col-1,
.woocommerce .woocommerce-checkout .col2-set .col-2{
	width: 100% !important;
	float: none !important;
}
.woocommerce-additional-fields{
	margin: 30px 0 0 0;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading{
	width: 48%;
	float: right;
	margin: 0 0 28px 0;
}
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment{
	border: 1px solid rgba(0,0,0,.1);
	overflow: hidden;
	background: var(--light-grey) !important;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box{
	border-radius: 5px !important;
	background: #eee !important;
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before{
	border: 1em solid #eee !important;
    border-right-color: transparent !important;
    border-left-color: transparent !important;
    border-top-color: transparent !important;
}
#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row{
	padding: 3px !important;
	margin: 0 !important;
}
#add_payment_method #payment div.payment_box .wc-credit-card-form,
.woocommerce-cart #payment div.payment_box .wc-credit-card-form,
.woocommerce-checkout #payment div.payment_box .wc-credit-card-form{
	margin: 0;
}
#stripe-payment-data p{
	margin: 0;
}
.wc-stripe-elements-field, .wc-stripe-iban-element-field{
	border: none !important;
    border-radius: 999px !important;
    background-color: var(--light-grey) !important;
    padding: 10px 20px !important;
    font-size: 17px !important;
    font-family: 'Fira Sans', Helvetica, Arial, sans-serif !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}
.woocommerce-privacy-policy-text{
	font-size: 16px;
}
.woocommerce-checkout #payment div.form-row.place-order{
	padding: 20px !important;
}
.woocommerce .woocommerce-checkout #payment #place_order{
	display: block;
	float: none !important;
	width: 100%;
	padding: 1em !important;
	font-weight: 400 !important;
}

/* ----- Account ----- */
.woocommerce-account .woocommerce-MyAccount-navigation{
	width: 20% !important;
}
.woocommerce-MyAccount-navigation-link a{
	display: block;
    padding: 8px 10px;
    margin: 0 8px;
    border-bottom: 1px solid #f4f4f4;
    border-right: 1px solid #f4f4f4;
    font-size: 17px;
    color: #555;
    text-decoration: none;
    cursor: pointer;
}
.woocommerce-MyAccount-navigation-link:last-child a{
	border-bottom: none;	
}
.woocommerce-MyAccount-navigation-link:hover a,
.woocommerce-MyAccount-navigation-link.is-active a{
	background: var(--light-grey);	
}
.woocommerce-Addresses{
	padding: 30px 0 0 0;
}
.woocommerce-account .addresses .title .edit{
	float: none !important;
	border: none;
	border-radius: 999px !important;
	padding: 7px 14px !important;
	margin: 0 0 0 20px;
	background-color: var(--yellow-accent) !important;
	font-size: 14px !important;
	font-family: 'Fira Sans', Helvetica, Arial, sans-serif;
	font-weight: 300 !important;
	text-decoration: none;
	color: #fff !important;
	line-height: 1;
	cursor: pointer;
}
.woocommerce-account .addresses .title .edit:hover{
	opacity: 0.8;
}
.woocommerce-Address address{
	padding: 20px 0 0 0;
	line-height: 1.2;
}
.woocommerce .woocommerce-customer-details address{
	width: auto !important;
	padding: 20px !important;
	line-height: 1.2;
	border-bottom-width: 1px !important;
	border-right-width: 1px !important;
}
.woocommerce form .form-row label{
    line-height: 2;
    margin: 16px 0 0 0;
	font-size: 16px;
}
.woocommerce-account .woocommerce-MyAccount-content{
    width: 78% !important;
}
.woocommerce-form-login,
.checkout_coupon{
	max-width: 600px;
}
.woocommerce form.woocommerce-form-login .form-row,
.woocommerce form.checkout_coupon .form-row{
	width: 98%;
	float: none;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme{
	padding: 7px 0 20px 20px !important;
}
.lost_password a{
	font-size: 16px;
}
.woocommerce-form-row input + span em{
	font-size: 16px;
	line-height: 1.6;
}
.edit-account legend{
	padding: 40px 0 0 0;
}

/* ----- Products ----- */
.woocommerce ul.products li.product{
	text-align: center;
}
.woocommerce ul.products li.product a img{
	display: inline-block !important;
	max-width: 230px;
	height: auto;
}
.woocommerce ul.products li.product a:hover img{
	opacity: 0.8;
}
.woocommerce ul.products li.product a .woocommerce-loop-product__title{
	color: var(--green-accent);
	font-weight: 400;
	padding: 20px 10px;
}
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title{
	color: #555;
}
.woocommerce ul.products li.product a .woocommerce-loop-product__title::after{
	display: none;
}
.woocommerce ul.products li.product .price{
	color: #555 !important;
}
.woocommerce .woocommerce-ordering select{
	border-radius: 999px;
	border: none;
	padding: 10px;
	background: var(--light-grey);
	font-family: 'Fira Sans', Helvetica, Arial, sans-serif;
	font-weight: 300;
	color: #555;
}
.single-product h1{
	width: 68% !important;
	padding: 0 0 40px 0;
	float: right;
	text-align: left;
}
.single-product h1::after{
	margin: 34px 0 0 0;	
}
.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images{
	width: 28% !important;
}
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary{
	width: 68% !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
	color: var(--green-accent) !important;
}
.woocommerce-product-details__short-description{
	padding: 0 0 30px 0;
	margin: 0 0 20px 0;
	border-bottom: 1px solid var(--blue-grey);
}
.woocommerce div.product form.cart .variations{
	width: auto !important;
	margin: 10px 0 20px 0 !important;
}
.woocommerce div.product form.cart .variations label{
	font-weight: 400 !important;
}
.woocommerce div.product form.cart .variations label::after{
	content: ':';
	display: inline;
}
.woocommerce div.product form.cart .variations select{
	width: auto;
	border-radius: 999px;
	border: none;
	padding: 10px;
	background: var(--light-grey);
	font-family: 'Fira Sans', Helvetica, Arial, sans-serif;
	font-weight: 300;
	color: #555;
}
.woocommerce div.product form.cart .reset_variations{
	display: none !important;
}
.woocommerce .woocommerce-variation.single_variation{
	padding: 0 0 30px 0;
}
.product_meta{
	padding: 30px 0 0 0;
	border-top: 1px solid var(--blue-grey);
}
.product_meta .sku_wrapper,
.product_meta .posted_in,
.product_meta .tagged_as{
	display: block;
	font-size: 14px;
	margin: 0 0 10px 0;
}
.product_meta .posted_in a,
.product_meta .tagged_as a{
	color: var(--green-accent);
}
.product_meta .posted_in a:hover,
.product_meta .tagged_as a:hover{
	color: #555;
}
.related.products{
	display: table;
	width: 100%;
	padding: 40px 0 0 0;
}


/* ----- Slider ----- */
.slider{
	position: relative;
	width: 100%;
	height: 588px;
	margin-top: -40px;
	overflow: hidden;
}
.slide{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.slide-image-container{
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
}
.slide-image{
	width: 100%;
	height: auto;
}
.slide-text{
	position: absolute;
	display: block;
	padding: 20px;
	color: #fff;
	font-size: 40px;
	-webkit-box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 13%);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.13);
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 13%);
}
@-webkit-keyframes animate-slide-image-web-01{
	0%    { opacity: 1; top: 40px; }
	19%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	86%   { opacity: 0; top: 102%; }
	96%   { opacity: 1; top: 40px; }
	100%  { opacity: 1; top: 40px; }
}
@-moz-keyframes animate-slide-image-web-01{
	0%    { opacity: 1; top: 40px; }
	19%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	86%   { opacity: 0; top: 102%; }
	96%   { opacity: 1; top: 40px; }
	100%  { opacity: 1; top: 40px; }
}
@-o-keyframes animate-slide-image-web-01{
	0%    { opacity: 1; top: 40px; }
	19%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	86%   { opacity: 0; top: 102%; }
	96%   { opacity: 1; top: 40px; }
	100%  { opacity: 1; top: 40px; }
}
@keyframes animate-slide-image-web-01{
	0%    { opacity: 1; top: 40px; }
	19%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	86%   { opacity: 0; top: 102%; }
	96%   { opacity: 1; top: 40px; }
	100%  { opacity: 1; top: 40px; }
}
.slide-image-web-01{
	top: 40px; /*animate to 0*/
	opacity: 1;  /*animate to 1*/
	-webkit-animation: animate-slide-image-web-01 26s infinite;
	-moz-animation: animate-slide-image-web-01 26s infinite;
	-o-animation: animate-slide-image-web-01 26s infinite;
	animation: animate-slide-image-web-01 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-web-02{
	0%    { opacity: 1; top: 40px; }
	17%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	88%   { opacity: 0; top: 102%; }
	98%   { opacity: 1; top: 40px; }
	100%  { opacity: 1; top: 40px; }
}
@-moz-keyframes animate-slide-image-web-02{
	0%    { opacity: 1; top: 40px; }
	17%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	88%   { opacity: 0; top: 102%; }
	98%   { opacity: 1; top: 40px; }
	100%  { opacity: 1; top: 40px; }
}
@-o-keyframes animate-slide-image-web-02{
	0%    { opacity: 1; top: 40px; }
	17%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	88%   { opacity: 0; top: 102%; }
	98%   { opacity: 1; top: 40px; }
	100%  { opacity: 1; top: 40px; }
}
@keyframes animate-slide-image-web-02{
	0%    { opacity: 1; top: 40px; }
	17%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	88%   { opacity: 0; top: 102%; }
	98%   { opacity: 1; top: 40px; }
	100%  { opacity: 1; top: 40px; }
}
.slide-image-web-02{
	top: 40px; /*animate to 0*/
	opacity: 1;  /*animate to 1*/
	-webkit-animation: animate-slide-image-web-02 26s infinite;
	-moz-animation: animate-slide-image-web-02 26s infinite;
	-o-animation: animate-slide-image-web-02 26s infinite;
	animation: animate-slide-image-web-02 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-web-03{
	0%    { opacity: 1; top: 40px; }
	15%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	90%   { opacity: 0; top: 102%; }
	100%  { opacity: 1; top: 40px; }
}
@-moz-keyframes animate-slide-image-web-03{
	0%    { opacity: 1; top: 40px; }
	15%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	90%   { opacity: 0; top: 102%; }
	100%  { opacity: 1; top: 40px; }
}
@-o-keyframes animate-slide-image-web-03{
	0%    { opacity: 1; top: 40px; }
	15%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	90%   { opacity: 0; top: 102%; }
	100%  { opacity: 1; top: 40px; }
}
@keyframes animate-slide-image-web-03{
	0%    { opacity: 1; top: 40px; }
	15%   { opacity: 1; top: 40px; }
	29%	  { opacity: 0; top: -102%; }
  	90%   { opacity: 0; top: 102%; }
	100%  { opacity: 1; top: 40px; }
}
.slide-image-web-03{
	top: 40px; /*animate to 0*/
	opacity: 1;  /*animate to 1*/
	-webkit-animation: animate-slide-image-web-03 26s infinite;
	-moz-animation: animate-slide-image-web-03 26s infinite;
	-o-animation: animate-slide-image-web-03 26s infinite;
	animation: animate-slide-image-web-03 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-text-web{
	0%    { opacity: 1; top: 50%; }
	19%   { opacity: 1; top: 50%; }
	29%	  { opacity: 0; top: 30%; }
  	86%   { opacity: 0; top: 70%; }
	96%   { opacity: 1; top: 50%; }
	100%  { opacity: 1; top: 50%; }
}
@-moz-keyframes animate-slide-text-web{
	0%    { opacity: 1; top: 50%; }
	19%   { opacity: 1; top: 50%; }
	29%	  { opacity: 0; top: 30%; }
  	86%   { opacity: 0; top: 70%; }
	96%   { opacity: 1; top: 50%; }
	100%  { opacity: 1; top: 50%; }
}
@-o-keyframes animate-slide-text-web{
	0%    { opacity: 1; top: 50%; }
	19%   { opacity: 1; top: 50%; }
	29%	  { opacity: 0; top: 30%; }
  	86%   { opacity: 0; top: 70%; }
	96%   { opacity: 1; top: 50%; }
	100%  { opacity: 1; top: 50%; }
}
@keyframes animate-slide-text-web{
	0%    { opacity: 1; top: 50%; }
	19%   { opacity: 1; top: 50%; }
	29%	  { opacity: 0; top: 30%; }
  	86%   { opacity: 0; top: 70%; }
	96%   { opacity: 1; top: 50%; }
	100%  { opacity: 1; top: 50%; }
}
.slide-text-web{
	top: 50%; /*animate to 200px*/
	left: 0;
	opacity: 1;  /*animate to 1*/
	background: var(--yellow-accent);
	-webkit-animation: animate-slide-text-web 26s infinite;
	-moz-animation: animate-slide-text-web 26s infinite;
	-o-animation: animate-slide-text-web 26s infinite;
	animation: animate-slide-text-web 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-print-01{
  	0%    { opacity: 0; top: 102%; }
  	19%   { opacity: 0; top: 102%; }
	29%   { opacity: 1; top: 40px; }
	52%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-moz-keyframes animate-slide-image-print-01{
  	0%    { opacity: 0; top: 102%; }
  	19%   { opacity: 0; top: 102%; }
	29%   { opacity: 1; top: 40px; }
	52%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-o-keyframes animate-slide-image-print-01{
  	0%    { opacity: 0; top: 102%; }
  	19%   { opacity: 0; top: 102%; }
	29%   { opacity: 1; top: 40px; }
	52%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@keyframes animate-slide-image-print-01{
  	0%    { opacity: 0; top: 102%; }
  	19%   { opacity: 0; top: 102%; }
	29%   { opacity: 1; top: 40px; }
	52%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
.slide-image-print-01{
	top: 102%; /*animate to 0*/
	opacity: 0;  /*animate to 1*/
	-webkit-animation: animate-slide-image-print-01 26s infinite;
	-moz-animation: animate-slide-image-print-01 26s infinite;
	-o-animation: animate-slide-image-print-01 26s infinite;
	animation: animate-slide-image-print-01 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-print-02{
  	0%    { opacity: 0; top: 102%; }
  	21%   { opacity: 0; top: 102%; }
	31%   { opacity: 1; top: 40px; }
	50%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-moz-keyframes animate-slide-image-print-02{
  	0%    { opacity: 0; top: 102%; }
  	21%   { opacity: 0; top: 102%; }
	31%   { opacity: 1; top: 40px; }
	50%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-o-keyframes animate-slide-image-print-02{
  	0%    { opacity: 0; top: 102%; }
  	21%   { opacity: 0; top: 102%; }
	31%   { opacity: 1; top: 40px; }
	50%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@keyframes animate-slide-image-print-02{
  	0%    { opacity: 0; top: 102%; }
  	21%   { opacity: 0; top: 102%; }
	31%   { opacity: 1; top: 40px; }
	50%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
.slide-image-print-02{
	top: 102%; /*animate to 0*/
	opacity: 0;  /*animate to 1*/
	-webkit-animation: animate-slide-image-print-02 26s infinite;
	-moz-animation: animate-slide-image-print-02 26s infinite;
	-o-animation: animate-slide-image-print-02 26s infinite;
	animation: animate-slide-image-print-02 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-print-03{
  	0%    { opacity: 0; top: 102%; }
  	23%   { opacity: 0; top: 102%; }
	33%   { opacity: 1; top: 40px; }
	48%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-moz-keyframes animate-slide-image-print-03{
  	0%    { opacity: 0; top: 102%; }
  	23%   { opacity: 0; top: 102%; }
	33%   { opacity: 1; top: 40px; }
	48%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-o-keyframes animate-slide-image-print-03{
  	0%    { opacity: 0; top: 102%; }
  	23%   { opacity: 0; top: 102%; }
	33%   { opacity: 1; top: 40px; }
	48%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@keyframes animate-slide-image-print-03{
  	0%    { opacity: 0; top: 102%; }
  	23%   { opacity: 0; top: 102%; }
	33%   { opacity: 1; top: 40px; }
	48%   { opacity: 1; top: 40px; }
	62%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
.slide-image-print-03{
	top: 102%; /*animate to 0*/
	opacity: 0;  /*animate to 1*/
	-webkit-animation: animate-slide-image-print-03 26s infinite;
	-moz-animation: animate-slide-image-print-03 26s infinite;
	-o-animation: animate-slide-image-print-03 26s infinite;
	animation: animate-slide-image-print-03 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-text-print{
  	0%    { opacity: 0; top: 70%; }
  	19%   { opacity: 0; top: 70%; }
	29%   { opacity: 1; top: 50%; }
	52%   { opacity: 1; top: 50%; }
	62%   { opacity: 0; top: 30%; }
	100%  { opacity: 0; top: 30%; }
}
@-moz-keyframes animate-slide-text-print{
  	0%    { opacity: 0; top: 70%; }
  	19%   { opacity: 0; top: 70%; }
	29%   { opacity: 1; top: 50%; }
	52%   { opacity: 1; top: 50%; }
	62%   { opacity: 0; top: 30%; }
	100%  { opacity: 0; top: 30%; }
}
@-o-keyframes animate-slide-text-print{
  	0%    { opacity: 0; top: 70%; }
  	19%   { opacity: 0; top: 70%; }
	29%   { opacity: 1; top: 50%; }
	52%   { opacity: 1; top: 50%; }
	62%   { opacity: 0; top: 30%; }
	100%  { opacity: 0; top: 30%; }
}
@keyframes animate-slide-text-print{
  	0%    { opacity: 0; top: 70%; }
  	19%   { opacity: 0; top: 70%; }
	29%   { opacity: 1; top: 50%; }
	52%   { opacity: 1; top: 50%; }
	62%   { opacity: 0; top: 30%; }
	100%  { opacity: 0; top: 30%; }
}
.slide-text-print{
	top: 70%; /*animate to 200px*/
	right: 0;
	opacity: 0;  /*animate to 1*/
	background: var(--green-accent);
	text-align: right;
	-webkit-animation: animate-slide-text-print 26s infinite;
	-moz-animation: animate-slide-text-print 26s infinite;
	-o-animation: animate-slide-text-print 26s infinite;
	animation: animate-slide-text-print 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-branding-01{
  	0%    { opacity: 0; top: 102%; }
  	52%   { opacity: 0; top: 102%; }
	62%   { opacity: 1; top: 40px; }
	86%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-moz-keyframes animate-slide-image-branding-01{
  	0%    { opacity: 0; top: 102%; }
  	52%   { opacity: 0; top: 102%; }
	62%   { opacity: 1; top: 40px; }
	86%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-o-keyframes animate-slide-image-branding-01{
  	0%    { opacity: 0; top: 102%; }
  	52%   { opacity: 0; top: 102%; }
	62%   { opacity: 1; top: 40px; }
	86%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@keyframes animate-slide-image-branding-01{
  	0%    { opacity: 0; top: 102%; }
  	52%   { opacity: 0; top: 102%; }
	62%   { opacity: 1; top: 40px; }
	86%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
.slide-image-branding-01{
	top: 102%; /*animate to 0*/
	opacity: 0;  /*animate to 1*/
	-webkit-animation: animate-slide-image-branding-01 26s infinite;
	-moz-animation: animate-slide-image-branding-01 26s infinite;
	-o-animation: animate-slide-image-branding-01 26s infinite;
	animation: animate-slide-image-branding-01 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-branding-02{
  	0%    { opacity: 0; top: 102%; }
  	54%   { opacity: 0; top: 102%; }
	64%   { opacity: 1; top: 40px; }
	84%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-moz-keyframes animate-slide-image-branding-02{
  	0%    { opacity: 0; top: 102%; }
  	54%   { opacity: 0; top: 102%; }
	64%   { opacity: 1; top: 40px; }
	84%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-o-keyframes animate-slide-image-branding-02{
  	0%    { opacity: 0; top: 102%; }
  	54%   { opacity: 0; top: 102%; }
	64%   { opacity: 1; top: 40px; }
	84%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@keyframes animate-slide-image-branding-02{
  	0%    { opacity: 0; top: 102%; }
  	54%   { opacity: 0; top: 102%; }
	64%   { opacity: 1; top: 40px; }
	84%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
.slide-image-branding-02{
	top: 102%; /*animate to 0*/
	opacity: 0;  /*animate to 1*/
	-webkit-animation: animate-slide-image-branding-02 26s infinite;
	-moz-animation: animate-slide-image-branding-02 26s infinite;
	-o-animation: animate-slide-image-branding-02 26s infinite;
	animation: animate-slide-image-branding-02 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-branding-03{
  	0%    { opacity: 0; top: 102%; }
  	56%   { opacity: 0; top: 102%; }
	66%   { opacity: 1; top: 40px; }
	82%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-moz-keyframes animate-slide-image-branding-03{
  	0%    { opacity: 0; top: 102%; }
  	56%   { opacity: 0; top: 102%; }
	66%   { opacity: 1; top: 40px; }
	82%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-o-keyframes animate-slide-image-branding-03{
  	0%    { opacity: 0; top: 102%; }
  	56%   { opacity: 0; top: 102%; }
	66%   { opacity: 1; top: 40px; }
	82%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@keyframes animate-slide-image-branding-03{
  	0%    { opacity: 0; top: 102%; }
  	56%   { opacity: 0; top: 102%; }
	66%   { opacity: 1; top: 40px; }
	82%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
.slide-image-branding-03{
	top: 102%; /*animate to 0*/
	opacity: 0;  /*animate to 1*/
	-webkit-animation: animate-slide-image-branding-03 26s infinite;
	-moz-animation: animate-slide-image-branding-03 26s infinite;
	-o-animation: animate-slide-image-branding-03 26s infinite;
	animation: animate-slide-image-branding-03 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-image-branding-04{
  	0%    { opacity: 0; top: 102%; }
  	58%   { opacity: 0; top: 102%; }
	68%   { opacity: 1; top: 40px; }
	80%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-moz-keyframes animate-slide-image-branding-04{
  	0%    { opacity: 0; top: 102%; }
  	58%   { opacity: 0; top: 102%; }
	68%   { opacity: 1; top: 40px; }
	80%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@-o-keyframes animate-slide-image-branding-04{
  	0%    { opacity: 0; top: 102%; }
  	58%   { opacity: 0; top: 102%; }
	68%   { opacity: 1; top: 40px; }
	80%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
@keyframes animate-slide-image-branding-04{
  	0%    { opacity: 0; top: 102%; }
  	58%   { opacity: 0; top: 102%; }
	68%   { opacity: 1; top: 40px; }
	80%   { opacity: 1; top: 40px; }
	96%   { opacity: 0; top: -102%; }
	100%  { opacity: 0; top: -102%; }
}
.slide-image-branding-04{
	top: 102%; /*animate to 0*/
	opacity: 0;  /*animate to 1*/
	-webkit-animation: animate-slide-image-branding-04 26s infinite;
	-moz-animation: animate-slide-image-branding-04 26s infinite;
	-o-animation: animate-slide-image-branding-04 26s infinite;
	animation: animate-slide-image-branding-04 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}
@-webkit-keyframes animate-slide-text-branding{
  	0%    { opacity: 0; top: 40%; }
  	52%   { opacity: 0; top: 40%; }
	62%   { opacity: 1; top: 20%; }
	86%   { opacity: 1; top: 20%; }
	96%   { opacity: 0; top: 0; }
	100%  { opacity: 0; top: 0; }
}
@-moz-keyframes animate-slide-text-branding{
  	0%    { opacity: 0; top: 40%; }
  	52%   { opacity: 0; top: 40%; }
	62%   { opacity: 1; top: 20%; }
	86%   { opacity: 1; top: 20%; }
	96%   { opacity: 0; top: 0; }
	100%  { opacity: 0; top: 0; }
}
@-o-keyframes animate-slide-text-branding{
  	0%    { opacity: 0; top: 40%; }
  	52%   { opacity: 0; top: 40%; }
	62%   { opacity: 1; top: 20%; }
	86%   { opacity: 1; top: 20%; }
	96%   { opacity: 0; top: 0; }
	100%  { opacity: 0; top: 0; }
}
@keyframes animate-slide-text-branding{
  	0%    { opacity: 0; top: 40%; }
  	52%   { opacity: 0; top: 40%; }
	62%   { opacity: 1; top: 20%; }
	86%   { opacity: 1; top: 20%; }
	96%   { opacity: 0; top: 0; }
	100%  { opacity: 0; top: 0; }
}
.slide-text-branding{
	top: 40%; /*animate to 400px*/
	right: 0;
	opacity: 0;  /*animate to 1*/
	background: var(--maroon-accent);
	text-align: right;
	-webkit-animation: animate-slide-text-branding 26s infinite;
	-moz-animation: animate-slide-text-branding 26s infinite;
	-o-animation: animate-slide-text-branding 26s infinite;
	animation: animate-slide-text-branding 26s infinite;
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	-o-animation-delay: 2s;
	animation-delay: 2s;
}

/* ----- Cookie Notice ----- */
.cookie-notice-container .button{
    color: #fff;
    border: 1px solid #fff;
    text-decoration: none;
    padding: 0 5px;
    border-radius: 2px;
}
.cookie-notice-container .button:hover,
.cookie-notice-container .button#cn-accept-cookie{
	background: #fff;
	color: var(--green-accent);
}
.cookie-notice-container .button#cn-accept-cookie:hover{
	color: #000;
}

@media (max-width: 1440px) {
	
	.slider{
		height: 550px;
	}
	
}

@media (max-height: 780px), (max-width: 1348px), (orientation: portrait), (hover: none) {
	
	.page-wrap{
		padding: 20px;
		width: calc(100% - 40px);
	}
	.header{
		display: block;
		width: 100%;
		padding: 0 0 20px 0;
		border-bottom: 1px solid var(--blue-grey);
	}
	.header-content{
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		width: 100%;
	}
	.header-logo{
		height: 135px;
		width: 200px;
		margin: 0;
		padding: 0;
		border: none;
	}
	.header-nav-wrap{
		margin: 0;
		padding: 0;
		border: none;
	}
	.header-nav-main{
		display: flex;
		align-items: center;
	}
	.header-nav-main-menu--upper{
		display: none;
	}
	.header-nav-main-menu--upper > .menu{
		display: flex;
	}
	.header-nav-main-menu--lower > .menu{
		display: flex;
		border-left: 1px solid var(--blue-grey);
		margin: 0 0 0 20px;
	}
	.header-nav-main-menu .menu-item{
		margin: 0 0 0 20px;
		border: none;
	}
	.header-nav-main-menu .menu-item a{
		background-color: transparent;
	}
	.header-nav-main-menu .menu-item:hover{
		padding: 0;
	}
	.header-nav-main-menu .sub-menu{
		left: -20px;
		top: 99%;
		width: calc(100% + 40px);
		padding: 0;
		overflow: hidden;
	}
	.header-nav-main-menu .menu-item-has-children:hover .sub-menu{
		left: -20px;
	}
	.header-nav-main-menu .sub-menu .menu-item a{
		padding: 10px 0;
		margin: 0;
		font-size: 14px;
	}
	.header-nav-main-menu .sub-menu .menu-item:first-child::before{
		display: none;
	}
	.header-nav-websites{
		padding: 4px 0;
	}
	.header-nav-websites > .menu{
		display: flex;
	}
	.websites-menu-header{
		left: 0;
		top: -25px;
		transform: rotate(0deg)
	}
	.header-nav-main-menu.header-nav-websites .menu-item{
		margin: 0;
	}
	.header-nav-main-menu.header-nav-websites .menu-item a{
		border-bottom: none;
		margin: 0 4px;
	}
	.header-nav-websites .menu-item:first-child a{
		border-radius: 0 0 0 3px;
	}
	.header-nav-websites .menu-item:last-child a{
		border-radius: 0 3px 3px 0;
	}
	.header-nav-social{
		display: none;
	}
	.main{
		display: block;
		width: 100%;
		padding: 0;
	}
	.slider{
		margin-top: 0;
		height: 630px;
	}

}

@media (max-width: 1200px) {
	
	.slider{
		height: 560px;
	}
	.slide-text{
		font-size: 38px;
	}
	.service-card_image-container{
		height: 94px;
	}
	.service-card_text{
		font-size: 18px;
		padding: 18px 20px 2px 20px;
	}
	.project-links_title{
		font-size: 19px;
	}
	.testimonial_quote{
		padding: 20px 30px;
	}
	.testimonial_quote blockquote{
		font-size: 23px;
	}
	.content-multi-image-cols{
		flex-wrap: wrap;
	}
	.content-multi-image-cols--4 .content-image-col{
		width: calc(50% - 15px);
		padding: 0 0 20px 0;
	}

}

@media (max-width: 1024px) {
	
	.header-logo{
		height: 100px;
		width: 124px;
	}
	.slider{
		height: 480px;
	}
	.slide-text{
		font-size: 36px;
	}
	.service-cards-container{
		padding: 0 30px;
	}
	.service-card{
		width: calc(33.33% - 20px);
	}
	.service-card_image-container{
		height: 88px;
	}
	.service-card_text{
		font-size: 17px;
	}
	.project-links{
		padding: 0 30px;
	}
	.project-links_a{
		width: calc(25% - 20px);
		margin-top: 30px;
	}
	.project-links_title{
		line-height: 1.2;
	}
	.package{
		padding: 0 20px;
	}
	.package-details{
		font-size: 16px;
	}
	.content-section--home-cta{
		padding: 80px 20px;
	}
	.footer-menu li::after{
		padding: 0 4px;
	}

}

@media (max-width: 970px) {
	
	.service-cards-container{
		padding: 0 1px;
	}
	.service-card{
		width: 33.33%;
		border-radius: 0;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
		border: 1px solid #fff;
	}
	.home-cta-col{
		width: calc(50% - 10px);
		font-size: 17px;
	}
	.home-cta-heading{
		font-size: 20px;
	}
	.content-section--testimonial-list{
		padding: 20px;
	}
	.testimonial_quote{
		width: 75%;
	}
	.testimonial_quote blockquote{
		font-size: 22px;
		line-height: 1.4;
	}
	.testimonial_name{
		margin-bottom: 0;
	}
	.testimonial_image{
		width: 25%;
	}

}

@media (max-width: 900px) {
	
	.header-logo{
		height: 100px;
		width: 124px;
	}
	.slider{
		height: 420px;
	}
	.slide-text{
		font-size: 34px;
		padding: 12px 20px;
	}
	.project-links{
		padding: 0 20px;
	}
	.project-links_a{
		width: calc(25% - 20px);
		margin-top: 20px;
	}
	.project-links_title{
		font-size: 18px;
		line-height: 1.1;
	}
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review, .woocommerce-checkout #order_review_heading{
		width: 100%;
		margin: 0 0 14px 0;
		float: none;
	}
	

}

@media (max-width: 850px), (orientation: portrait), (hover: none) {
	
	body{
		font-size: 18px;
	}
	.content-section--standard.bold-first p:first-child,
	.content-section--standard.bold-first .standard-section-thumb + p,
	.content-section--standard.bold-first .standard-section-heading + p{
		font-size: 19px;
	}
	h1{
		font-size: 44px;
	}
	h2{
		font-size: 34px;
	}
	.header-nav-main,
	#menu{
		display: none;
	}
	.header-nav-mobile{
		position: absolute;
		right: 0;
		top: 25px;
		display: block;
		text-align: center;
		font-size: 21px;
		border: 1px solid #ddd;
		border-radius: 23px;
		background: #fff;
	}
	.mobile-menu-expand-button{
		display: block;
		cursor: pointer;
		padding: 12px 30px;
	}
	.header-nav-mobile-menu ul li a{
		display: block;
		cursor: pointer;
		padding: 12px;
		border-top: 1px solid #ddd;
		color: var(--text-grey);
		text-decoration: none;
		font-size: 16px;
	}
	.header-nav-mobile-menu ul li a:hover{
		color: var(--green-accent);	
	}
	.mobile-menu-text{
		display: inline-block;
		padding: 0 40px 0 0;
	}
	.mobile-menu-icon{
		display: inline-block;
	}
	.menu-bar-1, .menu-bar-2, .menu-bar-3{
		width: 20px;
		height: 2px;
		background-color: #555555;
		margin: 4px 0 0 0;
		transition: 0.4s;
		border-radius: 2px;
		overflow: hidden;
	}
	/* Rotate first bar */
	.menu-open .menu-bar-1{
		-webkit-transform: rotate(-45deg) translate(-1.5px, 7px);
		transform: rotate(-45deg) translate(-1.5px, 7px);
	}
	/* Fade out the second bar */
	.menu-open .menu-bar-2{
		opacity: 0;
	}
	/* Rotate last bar */
	.menu-open .menu-bar-3{
		-webkit-transform: rotate(45deg) translate(-1.5px, -7px);
		transform: rotate(45deg) translate(-1.5px, -7px);
	}
	.content-section--standard{
		padding: 0 30px;
	}
}

@media (max-width: 800px) {
	
	.slider{
		height: 380px;
	}
	.slide-text{
		font-size: 30px;
	}
	.service-card_image-container{
		height: 80px;
	}
	.project-links_a{
		width: calc(50% - 10px);
	}
	.project-links_title{
		font-size: 24px;
		line-height: 1.4;
	}
	.content-section--home-cta{
		flex-wrap: wrap;
		padding: 20px 20px 60px 20px;
	}
	.home-cta-col{
		width: 100%;
		font-size: 17px;
		margin: 40px 0 0 0;
	}
	.standard-section-thumb{
		max-width: 200px;
	}
	.testimonial-list-item{
		width: 100%;
		padding: 40px 0 20px 0;
    	border-bottom: 1px solid var(--light-grey);
	}
	.packages-container{
		display: block;
	}
	.package{
		width: calc(100% - 40px);
		padding: 0 20px 70px 20px;
	}
	.package-title{
		font-size: 24px;
	}
	.package-details{
		font-size: 18px;
	}
	.package-detail-hide{
		display: none;
	}

}

@media (max-width: 700px) {
	
	h1{
		padding: 20px 0;
	}
	.slider{
		height: 340px;
	}
	.slide-text{
		font-size: 28px;
	}
	.service-cards-container{
		flex-wrap: wrap;
		padding: 0 40px;
	}
	.service-card{
		width: 100%;
		border: none;
		margin: 0 0 20px 0;
	}
	.service-card_heading{
		font-size: 26px;
		margin-bottom: 20px;
	}
	.service-card_image-container{
		height: 120px;
	}
	.service-card_text{
		padding: 20px 26px 2px 26px;
		font-size: 19px;
	}
	.service-card:hover{
		background: var(--light-grey);
		transform: translateY(0);
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
	}
	.footer{
		text-align: center;
	}
	.footer-menu li{
		display: inline-block;
		padding: 0 10px 10px 10px;
	}
	.footer-menu li::after{
		display: none;
	}
	.archive-project-post-image{
		width: 25%;
	}
	.archive-project-post-content {
		width: calc(75% - 20px);
	}
	.content-section--standard,
	.content-section--full{
		padding: 0 20px;
	}
	.testimonial_quote{
		width: 100%;
	}
	.testimonial_image{
		display: none;
	}
	
	.content-multi-image-cols--2 .content-image-col,
	.content-multi-image-cols--3 .content-image-col,
	.content-multi-image-cols--4 .content-image-col{
		width: 100%;
		padding: 0 0 20px 0;
	}

}

@media (max-width: 600px) {
	
	.slider{
		height: 300px;
	}
	.slide-text{
		font-size: 26px;
		padding: 12px 15px;
	}
	.project-links_a{
		width: calc(50% - 10px);
	}
	.project-links_title{
		font-size: 19px;
		line-height: 1.2;
	}
	.standard-section-thumb{
		max-width: 30%;
	}
	.testimonial_quote blockquote{
		font-size: 20px;
		line-height: 1.3;
	}
	
}

@media (max-width: 550px) {
	
	.slider{
		height: 280px;
	}
	.slide-text{
		font-size: 25px;
	}
	.project-links_title{
		font-size: 17px;
		line-height: 1.1;
	}
	.service-cards-container{
		padding: 0 20px;
	}
	.service-card_heading{
		font-size: 24px;
	}
	.service-card_image-container{
		height: 100px;
	}
	.service-card_text{
		padding: 20px 24px 2px 24px;
		font-size: 18px;
	}

}

@media (max-width: 500px) {
	
	.slider{
		height: 260px;
	}
	.slide-text{
		font-size: 24px;
		padding: 10px 12px;
	}
	.project-links_a{
		width: calc(50% - 5px);
		margin: 10px 0 0 0;
	}
	.footer-menu li{
		display: inline-block;
		padding: 0 14px 14px 14px;
	}

}

@media (max-width: 450px) {
	
	.slider{
		height: 240px;
	}
	.slide-text{
		font-size: 23px;
		padding: 8px 10px;
	}
	.home-cta-col{
		margin: 20px 0 0 0;
	}
	.home-cta-col:first-child{
		display: none;
	}

}

@media (max-width: 400px) {
	
	.mobile-menu-expand-button{
		padding: 12px 20px;
	}
	.mobile-menu-text{
		padding: 0 30px 0 0;
	}
	.slider{
		height: 210px;
	}
	.slide-text{
		font-size: 22px;
		padding: 6px 8px;
	}
	.project-links_a{
		width: 100%;
		margin: 14px 0 0 0;
	}
	.service-card_heading{
		font-size: 22px;
		padding: 11px 0;
	}
	.service-card_image-container{
		height: 88px;
	}
	.service-card_text{
		padding: 18px 20px 2px 20px;
		font-size: 17px;
	}
	.archive-project-post-image,
	.archive-project-post-content{
		width: 100%;
	}
	.archive-project-post-content{
		padding: 20px 0 0 0;
	}

}

@media (max-width: 350px) {
	
	.slider{
		height: 190px;
	}
	.slide-text{
		font-size: 21px;
	}

}