@import url('https://fonts.googleapis.com/css?family=Open+Sans+Regular');

@keyframes fromLeft {
	0% {
		transform: translateX(-1000px);
		opacity: 0;
	}

	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes fromRight {
	0% {
		transform: translateX(1000px);
		opacity: 0;
	}

	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes fade-in {
	0% {
		opacity: 0;
	}

	22% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}


*+* {
	margin: 1.3em 0 0 0;
}

.no-marge {
	margin-top: 0;
}

.embed-responsive {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	overflow: hidden
}

.embed-responsive::before {
	display: block;
	content: ""
}

.embed-responsive .embed-responsive-item,
.embed-responsive embed,
.embed-responsive iframe,
.embed-responsive object,
.embed-responsive video {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0
}

.embed-responsive-21by9::before {
	padding-top: 42.857143%
}

.embed-responsive-16by9::before {
	padding-top: 56.25%
}

.embed-responsive-4by3::before {
	padding-top: 75%
}

.embed-responsive-1by1::before {
	padding-top: 100%
}

html {
	scroll-behavior: smooth;
}

button:focus {
	outline: none;
}


/* DOCUMENT */

body,
html {
	height: 100%;
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	padding: 0;
	margin: 0;
	color: #333;
}

/* SECTIONS-GLOBAL */
section,
footer {
	overflow: hidden;
	margin: 0;
	padding: 20vh 10vw;
}


section p {
	max-width: 36em;
}

.highlight {
	background: rgba(255, 255, 255, .3);
	padding: .25em 0;
}

.center {
	text-align: center;
}

.paralax {
	padding-top: 150px;
	padding-bottom: 150px;
	background-attachment: scroll;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.paralax .row {
	margin: 0;
}

section h1,
section h2 {
	text-align: center;
}



[class^="flex-grid"] img {
	max-width: 100%;
	object-fit: contain;
}


@media (min-width:1025px) {
	section {
		padding-left: 15vw;
		padding-right: 15vw;
	}

	.paralax {
		background-attachment: fixed;
	}

	.flex-grid {
		display: flex;
		justify-content: space-between;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.flex-grid .col {
		margin: 0;
	}

	.fg-2 .col {
		width: 48%
	}

	.fg-3 .col {
		width: 30%;
	}

	.fg-4 .col {
		width: 23%;
	}
}

/* TEXT */

h1 {
	font-size: 2rem;
}

h2 {
	font-size: 2.5rem;
}

h3 {
	font-size: 1.3em;
	text-transform: uppercase;
	font-weight: 700;
}

h1,
h2,
h3,
h4 {
	line-height: 1.1em;
}

p,
ol {
	font-size: 1.2rem;
	line-height: 1.5em;
	letter-spacing: -1px;
}

a {
	color: #ee1c25;
	text-decoration: none;
}

ol {
	padding: 0 2em;
}

.display-1,
.display-2,
.display-3,
.display-4 {
	line-height: 1.1;
	letter-spacing: -1.5px;
}

.display-1 {
	display: block;
	font-size: 2.5rem;
	text-transform: uppercase;
	font-weight: 700;
	margin-top: 0;
}

.display-1+.display-2 {
	margin-top: .5em;
}

.display-2 {
	display: block;
	font-size: 2rem;
}

.display-3 {
	display: block;
	font-size: 2.5rem;
}

.display-4 {
	font-size: 2rem;
}


/* BUTTONS-GLOBAL */

.btn {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	border: 2px solid white;
	border-radius: 0;
	outline: none;
	cursor: pointer;
	color: white;
	font-size: 1.25rem;
	font-weight: 700;
	padding: 1rem 1.5rem;
	white-space: normal;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
	;
	text-shadow: 0 0 2px black, 0 0 1px black;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.btn:hover {
	box-shadow: 0px 0px 5px white;
	filter: brightness(125%) saturate(125%) contrast(1.1);
}

.icon {
	fill: #fff;
}


/*/ SECTIONS /*/

/*- HEADER */

header {
	height: calc(100% - 80px);
	position: relative;
	background: rgba(0, 0, 0, 0.5);
	background-size: cover;
	background-position: center 25%;
	color: white;
	display: flex;

	justify-content: space-between;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

header *+* {
	margin-top: 1.3rem;
}

video {
	position: absolute;
	z-index: -1;
	margin: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 100%;
	min-height: 100%;
}

.brand {
	z-index: 1000;
	position: absolute;
	margin: 1em;
}

.anchor {
	display: inline-block;
}

.logo {
	height: 50px;
	border-radius: 5px;
	position: fixed;
}

.words {
	margin: 0 0 0 90px;
	height: 50px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start
}

.words img {
	filter: drop-shadow(0 0 1px black);
}

.ce {
	max-width: 100%;
	max-height: 60%;
}

header .ce,
header .bbb,
header .words {
	animation: fromRight .5s ease-in 1s 1 normal both;
}

.bbb {
	margin: 5px 0 0 2.5%;
	height: calc(30% - 5px);
	max-width: 100%;
}

.murphlogo {
	filter: invert(100%);
	align-self: end;
	z-index: 2;
	display: none;
}

.murphlogo img {
	max-height: 4.5em;
	margin: 0 1em 0 0;
}

.sell {
	width: 100%;
	text-align: right;
	z-index: 2;
	align-self: end;
	margin: 2em;
}

.sell .award {
	display: none;
}

@media (min-width: 1025px) {
	.sell {
		display: grid;
		grid-template-columns: 5fr 1fr;
		grid-template-areas:
			"left right";
		grid-gap: 2em;
	}

	.sell .pitch {
		grid-area: left;
	}

	.sell .award {
		display: block;
		grid-area: right;
		width: 100%;
		margin: 0;
	}
}


.buttons {
	display: flex;
	flex-direction: row;
	text-align: right;
	justify-content: flex-end;
}


.sell a * {
	line-height: 1;
}

.red {
	background-color: #ee1c25;
}

.blue {
	background-color: #282165;
	color: white;
}

.bluetext {
	color: #282165;
}

.signUp {
	width: 100%;
	z-index: 999;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	height: 80px;
}

@media (min-width: 1025px) {
	header {
		min-height: 100%;
	}

	.murphlogo {
		display: inline-block;
	}

	.sell {
		padding: 0 5vw 10vh 0;
		margin: 0;
	}

	.signUp {
		position: relative;
		display: inline-block;
		width: auto;
		height: auto;
	}
}

/* MURPH */

main {
	margin: 0;
}

#murph {
	background: black;
	color: white;
}

#murph .leadin {
	font-style: italic;
	text-align: center;
	display: block;
}

#murph .date {
	text-align: center;
	display: block;
}

#murph .murph-logo {
	filter: invert(100%);
	max-width: 75%;
	margin-left: auto;
	margin-right: auto;
}

#murph table {
	font-size: 2em;
	border-spacing: .5em;
	text-transform: uppercase;
}

#murph td:first-of-type {
	font-style: italic;
	text-align: center;
	padding-right: 1em;
}

