/*
	Theme Name: Butter Bloom Bakehouse
	Theme URI: https://butterbloombakehouse.co.uk
	Description: WP Theme for Butter Bloom Bakehouse
	Version: 0.1 
	Author: Creative Direction
	Author URI: https://creativedirection.info
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/
::root {
	--gform-theme-local-background-color: #F5908A;
}
/* 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,body {
	min-height:100%
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	line-height: 1.6em;
	font-family: "Playfair", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	background-color: #F4F3E7;
	-webkit-font-smoothing:antialiased;
	font-size:16pt;
}

.background-image {
	min-height:100%;
	min-width: 100%;
	object-size: cover;
	opacity:0.5;
}

h1 {
	line-height:1.2em;
	font-size:2em;
	opacity:0.5;
}
h2 {
	font-size:1.2em;
}
h1,h2,h3,h4,h5,h6 {
	font-family: "Playfair", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-variation-settings:
	"wdth" 100;
}
.inner {
	width:80%;
	margin:0 auto;
	padding:2em 0;
	position:relative;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#8F3555;
	text-decoration:none;
}
a:hover {
	color:#fff;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

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

#background {
	height:100%;
	width:100%;
	display:block;
	position:fixed;
	background-size: cover;
	transition:0.6s all;
}
#background video {
	height:100%;
	width:100%;
	object-fit: cover;
	object-position:left;
}
div#background::before {
    content: '';
    height: 100%;
    position: absolute;
    width: 20%;
    display: block;
    background: linear-gradient(90deg, rgba(0,0,0,0.9), transparent);
}

.image-caption {
	text-transform: uppercase;
	text-align: center;
	font-size:0.8em;
	padding: 2em 0;
}
.image-caption span {
	opacity:0.5;
}
/* header */
.header {

}
/* logo */
#logo {
	position:fixed;
	top:90px;
	right:90px;
	max-width:25%;
	min-width:235px;
	z-index:1;
}
.single-events #logo {
	z-index:3;
}
#logo svg {
	max-width:100%;
}
#logo svg #logo-text {
	opacity:1;
	transition:0.5s all;
}
#mobile-logo {
	display: none;
}
/*.reallyscrolled #logo svg #logo-text {
	opacity:0;
}
.reallyscrolled #logo svg #logo-star {
	cursor:pointer;
}*/
/* nav */
#nav {
	position:fixed;
	top:80px;
	left:30px;
	width:250px;
	text-align:right;
	font-size:1em;
	z-index:2;
	font-family: "Playfair", serif;
}
#nav ul {
	margin:0;
	padding:0;
}
#nav ul li {
	list-style:none;
	margin:0 0 1.8em 0;
	padding:0;
}
#nav a {
	color:#fff;
	position:relative;
	transition:0.5s all;
	text-transform: uppercase;
	text-decoration: none;
}

#nav a.current-item {
	color:#10547b;
}
.current-item::after {
	content:'';
	display:block;
	position:absolute;
	right:-45px;
	top:50%;
	transform: translateY(-50%);
	height:2px;
	width:30px;
	background-color:#10547b;
}
#animated-star {
	position:fixed;
	left:4em;
	bottom:10em;
}

/* Content */
#content {
	position:absolute;
	top:60%;
	right:0;
	width:40%;
	background-color:#fff;
	color:#431c37;
	min-height:40%;
	z-index:2;
}
#content:before {
	content:'';
	display:block;
	height:75px;
	width:100px;
	left:50%;
	background-image: url(img/scroll-graphic.png);
	position:absolute;
	top:0;
	transform: translate(-50%, calc(-100% + 20px));
	z-index:1;
	background-size:contain;
	background-repeat: no-repeat;
	background-position: bottom center;
	transition:0.5s all;
	animation: animatedBackground 0.5s linear infinite alternate;
}
.scrolled #content:before {
	opacity:0;
}
@keyframes animatedBackground {
  from {
    margin-top:0;
  }
  to {
    margin-top:-5px;
  }
}
.star-50 {

}
#content img {
	width:100%;
}
.amethyst-treatments, .amethyst-testimonials {
	padding-bottom:2em;
}

.amethyst-testimonials blockquote {
	position: relative;
	margin-left: 0;
	padding-left: 2em;
	/*color:rgba(143, 53, 87, 0.6);*/
}
.amethyst-testimonials blockquote::before {
	content:'';
	display: block;
	height:100%;
	width:2px;
	background-color: rgba(255, 255, 255, 0.4);
	position: absolute;
	left:0;
	top:0;
}

