/*
Theme Name: Valhalla Montreal
Author: Paul Crosby
Author URI: https://paul-crosby.com
Description: A theme for Valhalla Montreal by Paul Crosby
Version: 3.3
License: GNU General Public License v2 or later
Text Domain: valhallamontreal
*/

@import url(https://fonts.googleapis.com/css?family=Oswald|Source+Sans+Pro:400,400i,700,700i&display=swap);

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */

button,
hr,
input {
	overflow: visible
}

audio,
canvas,
progress,
video {
	display: inline-block
}

progress,
sub,
sup {
	vertical-align: baseline
}

.heading,
body {
	color: #594a42
}

.heading,
.text-center {
	text-align: center
}

.hero:after,
.hero:before {
	content: ""
}

.panel,
.site-nav .icon {
	transition: all ease-in-out .2s
}

html {
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}

body {
	margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
	display: block
}

h1 {
	margin: .67em 0
}

figure {
	margin: 1em 40px
}

hr {
	box-sizing: content-box;
	height: 0
}

.container,
legend {
	box-sizing: border-box
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em
}

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
	text-decoration: none;
	color: #f15b2b
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: bolder
}

dfn {
	font-style: italic
}

mark {
	background-color: #ff0;
	color: #000
}

small {
	font-size: 80%
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

audio:not([controls]) {
	display: none;
	height: 0
}

img {
	border-style: none
}

svg:not(:root) {
	overflow: hidden
}

button,
input,
optgroup,
select,
textarea {
	font-family: sans-serif;
	font-size: 100%;
	line-height: 1.15;
	margin: 0
}

button,
select {
	text-transform: none
}

.button,
.h1,
.h3,
button,
h1,
h3 {
	text-transform: uppercase
}

[type=reset],
[type=submit],
button,
html [type=button] {
	-webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	border-style: none;
	padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
	outline: ButtonText dotted 1px
}

[type=checkbox],
[type=radio] {
	box-sizing: border-box;
	padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

.button:focus,
.button:hover,
button:focus,
button:hover,
input[type=email]:focus,
input[type=number]:focus,
input[type=text]:focus,
select:focus {
	outline: 0
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

fieldset {
	padding: .35em .75em .625em
}

legend {
	display: table;
	max-width: 100%;
	padding: 0;
	color: inherit;
	white-space: normal
}

textarea {
	overflow: auto
}

.heading,
.hero--video,
.panel,
.sr-only {
	overflow: hidden
}

summary {
	display: list-item
}

[hidden],
template {
	display: none
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	clip: rect(0, 0, 0, 0);
	border: 0
}

.img-responsive {
	max-width: 100%;
	height: auto
}

.iframe-responsive {
	position: relative;
	padding-bottom: 40.85%;
	padding-top: 25px;
	height: 0
}

.heading,
.main,
.pad {
	padding: 2rem
}

.iframe-responsive iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

@media (min-width:30em) {
	.juxta {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row
	}
	.juxta>* {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1
	}
	.heading {
		-webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%);
		clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%)
	}
}

.container {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	max-width: 72em
}

.container--sm {
	max-width: 50em
}

.pad-y {
	padding-top: 2rem;
	padding-bottom: 2rem
}

@font-face {
	font-family: Minimo;
	font-weight: 400;
	src: url(fonts/Minimo-Regular.otf) format("otf")
}

@font-face {
	font-family: Minimo;
	font-weight: 700;
	src: url(fonts/Minimo-Bold.otf) format("otf")
}

html {
	font-size: 16px
}

@media (max-width:30em) {
	html {
		font-size: 14.4px
	}
}

body {
	font-family: "Source Sans Pro", sans-serif;
	font-weight: 400;
	font-size: 1em
}

.button,
.h1,
.h2,
.h3,
.h4,
.h5,
button,
h1,
h2,
h3,
h4,
h5 {
	font-family: Minimo, "Source Sans Pro", sans-serif
}

.h1,
.h2,
.h3,
.h4,
.h5,
h1,
h2,
h3,
h4,
h5 {
	font-weight: 700
}

.h1,
h1 {
	font-size: 2.6875rem
}

a:hover {
	color: #f4805b
}

p {
	margin-top: 0;
	line-height: 1.4
}

.heading {
	margin: auto;
	box-sizing: border-box;
	background-size: cover
}

.heading *,
ul.plain {
	margin: 0
}

.button,
button,
input[type=email],
input[type=number],
input[type=text],
select {
	display: inline-block;
	padding: 1em 2em;
	box-sizing: border-box
}

.lead {
	font-size: 1.75rem;
	line-height: 1.6;
	font-weight: 300
}

.text-lg {
	font-size: 1.625rem
}

.text-lg\+ {
	font-size: 2.6875rem
}

body {
	background-color: #efefea
}

input[type=email],
input[type=number],
input[type=text] {
	border: 2px solid #f15b2b;
	border-radius: 0
}

select {
	-webkit-appearance: none;
	border: 2px solid #f15b2b;
	border-radius: 0;
	background: calc(100% - 1em) center no-repeat #fff;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>')
}

.button,
button {
	border: 2px solid #f15b2b;
	border-radius: 0;
	background-color: transparent;
	font-weight: 700;
	color: inherit
}

ul.plain {
	list-style: none;
	padding: 0
}

.hero {
	position: relative;
	height: 100vh;
	background: center center no-repeat;
	background-size: cover;
}

.hero:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.7), transparent)
}

