/*** uncss> filename: https://fonts.googleapis.com/css?family=Courgette|Montserrat|Roboto+Slab ***/
@font-face {
  font-family: 'Courgette';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/courgette/v17/wEO_EBrAnc9BLjLQAUk1VvoP.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/montserrat/v29/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw5aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/robotoslab/v34/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjojISmb2Rm.ttf) format('truetype');
}
 
/*** uncss> filename: /home/patrick/web/dev/pr/css/minireset.css ***/
/*! minireset.css v0.0.5 | MIT License | github.com/jgthms/minireset.css */
html,
body,
ul,
li,
iframe {
  margin: 0;
  padding: 0;
}

h1,
h2,
p,
figure {
	margin-bottom: 0;
}

h1,
h2,
h3,
h4 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style: none;
}

*, *:before, *:after {
  box-sizing: border-box;
}

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

iframe {
  border: 0;
} 
/*** uncss> filename: /home/patrick/web/dev/pr/css/pr.css ***/
/* GLOBAL LAYOUT */ 
:root {
    --orange: rgb(255, 165, 0);
	--dark-orange: rgb(146, 99, 14);
	--light-orange: rgb(255, 197, 92);
    --green: #2C750D;
    --dark-green: rgb(14, 80, 23);
	--light-green: rgb(101, 178, 69);
    --brown: rgb(79, 64, 51);
	--black: #444;
}

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

html, body {
	height: 100%;
}

html {
	scroll-behavior: smooth;
	font-size: 18px;
}

body {
    font-family: "Montserrat", sans-serif;
    color: rgb(39,49,49);
	font-size: 1.125em;
	line-height: 1.6;
	overflow-x: hidden;
	min-height: 100vh;
}

.scroll-lock {
	position: fixed;
}

body > div {
	margin: 0;
}


/* TEXT */ 
h1,
h2,
h3,
h4,
[class^="display-"],
.grab
 {
	 font-family: "Roboto Slab", sans-serif;
	 letter-spacing: -1px;
	 font-weight: 400;
	 line-height: 1.25;
}

h1,
h2,
h3,
h4 {
	color: var(--black);
}

h1 {
	font-size: 3em;
	font-size: clamp(1.5em, 4vw, 2.5em);
}

h2 {
	font-size: 2em;
	font-size: clamp(1.25em, 8vw, 3.5em);
}

.h2--large {
	font-size: 8em;
	font-size: clamp(1.5em, 11vw, 4em);
	text-shadow: 1px 1px 1px #212529;
}

h3 {
	font-size: 1.5em;
	font-size: clamp(1.25em, 8vw, 3.5em);
}


p {
	font-size: clamp(1em, 1.125vw, 1.25em);
	letter-spacing: -.66px;
}

strong {
	display: inline-block;
	font-weight: 400;
}

.lead {
	font-family: 'Courgette', cursive;
    color: var(--brown);
	font-size: 6vw;
	text-align: center;
}

.grab {
	font-size: 1.5em;
	line-height: 1.3;
	margin: 0 auto;
	align-self: center;
	text-align: center;
}

@media(min-width:768px) {
	.lead {
		font-size: 1.75em;
	}
	.grab {
		font-size: clamp(1.5em, 4vw, 2.5em);
		align-self: end;
		text-align: left;
	}
}


/* LINKS */

a {
	transition: background 150ms ease-in-out, filter 150ms ease-in-out, color .150ms ease-in-out;
}

a:hover {
	filter: brightness(125%) saturate(125%) contrast(1.1);
}

main a:link,
main a:hover,
main a:visited {
    color: var(--dark-green);
}


/* BUTTONS */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;	
	width: 100%;
	padding: 1em;
	background: transparent;
	border: 3px solid transparent;
	font-size: 1.4rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.btn > * {
	margin:0;
}

.btn--green {
	color: var(--green);
	border: 3px solid var(--green);
}
.btn--green:hover {
	color: white;
	background: var(--green); 
}

.btn--orange {
	color: white;
	background: var(--orange);
	font-weight: 700;
}
.btn--orange:visited {
	color: white;
}

span.number {
	display:none;
}


@media(min-width:768px) {
    .btn {
    	width: auto;
	}
	span.number {
		display: inline-block;
	}
	span.callUs {
		display:none;
	}
}

/* FACILITIES */
	
.facilities {
	width: 100%;
	display: flex;
	flex-direction: column;
}
	
