/* 
==============================================================================================================================
==============================================================================================================================
============================================         Generic Base Styles         =============================================
==============================================================================================================================
==============================================================================================================================
*/

html {
    height: 100%;
	width: 100%; 
}

body { 
	width: 100%; 
    height: 100%;
    overflow: auto; 
	font-family: "acumin-pro-extra-condensed",sans-serif;
	font-style: normal;
	font-weight: 500;
	overflow-x: hidden;
}

h1, h2, h3, h4 {
	font-family: "acumin-pro-extra-condensed",sans-serif;
	font-style: normal;
	font-weight: 500;
	margin: 0;
}

a {
	text-decoration: none;
	color: black;
	cursor: pointer;
	/*word-break: break-all;*/
}

a:hover {
	text-decoration: none;
}


img {
	max-width: 100%;
}

.bold {
	font-weight: bold;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.auto {
	margin: auto;
}

ul {
	list-style-type: none;
}

/* 
==============================================================================================================================
==============================================================================================================================
==========================================         Pure CSS Specific Styles         ==========================================
==============================================================================================================================
==============================================================================================================================
*/

.pure-g {
	letter-spacing: normal;
}

.pure-g > div {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.pure-u-1-1 { float: left; }

.pure-u-md-1-2 {
	float:left;
}

/* 
==============================================================================================================================
==============================================================================================================================
=============================================         Navigation Styles          =============================================
==============================================================================================================================
==============================================================================================================================
*/

nav {
    display: none;
}

nav ul {
    display: table-cell;
    margin: 0;
    padding: 0;
}

nav ul li {
    padding: 0 30px;
    margin: 0 30px;
    float: left;
}

.header-nav { 
	display: none;
	padding: 0;
}

.header-nav,
.header-nav-right { 
	font-weight: 500; 
}

.header-nav .current {
  text-decoration: none;
}

/* This is the parent `<div>` that contains the menu and the content area. */

#layout {
	display: none;
    position: relative;
}

#layout.active {
	position: relative;
}

#layout.active #menu {
	left: 200px;
	width: 100%;
}

#layout.active .menu-link {
	left: 200px;
}

/* The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that appears on the left side of the page. */

#menu {
	margin-left: -200px; /* "#menu" width */
	width: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1000; /* so the menu or its navicon stays above all content */
    background-color: white;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
	height: 2000px;
	transition: .5s;
}

/* All anchors inside the menu should be styled like this. */
	
#menu a {
	color: black;
	border: none;
	text-transform: uppercase;
}

/* Remove all background/borders, since we are applying them to #menu. */

#menu .pure-menu, 
#menu .pure-menu ul {
	border: none;
	background: transparent;
}

/* Add that light border to separate items into groups. */
    
#menu .pure-menu ul, 
#menu .pure-menu .menu-item-divided {
	font-size: 11px;
	text-transform: uppercase;
}
		
#menu .pure-menu li.current {
	font-weight: bold;
}
		
#menu .pure-menu li {
	padding: 0;
	font-size: 4em;
	text-align: right;
	font-family: "acumin-pro-extra-condensed",sans-serif;
	font-style: normal;
	font-weight: 300;
	padding: 15px 20px;
}

#menu .pure-menu li a {

}

#menu .pure-menu li.last {
	border: none;
}

#menu .pure-menu li.child {
	border-bottom: 1px dotted white;
	margin: 15px 1em 15px 2.5em;
}

/* Change color of the anchor links on hover/focus. */
#menu .pure-menu li a:hover, 
#menu .pure-menu li a:focus {
	background: white;
	color: #c3c3c3;
}

/* This styles the selected menu item `<li>`. */
#menu .pure-menu-selected,
#menu .pure-menu-heading {
	background: #1f8dd6;
}

/* This styles a link within a selected menu item `<li>`. */
#menu .pure-menu-selected a {
	color: #fff;
}

/* This styles the menu heading. */
#menu .pure-menu-heading {
	font-size: 110%;
	color: #fff;
	margin: 0;
}

/* -- Dynamic Button For Responsive Menu -------------------------------------*/

/* Nav Toggle */