.hero video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -100;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	background: url(images/heros/home.jpg) no-repeat;
	background-size: cover
}
@media only screen and (min-width: 50em) {
	.hero:after,
	.hero__content {
		left: 0;
		width: 100%;
		position: absolute
	}
}


@media screen and (max-width:30em) {
	.hero video {
		display: none
	}
}

.hero .hero__heading {
	background: rgba(168, 202, 229, .7);
	margin: auto;
	padding: 2rem;
	text-align: center;
	box-sizing: border-box
}

.hero .hero__heading * {
	margin: 0
}

.hero:after {
	height: .5em;
	bottom: 0;
}

.hero__content {
	z-index: 1;
	bottom: .5em;
	color: #fff
}

.hero__content p {
	margin: 0;
	line-height: 1.1
}

@media (min-width:30em) {
	
	.hero__content {
		width: 100%;
	}
	.hero--extend-content .hero__content {
		bottom: -4rem
	}
	.hero--extend-content+* {
		margin-top: 4rem
	}
}

.projects {
	list-style: none;
	margin: 0;
	padding: 0
}

.project {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 2%
}

@media (min-width:30em) {
	.project {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		height: 300px
	}
}

.project__content,
.project__image {
	width: 100%;
	box-sizing: border-box;
	padding: 3rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.project__image {
	display: block;
	background: center center no-repeat;
	background-size: cover
}

.project__content {
	background-color: #594a42;
	color: #efefea;
	padding: 4rem
}

@media (min-width:30em) {
	.project__content,
	.project__image {
		height: 100%;
		width: 50%
	}
	.project__image {
		-webkit-clip-path: polygon(4% 0, 100% 0, 100% 100%, 0 100%);
		clip-path: polygon(4% 0, 100% 0, 100% 100%, 0 100%)
	}
	.project__content {
		-webkit-clip-path: polygon(0 0, 100% 0, 96% 100%, 0 100%);
		clip-path: polygon(0 0, 100% 0, 96% 100%, 0 100%);
		padding-right: calc(4% + 4rem)
	}
	.project:nth-child(2n+1) {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse
	}
	.project:nth-child(2n+1) .project__content {
		text-align: right;
		padding-left: calc(4% + 4rem);
		padding-right: 4rem;
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 4% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 4% 100%)
	}
	.project:nth-child(2n+1) .project__image {
		-webkit-clip-path: polygon(0 0, 96% 0, 100% 100%, 0 100%);
		clip-path: polygon(0 0, 96% 0, 100% 100%, 0 100%)
	}
}

.section {
	padding: 2rem 0 4rem;
}

.section--blue {
	background-color: #a8cae5;
	color: #594a42
}

.panel {
	display: block;
	background-color: #f15b2b;
	color: #fff;
	text-align: center;
	height: 0;
	max-height: 0;
	box-sizing: border-box;
	padding: 0
}

.panel--is-toggled {
	height: auto;
	max-height: 1000px;
	padding: 2rem;
	z-index: 999;
	position: relative;
}

.site-header {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	border-top: 10px solid #f15b2b;
	color: #fff
}

.site-header .site-header,
.site-header__logo {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1
}