.amethyst-testimonials em {
	/*color:#8F3557;*/
}

.accordion {
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border:0;
  border-bottom: 1px solid #A1885F;
  text-align: left;
  outline: none;
  font-size: 15px;
  font-weight:lighter;
  transition: 0.4s;
  position:relative;
  padding-right:50px;
  margin:0;
}

.accordion.active, .accordion:hover {
  background-color: rgba(255,255,255,0.5);
}

.accordion:after {
  content: '\002B';
  position:absolute;
  right:.6em;
  top:0;
  margin-left: 5px;
  font-size:2.2em;
  margin-top:1.5rem;
  transition:1s all;
}

.accordion.active:after {
  content: "\2212";
}

.panel {
  padding: 0 18px;
  background-color: rgba(255,255,255,0.5);
  overflow: hidden;
  max-height:0;
  transition: max-height 0.5s ease-out;
}

.panel h3:first-of-type {
	margin-top:0;
}

.contact-inner {
/*	background:url(img/contact-background.svg);*/
	background-position:right bottom;
	background-repeat: no-repeat;
	padding-bottom:5em;
	background-size:30%;
}

.contact-inner a {
	color:#000;
}

.contact-separator {
	width:30px !important;
}

.partner-logos {
	margin-top: 5em;
}


.amethyst-quote {
	padding:6em 0;
	position:relative;
}

.amethyst-quote::before, .amethyst-quote::after {
	content:'';
	height:65px;
	width:65px;
	background-size: contain;
	background-repeat: no-repeat;
	position:absolute;
}

.amethyst-quote::before {
	top:3em;
	left:2em;
	background-image: url(img/quote-open.svg);
}
.amethyst-quote::after {
	bottom:3em;
	right:2em;
	background-image: url(img/quote-close.svg);
}

.quote-text {
	font-style: italic;
	font-size:1.6em;
	line-height:1.3em;
}

#sticky-contact {
	position:fixed;
	bottom:3em;
	left:3em;
	color:#000;
}

#design-credit {
	position:absolute;
	bottom:0;
	font-size:0.8em;
	margin-bottom:2em;
}

#design-credit a:last-of-type {
	color:#315A76;
	transition:0.6s all;
}

#design-credit a:hover {
	color:#000;
}


/* Modal */
#modal-background {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(54,57,81,0.7);
	z-index:9;
	display:none;
}

#global-alert {
	display: none;
	width:60%;
	background-color:#D5B5C6;
	position:fixed;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	padding:3em;
	border:2px solid #fff;
	-webkit-box-shadow: 0px 25px 25px 10px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 25px 25px 10px rgba(0,0,0,0.75);
	box-shadow: 0px 25px 25px 10px rgba(0,0,0,0.75);
	z-index:10;
	color:#431C30;
}

#global-alert a:last-of-type {
	border:2px solid #431C30;
	padding:1em;
	font-size:0.8em;
	text-transform: uppercase;
	margin-top:1em;
	display:inline-block;
	color:#431C30;
	background:#fff;
	transition:0.6s all;
}

#global-alert a:last-of-type:hover {
	background:#61B793;
	color:#fff;
}

.close-button {
	position:absolute;
	top:10px;
	right:0;
	height:30px;
	width:30px;
	font-size:1.5em;
	cursor:pointer;
}


/* Form stuff */
.gfield input, .gfield select {
	border:1px solid rgba(0, 0, 0, 0.3);
	background-color: rgba(255, 255, 255, 0.5);
}
fieldset {
	border:0;
	padding:0;
	margin-top:1em;
	margin-bottom:1em;
}
.gfield_label {
	display: block;
	margin-top:1em;
}

.gform_footer input[type="submit"], .gform_button {
	background-color: #10547b !important;
	padding:1em;
	color:#fff;
	text-transform: uppercase !important;
	font-size:0.8em !important;
}

.event-month-tag {
	margin-top:2em;
	font-size:0.6em;
	padding:0.5em 1em;
	background-color: rgba(255, 255, 255, 0.3);
	display: table;
}

.social-icons {
	margin-top:2em;
}

.social-icons img, .social-icons svg {
	height: 50px;
	max-height:50px;
	margin-right:10px;
	width:auto;
}

.social-icons svg * {
	fill:#10547b;
}