@media(min-width:768px) {
	.facilities {
		flex-direction: row;
		justify-content: space-around;
	}
}

	
/* ICONS */	
.icon {
    width: 1em;
	height: 1em;
	margin: 0;
	fill: currentColor;
}

.btn .icon {
	margin: 0 .5em 0 0;
}

/* CARDS */

.facilities { 
	justify-content: space-between;
}

@media(min-width:768px) {
	.facilities > * {
		max-width: 30%;
	}
}


/* LAYOUT */
#navbar, header, main {
	margin: 0;
}

main {
	padding: 2em;
}

#navbar, header, .btn {
	transition: background 200ms ease;
}

main>section>figure {
	margin-left: -2em;
	margin-right: -2em;
}



@media(min-width:768px) {
	header, main {
		padding: 0;
	}
	
	.split {
		display: grid;
		grid-template-columns: 2fr 1fr;
		grid-template-areas: 
			"left"
			"right";
		grid-gap: 2em;
	}
}

/* NAV */

#navbar {
	z-index: 1000;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	padding: 1em;
	background: white;
}
#home #navbar.bg {
	background: rgba(255,255,255,1);
}

.brand {
	z-index: 5000;
	padding: 0;
	margin: 0;
	flex-grow: 2;
}
.brand:hover {
	filter:brightness(150%);
}
.smallLogo {
	max-height: 50px;
	height: 100%;
	transition: opacity 100ms ease-in-out;
}
#home .brand.visible,
#home .bg .brand {
	opacity: 1;
}


#mainMenu {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 0;
	opacity: 0;
	overflow: hidden;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
	transition: height 150ms ease-in-out, opacity 100ms ease-in-out;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	font-size: 1.3rem;
	margin: 0;
	padding: 100px 1em;
	background: white;
	text-align: right;
}

#mainMenu.visible {
	opacity: 1;
	display: flex;
	height: 100vh;
	transition: height 150ms ease-in-out opacity 100ms ease-in-out;
	z-index: 2000;
}

.topic__items {
	display: flex;
	flex-direction: column;
}
.topic__items--row {
	flex-direction: row;
	justify-content: end;
}

.topic__item {
	margin: 0;
	padding: .5rem 1rem;
	cursor: pointer;
}
.topic__item:hover {
	background: var(--green);
}
.topic__item:hover .item__link {
	color: white;
}
.topic__item:hover .item__icon {
	fill: white;
}
	
.topic__desc {
	font-family: "Roboto Slab", sans-serif;
	font-size: 6vw;
	text-align: center;
}

.item__link {
	font-family: "Montserrat", sans-serif;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	line-height: 1;
	text-decoration: none;
	color: var(--green);
}
.item__icon {
	fill: var(--green);
}

.item__detail {
	display: none;
}

.quick {
	margin: 0 1em 0 0;
	font-size: .8em;
	border-radius: 4px;
	padding: .25em .5em;
	z-index: 1000;
	text-decoration: none;
	letter-spacing: -1px;
	margin: 0 1em 0 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	color: white;
}

.quick svg {
	height: 1rem;
	width: 1rem;
	margin-left: .5em;
}
.quick--green {
	background: var(--green);
}
.quick--orange {
	background: var(--orange);
}

#toggler {
	background: none;
	border: none;
	cursor: pointer;
	margin: 0;
	z-index: 9999;
}

.bar1, .bar2, .bar3 {
    width: 35px;
    height: 5px;
    background-color: white;
    margin: 6px 0;
    transition: 0.33s;
	display: block;
	background-color: var(--dark-green);
	
}
.bar2 {
    font-size: 13px;
    line-height: 5px;
    color: white;
	letter-spacing: -1px;
	background-color: transparent;
	color: var(--dark-green);
}
#home .bg .bar1,
#home .bg .bar3 {
	background-color: var(--dark-green);
}
#home .bg .bar2 {
	color: var(--dark-green);
}

.bg .open .bar1,
.open .bar1 {
	-webkit-transform: rotate(-45deg) translate(-6px, 8px);
    transform: rotate(-45deg) translate(-6px, 8px);
	height: 4px;
	background-color: var(--dark-green);
}
.open .bar2 {
    opacity: 0;
}
.bg .open .bar3,
.open .bar3 {
	-webkit-transform: rotate(45deg) translate(-6px, -9px) ;
    transform: rotate(45deg) translate(-6px, -9px) ;
	height: 4px;
	background-color: var(--dark-green);
}