#murph .what {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	grid-area: what;
}

#murph .grid-media {
	grid-area: media;
}

#murph .how {
	grid-area: how;
}

@media (min-width: 1025px) {
	#murph .display-1 {
		font-size: 6em;
	}
}

/* VIDEO */

.unpad {
	margin-left: -10vw;
	margin-right: -10vw;
}

/* SERVICES */


#services .col {
	position: relative;
}

#services .col img {
	max-height: 30vh;
	width: 100%;
	object-fit: cover;
}

#services span {
	position: absolute;
	margin: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: white;
	text-align: center;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 4.5vw;
}

#services img {
	filter: brightness(50%);
	margin: 0;
}

#services p {
	text-align: justify;
	margin-left: auto;
	margin-right: auto;
}


@media (min-width: 1025px) {
	#services .col {
		max-height: none;
		margin: 0;
	}

	#services span {
		font-size: 2vw;
	}
}

/* PERSONAL TRAINERS */

.qualification {
	margin: 0;
	width: 24%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.brian .qualification {
	width: auto;
	justify-content: flex-start;
}

.brian .qualification p {
	margin-left: .5em;
}

.qualification img {
	margin: 0;
	width: auto;
	max-width: 100%;
	max-height: 3.5em;
}

#trainers h2 {
	text-align: left;
}

#trainers .grid+.grid {
	margin-top: 10vh;
}


#trainers .grid-media img {
	min-height: 100%;
	min-width: 100%;
	object-fit: cover;
}


/* CALL TO ACTION */
.cta {
	text-align: center;
	color: white;
}