#nav-toggle { 
	cursor: pointer; 
	padding: 11px 35px 16px 0px; 
	margin: 1.5em 1.5em; 
	float: right;
	text-align: right;
}

#nav-toggle span, 
#nav-toggle span:before, 
#nav-toggle span:after {
	cursor: pointer;
	border-radius: 1px;
	height: 5px;
	width: 35px;
	background-color: rgb(109,110,113);
	position: absolute;
	display: block;
	content: '';
	z-index: 9999;
}

#nav-toggle span:before {
	top: -10px;
}

#nav-toggle span:after {
	bottom: -10px;
}

#nav-toggle span, 
#nav-toggle span:before, 
#nav-toggle span:after {
	transition: all 500ms ease-in-out;
	-webkit-transition: all 500ms ease-in-out;
}

#nav-toggle.active span {
	background-color: transparent;
}
#nav-toggle.active span:before, 
#nav-toggle.active span:after {
	top: 0;
	background-color: rgb(230,0,35);
}

#nav-toggle.active span:before {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#nav-toggle.active span:after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

/* 
==============================================================================================================================
==============================================================================================================================
================================================         Form Styles          ================================================
==============================================================================================================================
==============================================================================================================================
*/

/*form { margin: 1em; }*/
form ul { margin: 5px 0 5px 0; padding: 0; }
form ul li { list-style: none; }
fieldset { margin: 5px 0 15px 0; padding: 25px; }

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; font-weight: bold; }
legend { border: 0; padding: 0; margin-left: 5px; font-weight: bold; }

button, input, select, textarea { background-color: #EBEBEB; border:none; margin: 0; vertical-align: baseline;
*vertical-align: middle; }

button,
input[type="reset"],
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  cursor: pointer;
  color: black;
  outline: 0;
  overflow: visible;
  padding: 0.7em;
  width: auto;
}

button:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: #ffffff;
  -webkit-transition: 250ms linear all;
  -moz-transition: 250ms linear all;
  transition: 250ms linear all;
}

input[type="text"],
input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7em;
	border: 0;
	margin: 10px 0;
}

input[type="file"] {
	width: 100%;
	padding: 5px;
}

textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7em;
	min-height: 100px;
	margin: 10px 0;
}

input.error {
	border: 1px solid #ff0000;
}

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

/* 
==============================================================================================================================
==============================================================================================================================
======================================         CSS Loader Styles and Keyframes          ======================================
==============================================================================================================================
==============================================================================================================================
*/

.cssload-loader {
	margin-top: 25%;
	position: relative;
	width: 12px;
	height: 12px;
	left: 46%;
	left: calc(50% - 6px);
		left: -o-calc(50% - 6px);
		left: -ms-calc(50% - 6px);
		left: -webkit-calc(50% - 6px);
		left: -moz-calc(50% - 6px);
	border-radius: 12px;
	background-color: black;
	transform-origin:	50% 50%;
		-o-transform-origin:	50% 50%;
		-ms-transform-origin:	50% 50%;
		-webkit-transform-origin:	50% 50%;
		-moz-transform-origin:	50% 50%;
	animation: cssload-loader 1.15s ease-in-out infinite;
		-o-animation: cssload-loader 1.15s ease-in-out infinite;
		-ms-animation: cssload-loader 1.15s ease-in-out infinite;
		-webkit-animation: cssload-loader 1.15s ease-in-out infinite;
		-moz-animation: cssload-loader 1.15s ease-in-out infinite;
}

.cssload-loader:before {
	content: "";
	position: absolute;
	background-color: black;
	top: 0px;
	left: -24px;
	height: 12px;
	width: 12px;
	border-radius: 12px;
}

.cssload-loader:after {
	content: "";
	position: absolute;
	background-color: black;
	top: 0px;
	left: 24px;
	height: 12px;
	width: 12px;
	border-radius: 12px;
}

@keyframes cssload-loader{
		0%{transform:rotate(0deg);}
		50%{transform:rotate(180deg);}
		100%{transform:rotate(180deg);}
}

@-o-keyframes cssload-loader{
		0%{-o-transform:rotate(0deg);}
		50%{-o-transform:rotate(180deg);}
		100%{-o-transform:rotate(180deg);}
}