@media(min-width:768px) {
	#navbar {
		display: flex;
		flex-direction: row;
		justify-content: space-evenly;
		align-items: center;
		width: 100%;
		padding: .5em 0;
		background:white;
	}
	
	.brand {
		flex-grow: initial;
		width: 100px;
	}
	
	#home #navbar.bg .brand {
		opacity: 1;
	}
	
	.quick {
		display: none;
	}
	
	#mainMenu {
		position: relative;
		display: flex;
		align-content: center;
		height: auto;
		opacity: 1;
		transition: height 150ms ease-in-out, opacity 100ms ease-in-out;
		border-bottom-left-radius: 4px;
		border-bottom-right-radius: 4px;
		font-size: 1.3rem;
		background: transparent;
		padding: 0;
	}
	
	#mainMenu ul {
		display: flex;
		flex-direction: row;
	}
	
	.topic__items {
		flex-direction: row;
	}

	.topic__item--highlight {
		background: var(--light-green);
	}
	.topic__item--highlight .item__icon {
		fill: white;
	}
	.topic__item--highlight .item__link {
		color: white;
	}
	.topic__item--highlight .item__detail {
		display: contents;
	}

	.topic__desc {
		display: none;
	}
	#home .bg .item__link {
		color: var(--dark-green);
	}
	#home .bg .topic__item--highlight .item__link {
		color: white;
	}
	#home .bg .item__icon {
		fill: var(--dark-green);
	}
	#home .bg .topic__item--highlight .item__icon {
		fill: white;
	}
	#toggler {
		display: none;
	}
}

/* HEADER */
header {
	display: flex;
	background-position: center center;	
	background-size: cover;
	height: 80vh;
	text-align: left;
	color: white;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
}

/* HOME HEADER */

header:not(.home) picture {
	width: 100%;
	overflow: hidden;
}


header:not(.home) picture img {
	object-fit: cover;
	object-position: top;
	min-height: 100%;
	min-width: 100%;
}

header h1 {
	margin: .5em 0 0 10vw;
	font-size: clamp(2.5em, 6vw, 4em);
}

header.home {
	display: flex;
	height: 100vh;
	justify-content: space-evenly;
	padding: 10vh 2em 20vh;
	background-color: #74a6ed;
}

header .logo {
	justify-self: center;
	width: 100%;
	align-self: end;
}

header.home .services {
	font-size: 1.3em;
	display: none;
}

header.home .services a {
	color: white;
	text-decoration: none;
}

#home header .services a:hover {
	background: var(--light-green);
}


@media(min-width:768px) {
	#home header {
		display: grid;
		grid-template-rows: auto auto;
		grid-template-columns: 1fr 2fr;
		grid-template-areas: 
			"logo site-title"
			"logo services";
		grid-gap: 2em;
		padding: 20vh 10vw 30vh;
	}
	#home header .logo {
		align-self: center;
		grid-area: logo;
	}
	#home header .grab {
		text-align: left;
	}
	#home header .services {
		grid-area: services;
		display: block;
	}
	
	
}

/* SECTIONS */

section {
	padding: 0;
	text-align: left;
	background: white;
}

section > *:first-child {
	margin-top: 0;
}

aside.facilities {
	font-size: 1.4rem;
}

@media(min-width:768px) {
	section {
        padding: 3.6em 10vw;
    }
	section:last-of-type {
		padding-bottom: 125px;
	}
}