/* Landing Page Template */
.page-template-template-landing #logo {
	z-index:5;
}
.landing-page-container {
	display: flex;
	align-items: center;
	min-height:100vh;
	width: 100%;
	padding:0 300px;
}
.page-overlay {
	height:100%;
	min-height:100vh;
	width: 100%;
	background-color: #fff;
/*	background-color: rgba(42,65,102, 0.9);*/
	opacity:0.6;
	z-index:2;
	display: block;
	position: fixed;
	top:0;
	left:0;
}
.landing-page-content {
	z-index:3;
	background-color: rgba(255, 255, 255, 0.7);
/*	background-color: rgba(42,65,102, 0.9);*/
/*	color:#fff;*/
	position: relative;
	width:75%;
	max-width: 1200px;
	padding:50px;
	margin:50px auto;
}

.partner-logos {
	z-index:1;
	position:relative;
	font-weight: 400;
	max-width:100%;
/*	display: flex;
	justify-content: space-between;*/
	padding:0 0 75px 0;
  min-width:0px;
}


.partner-logos .slider .slick-slide img {
	position: relative;
	width:75%;
/*	margin:50px;*/
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (min-width:900px) {

	#nav {
		display:block !important;
	}	
	#content {
		min-width:500px;
	}

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

	.landing-page-content {
		width: 100%;
	}
	.landing-page-container {
		padding:150px;
	}
	#logo {
		min-width:200px;
	}
}
@media only screen and (max-width:900px) {	
	body {
		font-size:12pt;
	}
	#logo {
		display: none !important;
	}
	#mobile-logo {
		display: block;
		background: #fff;
		position: relative;
		padding:50px auto;
	}
	#mobile-logo svg {
		width:35%;
		max-height:175px;
		margin: 0 auto;
		display: block;
		position: relative;
		padding-top:1em;
		padding-bottom:1em;
	}
	.header {
		background-color:#fff;
	}
	#nav-button-container {
		position:absolute;
		top:50px;
		right:1em;
		z-index:6;
	}
	#nav-button-container:has(#nav-button.active) {
		top:65px;
	}
	#nav-button {
		display: flex;
		justify-content: space-around;
		align-items: flex-start;
		width:35px;
		margin:0;
		padding:0;
		height:100px;
		cursor: pointer;
	}

	#nav-button.active {
		width:50px;
	}

	#nav-button span {
		width: 6px;
		height: 40px;
		background-color: #8CB8D6;
		display: inline-block;
		transition: 0.5s all cubic-bezier(0.68, -0.55, 0.265, 1.55);
	}
	#nav-button span:nth-child(2) {
		height: 50px;
	}

	#nav-button.active span:nth-child(1) {
		transform: rotate(45deg) scale(0.6);
		margin-right:-38px;
	}


	#nav-button.active span:nth-child(2) {
		transform: translateY(-100%);
		opacity:0;
	}

	#nav-button.active span:nth-child(3) {
		transform: rotate(-45deg) scale(0.6);
		margin-left:-60px;
	}

	#nav-button.active {
		color:#fff;
		transform: translateY(-15px);
	}

	#nav-button.active span {
		background-color: #F49089;
	}

	#global-alert {
		width:90%;
	}

	#background:not(.page-template-template-landing #background) {
/*		top:130px;*/
/*		position:absolute;*/
position: relative;
		height:auto;
		width:auto;
		display: block;
	}
	div#background:before {
		display: none;
	}
	#sticky-contact {
		display:none;
	}

	.inner {
		width:90%;
	}

/*	#logo {
		width:100%;
		max-width:100%;
		height:130px;
		background-color:#000;
		z-index:0;
		top:0;
		left:50%;
		transform: translateX(-50%);
		padding:15px;
	}
	#logo svg {
		display:block;
		width:40%;
		height:100px;
		margin:0 auto;
	}*/
	#nav {
		background:#8CB8D6;
		padding-top:2em;
		width:100%;
		top:175px;
		left:0;
		z-index:4;
		display:none;
		position: absolute;
	}
	#nav ul {
		text-align:left;
		margin-left:2em;
	}
	#nav ul li a {
		color:#fff;
	}
	#content {
		width:100%;
		max-width:100%;
		top:auto;
	}
	#content:before {
		display: none;
	}

	.page-overlay {
/*		top:200px;*/
	}
	#mobile-logo {
		z-index:5;
	}
	.landing-page-container {
		display: block;
		width: 100%;
		padding:0 25px;
		margin-top: 25px;
		min-height:unset;
	}
	.landing-page-content {
		width: 100%;
		padding:25px;
	}
	.landing-page-content h1 {
		margin-top: 0;
		font-size:1.8em;
	}
	#background {

		top:0;
	}
	#background video {
		object-position:unset;
	}
}

@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

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

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

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

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	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-image {
	margin-bottom:0;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    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;
	}
}