@-ms-keyframes cssload-loader{
		0%{-ms-transform:rotate(0deg);}
		50%{-ms-transform:rotate(180deg);}
		100%{-ms-transform:rotate(180deg);}
}

@-webkit-keyframes cssload-loader{
		0%{-webkit-transform:rotate(0deg);}
		50%{-webkit-transform:rotate(180deg);}
		100%{-webkit-transform:rotate(180deg);}
}

@-moz-keyframes cssload-loader{
		0%{-moz-transform:rotate(0deg);}
		50%{-moz-transform:rotate(180deg);}
		100%{-moz-transform:rotate(180deg);}
}

/* 
==============================================================================================================================
==============================================================================================================================
=========================================         Studio 6          ==========================================
==============================================================================================================================
==============================================================================================================================
*/

.page-content {
	margin: 0 auto;
}

.l-box {
	box-sizing: border-box;
	padding: 1rem 2rem;
}

.flex-prev,
.flex-next {
 	font-size: 0;
}

.header-flex {
	display: flex;
	display: -webkit-flex;
	flex-direction: row;
	-webkit-flex-direction: row;
	flex-wrap: nowrap;
	-webkit-flex-wrap: nowrap;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
}

img.header-logo {
    width: 20%;
    padding: 1em 2em;
}

ul.header-nav {
    margin: 0 2rem;
    list-style: none;
    width: auto;
    position: absolute;
    z-index: 9999999;
    top: 0;
    right: 0;
}

ul.header-nav li {
	display: inline-block;
	margin: 0 1rem;
}

ul.header-nav li a {
	display: block;
	font-family: 'acumin-pro-extra-condensed', serif;
	font-size: 2.5rem;
	padding: 1em;
	text-transform: uppercase;
}

ul.header-nav li.social-icon a {
	padding: 1em 0;
}

.social-icon img {
    width: 40px;
}

.social-icon-footer img {
    width: 40px;
    margin: 0 0.5em;
}

.content-shell {
	padding: 10%;
}

.services-icon {
	width: 100%;
	display: block;
}

h1, .about-text {
	font-size: 2.2rem;
	font-weight: 700;
	padding: 0;
	color: rgb(94, 192, 183);
	line-height: 2em;
}

p, pre {
	padding: 20px 0 0;
	margin: 0;
	font-size: 2em;
	line-height: 2em;
	font-family: "acumin-pro-extra-condensed",sans-serif;
	font-style: normal;
	font-weight: 300;
}

.our-team-shell {
    padding: 5% 10% 0;
    background-color: rgb(94, 192, 183);
}

.our-team {
    margin-bottom: 10%;
}

.our-team-photo {
    display: block;
}

.our-team-shell h2 {
    font-size: 2em;
    color: white;
    line-height: 2em;
}

.our-team-shell-details {
    padding-top: 5%;
}

.our-team-shell h3 {
    font-size: 3em;
    color: white;
}

.our-team-shell p {
    font-size: 2em;
    color: white;
    padding:0;
    line-height: 1.5em;
}

.contact-logo {
    width: 50%;
    margin: 0 25%;
}

.contact-form {
	padding-top:5%;
}

.contact-details {
	text-align: center;
}

.service-wrapper .service:first-child hr {
	display: none;
}

.service {
	margin: 4rem 0;
}

.service-wrapper hr{
	background-color: black;
	border: none;
	height: 2px;
}

p.button {
	background-color: #59BCB1;
	color: white;
	display: inline-block;
	margin-top: 2rem;
	text-transform: uppercase;
	padding: 0.5rem;
	border-radius: 0;
	width: auto;
}



.timetable-img {
	margin: 3rem auto 0 auto;
	max-width: 90%;
}

.full-timetable-link {
	border-radius: 0;
	box-sizing: border-box;
	color: white;
	margin: 2rem auto;
	padding: 0.5rem;
	text-align: center;
	text-transform: uppercase;
	width: 90%;
}

.green {
	background-color: #59BCB1;
}

.pink {
	background-color: #E39AC3;
}


.gallery {
	text-align: center;
}

.gallery-item {
	box-sizing: border-box;
	margin: auto;
	max-width: calc(50% - 2rem);
	padding: 1rem;
	width: 100%;
}