@media(min-width:1200px) {
	.paralax {
		background-attachment: fixed;
		background-position: right center;
		background-repeat: no-repeat;
		background-size: cover;
		color: white;
		padding: 0;
		margin: 0 -10vw;
		height: 90vh;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
}

/* .intro figure img {
	object-fit: cover;
	height: 100%;
	width: 100%;
} */

figure {
	color: var(--brown);
	font-size: 0.85em;
	margin-left: 0;
	margin-right: 0;
}

figcaption {
	text-align: center;
	margin-top: 0.85em;
}

img.cover {
	object-fit: cover;
	height: 100%;
	width: 100%;
}


@media(min-width:992px) {	
	.intro {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"heading image"
			"text image"
			"contact image";
		grid-column-gap: 1em;
	}
	.intro .text {
		grid-area: text; 
		margin: 0;
	}
	.intro figure {
		grid-area: image;
		margin: 0;
	}
		
	.serviceDescription {
		text-align: center;
	}
	
	.serviceDescription p {
		margin-left: auto;
		margin-right: auto;
		text-align: left;
		max-width: 600px;
	}
	
	.serviceDescription h2 {
		text-align: left;
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.serviceDescription .lead {
		max-width: 800px;
		text-align: center;
	}
	
	.serviceDescription p,
	.serviceDescription img {
		display: block;
	}
	
	.serviceDescription a {
		display: inline-block;
		margin-left: auto;
		margin-right: auto;
	}
	
	.serviceDescription img,
	.serviceDescription aside {
		max-width: 800px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.facilities figure {
		margin-top: 0;
	}
	
}
	
/* MAP */


/* FOOTER */

.compact * {
	margin: 0;	
}

.compact,
.compact ul {
	display: flex;
	flex-direction: row;
}

.compact {
	justify-content: space-evenly;
	align-items: center;
	padding: 0 15px 1.3em;
}
.compact ul {
	justify-content: space-around;
}
.compact li {
	margin: 0 .5em;
}

footer .icon {
	height: 1.5rem;
	width: 1.5rem;
	fill: #212529;
}
	
	
/* CONTACT */
footer * {
	color: #212529;
}

footer h1, footer h2 {
	color: var(--black);
}

footer h2 {
	font-size: 1.2em;
}

.contact-map {
	display: block;
	width: 100%;
	height: 75vh;
}

.businessCard {
	display: block;
	width: 100%;
	background-color:rgba(255, 255, 255, 0.8);
	text-align:left;
	height: auto;
	padding: 1rem;
}

address {
	font-style: normal;
}

@media(min-width:845px) {
	#contact {
		padding: 0 0 10vw;
	}
	.businessCard {
		padding: 1rem 10vw 10vh;
	}
	.contact-details {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: top;
	}
	.contact-details .block {
		width: 49%;
		margin-top: 1.3em;
	}
}


/* 404 */

#notFound {
	background-image: url(../404.jpg);
	background-position: center top;
	height: 90vh;
	color: white;
	flex-direction: column;
	justify-content: space-between;
	align-items: baseline;
	padding: 100px 50px;
}

#notFound span {
	background: darkslategrey;
	padding: 1rem 2rem;
	margin: 1rem 0 0;
	font-size: calc(1rem + 3vw);
}

#notFound .error {
	font-size: calc(1rem + 6vw);
}

#notFound a {
	color: #65B245;
}




/* GIFTS */


.giftAd {
	text-align: center;
	padding: 4em 0em;
	margin-left: -2em;
	margin-right: -2em;
}

.giftAd .lead:first-of-type {
	margin: 0;
}

/* LESSONS */


#home header.summer {
	background: linear-gradient( rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1) ),url(../summer.jpg) no-repeat center 35%;
}


@media(min-width:768px) {
	
	.shift {
		transform: translateY(-13%); 
	}
	#home header.summer {
		background: linear-gradient( rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1) ),url(../summer-lg.jpg) no-repeat center 5% / cover;
	}	
	.bg-home-riding {
	background-image: url(../horse-riding-lg.jpg);
	}
	.bg-home-boarding {
		background-image: url(../horse-boarding-lg.jpg);
	}


}

/* SADDLE UP */

.saddle-up section {
	text-align: center;
}

.todos {
	display: grid;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr 5fr;
	grid-template-areas: 
		"to-do-number to-do-title"
		"to-do-number to-do-image"
		"to-do-number to-do-details";
	grid-gap: 1em;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

.to-do-number {
	font-size: 3rem;
	font-family: "Roboto Slab", sans-serif;
	background: #2C750D;
	grid-area: to-do-number;
	color: white;
	text-align: center;
}

.to-do-title {
	font-size: 2em;
	color:#212529;
	grid-area: to-do-title;
	margin: 0;
	padding: .5em 1em 0;
	font-family: "Roboto Slab", sans-serif;
	letter-spacing: -1px;
	font-weight: 400;
	line-height: 1.25;
}

.to-do-image {
	width: 100%;
	grid-area: to-do-image;
}
	
.waiver main {
	margin-top: 10vh;
}
.visible {
	opacity: 1;
}
	
.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 iframe {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	border:0
}
.embed-responsive-4by3::before {
	padding-top:75%
}	