.site-header__logo {
	text-align: left
}

.site-header__logo * {
	fill: #fff;
	color: #fff
}

@media (max-width:30em) {
	.site-header__logo svg {
		width: 52px
	}
	.site-header__logo #ValhallaLogoText {
		display: none
	}
}

.site-header__con {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.menu-toggle {
	position: relative;
	z-index: 101
}

.menu-toggle svg {
	vertical-align: middle;
	stroke: #fff
}

@media (min-width:50em) {
	.menu-toggle {
		display: none
	}
}

.site-nav .icon {
	height: 1em;
	width: auto;
	stroke: #fff;
	margin: 0 .5em
}

@media (max-width:50em) {
	.site-nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		transition: all ease-in-out .2s;
		opacity: 0;
		width: 0;
		height: 0;
		position: fixed;
		z-index: 100;
		background-color: rgba(241, 91, 43, .7);
		color: #fff;
		right: 0;
		top: 0;
		box-sizing: border-box;
		padding: 2rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center
	}
	.site-nav--is-toggled {
		opacity: 1;
		width: 100%;
		height: 100%
	}
	.site-nav--is-toggled+.menu-toggle {
		background-color: #fff;
		color: #f15b2b
	}
	.site-nav--is-toggled+.menu-toggle svg {
		stroke: #f15b2b
	}
	.site-nav ul {
		list-style: none;
		margin: 0;
		padding: 0;
		text-align: center
	}
	.site-nav ul a {
		display: inline-block;
		color: #fff;
		padding: .75em;
		font-family: Minimo, "Source Sans Pro", sans-serif;
		font-size: .8125rem;
		font-weight: 700;
		text-transform: uppercase
	}
}

@media (min-width:50em) {
	.site-nav a,
	.site-nav li {
		display: inline-block
	}
	.site-nav__menu,
	.site-nav__util {
		list-style: none;
		font-family: Minimo, "Source Sans Pro", sans-serif;
		font-weight: 700;
		text-transform: uppercase
	}
	.site-nav a,
	.site-nav__menu,
	.site-nav__util {
		text-transform: uppercase
	}
	.site-nav {
		text-align: right
	}
	.site-nav a {
		color: #fff
	}
	.site-nav__util {
		margin: 0;
		padding: 0;
	}
	.site-nav__util a:hover .icon {
		stroke: #f15b2b;
		fill: #fff
	}
	.site-nav__util li {
		padding: 0 1em;
		background-color: rgba(241, 91, 43, .5);
		opacity: .9;
		position: relative;
		height: 27px;
		line-height: 1;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		vertical-align: top;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin-right: 1em
	}
	.site-nav__util li:after,
	.site-nav__util li:before {
		content: "";
		position: absolute;
		top: 0;
		width: 0;
		height: 0
	}
	/*
	.site-nav__util li:before {
		left: -1em;
		border-top: 2em solid rgba(241, 91, 43, .5);
		border-left: 1em solid transparent
	}
	.site-nav__util li:after {
		right: -1em;
		border-bottom: 2em solid rgba(241, 91, 43, .5);
		border-right: 1em solid transparent
	}
	.site-nav__util li:last-child:after {
		border-bottom: none;
		border-top: 2em solid rgba(241, 91, 43, .5)
	} */
	.site-nav__util li.snav__util--highlight,
	.site-nav__util li:hover {
		background-color: #f15b2b;
		opacity: 1
	}
	.site-nav__util li.snav__util--highlight:before,
	.site-nav__util li:hover:before {
		border-top-color: #f15b2b
	}
	.site-nav__util li.snav__util--highlight:after,
	.site-nav__util li:hover:after {
		border-top-color: #f15b2b;
		border-bottom-color: #f15b2b
	}
	.site-nav__menu {
		margin: 1rem 0 0;
		padding: 0;
		font-size: 1.125rem
	}
	.site-nav__menu a {
		padding: 1em
	}
	.site-nav__menu a:hover {
		color: #f15b2b
	}
}

.site-footer {
	padding: 2rem;
	color: #fff;
	text-align: center;
	background: url(images/bg-footer-mobi.jpg) center top no-repeat orange;
	background-size: cover
}

@media (min-width:30em) {
	.site-footer {
		background-image: url(images/bg-footer.png)
	}
}