.contact-info .pure-g {
	margin: 3rem auto 0 auto;
}


.service-fullscreen {
    display:none;
	height: 100%;
    width: 90%;
    background-color: gray;
    position: absolute;
    z-index: 9999999;
    top: 0;
    padding: 5%;
}

.service-fullscreen #nav-toggle.active span:before, 
.service-fullscreen #nav-toggle.active span:after {
	top: 0;
	background-color: white;
}

.service-fullscreen h1, .service-fullscreen p {
	color: white;
} 

.private-training-details{
	background-color: rgb(94,192,183);
}

.power-yoga-details{
	background-color: rgb(238,224,199);
}

.group-fitness-details{
	background-color: rgb(226,161,196);
}

.mobile-training-details{
	background-color: rgb(134,223,247);
}

.couples-training-details{
	background-color: rgb(127,239,217);
}

.nutrition-details {
	background-color: rgb(169,157,126);
}

.footer-flex {
	border-top: 5px solid rgb(94, 192, 183);;
	display: flex;
	display: -webkit-flex;
	flex-direction: column;
	-webkit-flex-direction: column;
	flex-wrap: nowrap;
	-webkit-flex-wrap: nowrap;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
	box-sizing: border-box;
	padding: 1rem 2rem;
	width: 100%;
}

.footer-logo {
	max-width: 100px;
	width: 100%;
}

.footer p {
    font-size: 2em;
}

ul.footer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.footer-nav li {
	display: block;
	text-align: center;
}

ul.footer-nav li span,
ul.footer-nav li a {
	display: inline-block;
}

ul.footer-nav li a {
	/*display: block;*/
	font-family: 'acumin-pro-extra-condensed', serif;
	font-size: 1.3rem;
	padding: 0.5rem;
	text-transform: uppercase;
}




/* 
==============================================================================================================================
==============================================================================================================================
=============================================         Responsive Styles          =============================================
==============================================================================================================================
==============================================================================================================================
*/

@media (min-width: 568px) {

	.our-team-shell {
    	padding: 5% 10% 0%;
    }

}

@media (min-width: 768px) {

	.page-chunk {
		padding: 0;
	}

	img.header-logo {
	    width: 100px;
	    padding: 2em 4em;
	}

	.footer-flex {
		flex-direction: row;
		-webkit-flex-direction: row;
	}

	ul.footer-nav li {
		display: inline-block;
		text-align: left;
	}

	.gallery-item {
		max-width: calc(33% - 2rem);
	}

	h1, .about-text {
		font-size: 3rem;
		line-height: 2em;
	}

	p, pre {
		font-size: 2em;
		line-height: 1.5em;
	}

	.our-team-shell h2 {
	    font-size: 2em;
	    line-height: 1.5em;
	}

	.our-team-shell h3 {
	    font-size: 1.8em;
	}

	.our-team-shell p {
	    font-size: 1.5em;
	    line-height: 1.5em;
	}

}

@media (min-width: 1024px) {
	.mobile-nav { 
		display: none; 
	}

	.header-nav {
		display: block;
	}

	.header-flex {
		justify-content: flex-start;
	    -webkit-justify-content: flex-start;
	}

}

@media (min-width: 1200px) {

	h1, .about-text {
		font-size: 5rem;
		line-height: 2em;
	}

	p, pre {
		font-size: 3em;
		line-height: 2em;
	}

	.our-team-shell h2 {
	    font-size: 2.5em;
	    line-height: 1.5em;
	}

	.our-team-shell h3 {
	    font-size: 2.5em;
	}

	.our-team-shell p {
	    font-size: 2em;
	    line-height: 1.5em;
	}

}

@media (min-width: 1920px) {

	h1, .about-text {
		font-size: 5rem;
		line-height: 2em;
	}

	p, pre {
		font-size: 3em;
		line-height: 2em;
	}

	.our-team-shell h2 {
	    font-size: 3.5em;
	    line-height: 1.5em;
	}

	.our-team-shell h3 {
	    font-size: 3em;
	}

	.our-team-shell p {
	    font-size: 2em;
	    line-height: 1.5em;
	}

}