/*
	Theme Name: Ted is Angry
	Theme URI: https://wpdedicated.uk
	Description: Hand Crafted theme
	Version: 1.0
	Author: Ben Kitching
	Author URI: https://benkitching.uk
	Tags: Blank, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

@view-transition {
  navigation: auto;
}

:root {
  --bg: #000;
  --text: #fff;
  --highlight: #e10000;
}

/* 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 {
	font-size: 1vw;
	margin: 0;
	padding: 0;
	overflow-x: clip;
	-webkit-tap-highlight-color: transparent;
}

@media (min-width: 1921px) {
	html {
		font-size: 19px;
	}
}

body {
	font: normal 1.2rem/1.4 'Nunito', Arial, sans-serif;
	color: var(--text);
	margin: 0;
	padding: 0;
	max-width: 100vw;
	overflow-x: clip;
	background-color: var(--bg);
	text-align: center;
}

body.loading, body.burger {
	overflow: hidden;
}

#loader {
	background-color: #fff;
	width: 100vw;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999999;
}

/* clear */
.clear: before,
.clear: after {
    content: ' ';
    display: table;
}

.clear:after {
    clear: both;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

/*------------------------------------*\
    LINKS
\*------------------------------------*/

a {
	color: inherit;
	text-decoration: underline;
	transition: 0.5s all;
}

a:hover {
	text-decoration: none;
}

a:focus {
	outline: 0;
}

a:hover,
a:active {
	outline: 0;
}

a.no-decoration {
	text-decoration: none;
}

.btn, .header-book a {
	font-size: 1.2rem;
	padding: 0.5rem 1rem;
	border: 1px solid;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
	color: var(--text);
}

.wrapper input.gform_button {
	font-size: 1.2rem !important;
	padding: 0.5rem 1rem !important;
	border: 1px solid var(--text) !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	color: var(--text) !important;
	font-family: 'Nunito', Arial, sans-serif !important;
	background-color: transparent !important;
	line-height: 1 !important;
}

.btn:hover, .header-book a:hover {
	background-color: var(--text);
	color: var(--bg);
}
.wrapper input.gform_button:hover {
	background-color: var(--text) !important;
	color: var(--bg) !important;
}

.course {
	margin: 4rem 0;
}
.square-img {
	width: 100%;
	padding-bottom: 100%;
	position: relative;
	margin-bottom: 2rem;
}
.square-img img {
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	object-fit: cover;
}

/*------------------------------------*\
    FORMS
\*------------------------------------*/

input:focus {
	outline:0;
	border:1px solid #003D47;
}

input[type=text], input[type=textarea], input[type=email], input[type=password] {
	padding:1rem;
	background-color:#fff;
	border-radius: 1rem;
	border:1px solid var(--light-blue);
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

.wrapper {
	max-width: 1000px;
	padding: 20px 20px 0;
	width: 95%;
	margin: 0 auto;
	position: relative;
}

.logo {
	height: 4rem;
	padding-left: 1rem;
}

.logo img {
	height: 100%;
	width: auto;
}

#header {
	background: transparent;
	padding: 2rem 0;
	width: 100%;
	position: relative;
	z-index: 2;
}
#header .wrapper {
	display: flex;
	justify-content: space-between;
	align-items:center;
	width: 90%;
}

#header nav ul {
	list-style-type: none;
	display: flex;
	padding: 0;
}
#header nav li {
	padding: 0.5rem 0;
	margin-left: 1rem;
}
#header nav a {
	text-decoration: none;
}

/*------------------------------------*\
    Hamburger
\*------------------------------------*/

.hamburger {
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }
  .hamburger.is-active:hover {
    opacity: 0.7; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: var(--text); }

.hamburger-box {
  width: 27px;
  height: 16px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 27px;
    height: 1px;
    background-color: var(--text);
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -6px; }
  .hamburger-inner::after {
    bottom: -6px; }

.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none; }

.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }


.footer {
	padding: 2rem 0 4rem;
}
.footer .wrapper {
	border-top: 1px solid var(--highlight);
	width: 90%;
}

.footer a {
	text-decoration: none;
	display: block;
}
.footer a:hover {
	text-decoration: underline;
}

#footer-top a, #footer-bottom a {
	margin-top: 1rem;
	display: block;
}

.social {
	margin: 2rem auto;
	width: 30%;
}
.social svg {
	height: 2rem;
	width: auto;
}
.social .col {
	text-align: center;
}

.maps-link {
	margin: 2rem 0 4rem;
}

/*------------------------------------*\
    Colors
\*------------------------------------*/