.cta a {
	display: block;
}

.cta .display-1 {
	font-size: 4rem;
}

.cta .display-2 {
	margin-top: 0;
}

.cta .highlight {
	margin-left: -15vw;
	margin-right: -15vw;
}

.cta .icon {
	display: block;
	height: 6rem;
	margin-left: auto;
	margin-right: auto;
}

.cta .btn {
	display: inline-block;
}

.cta p {
	max-width: 23em;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.3em;
	text-align: justify;
}

/* SECTIONS - VIDEO PROMO */
#vidpromo {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('../img/bg/tire.jpg');
	background-position: top center;

	a {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		align-items: center;;

		.large-icon {
			color: white;
			font-size: 8rem;
		}

		.btn {
			display: inline-block;
			width: auto;
			margin: 0;
		}
	}
}


/* SECTIONS - APPOINTMENT */
#appointment {
	background-image: linear-gradient(rgba(0, 0, 0, 0.66), rgba(0, 0, 0, 0.66)), url('../img/bg/deadlift.jpg');
	background-position: 65%;
}



/* SECTIONS - THE GYM */
#gym {
	padding-bottom: 150px;
}

#gym .gym-photos .col {
	margin-top: 1em;
}

#gym img {
	width: 100%;
	margin: 0;
}


/* FOOTER */
footer {
	background-color: #1e1e1e;
	color: white;
	font-size: 1.2em;
}

footer * {
	color: white;
}

footer .col+.col {
	margin-top: 4em;
}

footer h3 {
	text-align: center;
}

footer hr {
	margin-top: 1.3em;
}

address>span {
	display: flex;
	flex-direction: row;
	align-content: center;
	text-decoration: none;
	font-style: normal;
}

address>span a {
	margin: 0 0 0 1em;
}

footer a,
footer a:hover,
footer a:visited,
footer a:focus {
	color: white;
	text-decoration: none;
}

footer svg {
	height: 1.33rem;
	width: 1.33rem;
	fill: #fff;
}

@media (min-width: 768px) {
	footer h3 {
		text-align: left;
	}

	footer .col+.col {
		margin-top: 0;
	}
}


/* FORM */
.blackbg {
	background-image: url("../img/bg/dark_wall.png");
	background-color: #1e1e1e;
	color: white;
	font-size: 1.2em;
	margin: 0;
	padding: 1em;
}

.blackbg section {
	padding: 5vh 10vw 0;
}

.blackbg .brand {
	position: relative;
	display: block;
	margin: 0;
}

.blackbg p {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

form {
	padding: 0;
	margin: 0 auto 0;
	color: white;
	max-width: 36em;
	font-size: 1rem;
}

form>.display-4 {
	margin-top: 0;
}

lable,
input,
select,
textarea {
	display: block;
	width: 100%;
	font-size: 1rem;
	line-height: 1.5;
	outline: 0;
	margin: .3em 0 0;
}

select.form-control:not([size]):not([multiple]) {
	height: calc(2.25rem + 2px);
}

.blackbg button {
	width: 100%;
	margin: 1.3em 0 1.3em;
}

.form-group legend {
	font-size: 1rem;
}

.form-control {
	padding: .375rem .75rem;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	border-radius: .25rem;
	transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
}

.form-check-input {
	margin-right: 1em;
}

input[disabled] {
	color: #868e96;
}

.hoobiejeebies {
	display: none;
}

@media (min-width: 768px) {
	#contact section {
		padding: 0;
	}
}

.grid-qualifications {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

@media (min-width: 1024px) {
	.grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 1.3em;
	}

	.grid-1 {
		grid-template-areas:
			"heading heading"
			"text media"
	}

	.grid-2 {
		grid-template-areas:
			"media heading"
			"media qualification"
			"media text"
			"media  ."
	}

	.grid-murph {
		display: grid;
		grid-template-columns: 1fr 2fr 1fr;
		grid-column-gap: 1.3em;
		grid-template-areas:
			"what media how"
	}

	.grid-heading {
		grid-area: heading;
		margin: 0;
	}

	.grid-qualifications {
		grid-area: qualification;
	}

	.grid-text {
		grid-area: text;
	}

	.grid-media {
		grid-area: media;
		margin: 0;
	}

	#video .grid-media {
		margin: 1.3em 0 0;
	}
}