/*------------------------------------*\
	MISC
\*------------------------------------*/

::selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}
::-webkit-selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}
::-moz-selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}

/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

p {
	margin: 1rem 0;
}

h1, .h1, h2, .h2, h3, .h3, h4, h5, h6 {
	margin:1rem 0;
	line-height: 1;
	font-weight: 600;
}

h1, .h1 {
	font-size: 2rem;
}

h2, .h2 {
	font-size: 1.6rem;
}

h3, .h3 {
	font-size: 1.6rem;
}

h4, .h4 {
	font-size: 1.4rem;
}

h5, .h5 {
	font-size: 1.2rem;
}

.text-center {
	text-align: center;
}


@font-face {
  font-family: 'Nunito';
  font-style: normal;
  src: url('./fonts/nunito.woff2') format("woff2");
    font-weight: 100 900;
}

@font-face {
  font-family: 'Nunito';
  font-style: italic;
  src: url('./fonts/nunito-italic.woff2') format("woff2");
    font-weight: 100 900;
}

/*------------------------------------*\
    Spacing and Grid
\*------------------------------------*/

.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
}
.col.quarter {
	width: 25%;
}
.w100 {
	width: 100%;
}


/*------------------------------------*\
    Blocks
\*------------------------------------*/

.hero-swiper {
	margin-bottom: 6rem;
}

.hero-img {
	width: 100%;
	padding-bottom: 90%;
	position: relative;
}
.hero-img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.fw-img img {
	width: 100%;
	height: auto;
}

.teds-menu {
	margin-bottom: 4rem;
}
.teds-menu .text-center {
	margin-top: 2rem;
}

.opening-times {
	margin-bottom: 4rem;
}
.opening-times h2 {
	margin-bottom: 2rem;
}
.opening-times p {
    display: flex;
    justify-content: space-between;
    padding: 1rem 0;
    margin: 0 auto;
    width: 60%;
}

.wrapper .gform-theme--framework .gform-field-label--type-sub:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .wrapper .gform-theme--framework .gfield_list_group_item::before:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .wrapper .gform-theme--framework .gform-field-label:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
	color: var(--text);
}

.wrapper .gform-theme--foundation .gform-field-label:where(:not([class*=gform-field-label--type-]):not(.gfield_header_item):not(.ginput_quantity_label)), .wrapper .gform-theme--foundation.gform_editor legend.gform-field-label>span, .wrapper .gform_footer {
	justify-content: center;
}

.wrapper .gform-theme--foundation .ginput_complex .ginput_container_date {
	width: 33.3%;
}

.groups-pdf {
	margin: 4rem 0;
}

.teds-intro h1 {
	font-size: 1.2rem;
	line-height: 1.4;
	font-weight: normal;
}

.faq .menu-item {
	margin-bottom: 2rem;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

.sfs {
	display: none;
}

@media (orientation: portrait) {

	html {
		font-size: 3vw;
	}

	.hfs {
		display: none;
	}
	.sfs {
		display: block;
	}

	#header .wrapper {
		flex-wrap: wrap;
	}
	#header nav {
		position: absolute;
		width: 95%;
		background: var(--bg);
		top: 6rem;
		left: 2.5%;
		height: 0;
		overflow: hidden;
		transition: 1s height;
		border-top: 1px solid var(--highlight);
	}

	.burger #header nav {
		height: 26rem;
	}

	#header nav ul {
		flex-wrap: wrap;
	}

	#header nav li {
		display: block;
		text-align: center;
		width: 100%;
		margin: 1rem 0;
		order: 1;
	}

	#header nav li.header-book {
		order: 0;
	}

	#header .logo {
		height: 8rem;
		padding-left: 0;
		margin: 8rem auto 3rem;
		width: 100%;
		text-align: center;
	}

	.outer-nav {
		position: absolute;
		top: 1rem;
		left: 50%;
		transform: translateX(-50%);
	}

}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.block-editor-block-list__block {
	width: 80%;
	max-width: 1440px;
}

.block-editor-block-list__block.acf-block-preview {
	zoom:0.5;
}
html .mceContentBody {
    font-size: 18px;
    padding:10px;
}
html .mceContentBody p {
	margin: 16px 0;
	font-size: 14px;
	line-height: 1.1;
}
.editor-styles-wrapper a {
	text-decoration: none;
}
.editor-styles-wrapper input[type=text], .editor-styles-wrapper input[type=textarea], .editor-styles-wrapper input[type=email], .editor-styles-wrapper input[type=password] {
	border-radius: 4px;
	border: 1px solid #8c8f94;
}

.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;
}