/* ----- FONTS ----- */
@font-face {
    font-family: 'palanquinbold';
    src: url('../fonts/palanquin-bold-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin_darkbold';
    src: url('../fonts/palanquindark-bold-webfont.woff2') format('woff2'),
         url('../fonts/palanquindark-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin_darkmedium';
    src: url('../fonts/palanquindark-medium-webfont.woff2') format('woff2'),
         url('../fonts/palanquindark-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin_darkregular';
    src: url('../fonts/palanquindark-regular-webfont.woff2') format('woff2'),
         url('../fonts/palanquindark-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin_darksemibold';
    src: url('../fonts/palanquindark-semibold-webfont.woff2') format('woff2'),
         url('../fonts/palanquindark-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquinextralight';
    src: url('../fonts/palanquin-extralight-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-extralight-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquinlight';
    src: url('../fonts/palanquin-light-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquinmedium';
    src: url('../fonts/palanquin-medium-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquinregular';
    src: url('../fonts/palanquin-regular-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquinsemibold';
    src: url('../fonts/palanquin-semibold-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquinthin';
    src: url('../fonts/palanquin-thin-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-thin-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* ----- GENERIC STYLING ----- */
html
{
	position: relative;
	min-height: 100%;
	font-size: 12px;
}

@media (min-width: 768px) { html { font-size: 12px; } }
@media (min-width: 992px) { html { font-size: 14px; } }
@media (min-width: 1200px) { html { font-size: 16px; } }

body
{
	line-height: 1.5;
	font-size: 1rem;
	margin-bottom: 110px;
	background: white;
    font-family: 'palanquinregular', sans-serif;
	color: black;
}

h1 
{
	font-family: 'palanquin_darkmedium', sans-serif;
	font-weight: 400;
	color: #008000;
	margin-bottom: 20px;
	font-size: 2.75rem;
}

h2
{
	font-family: 'palanquin_darkmedium', sans-serif;
	font-weight: 400;
	color: #008000;
	margin-bottom: 20px;
}

h3
{
	font-family: 'palanquin_darkmedium', sans-serif;
	font-weight: 400;
	color: black;
	margin-bottom: 10px;
}

a
{
	text-decoration: none;
}

/***** BUTTONS *****/
.button
{
	border: 1px solid #008000;
	padding: 10px 20px;
	font-size: 1.75rem;
	color: white;
	margin-top: 20px;
	display: inline-block;
	background: #008000;
	text-align: center;
	font-family: 'palanquinbold';
}

.button:hover
{
	background: white;
	color: #008000;
	cursor: pointer;
	text-decoration: none;
}

.button.alt
{
	border: 1px solid #C19A23;
	background: #C19A23;
}

.button.alt:hover
{
	background: white;
	color: #C19A23;
}

.button.small
{
	padding: 5px 10px;
	font-size: 1.25rem;
}

.cta
{
	background: #b30000;
	border: 1px solid #b30000;
	border-radius: 5px;
	color: white;
}

.cta:hover
{
	background: white;
	border: 1px solid #b30000;
	border-radius: 5px;
	color: #b30000;
}

.cta-alt
{
	background:#FFFF11;
	border: 1px solid #FFFF11;
	border-radius: 5px;
	color: black;
}

.cta-alt:hover
{
	background: black;
	border: 1px solid #FFFF11;
	border-radius: 5px;
	color: #FFFF11;
}

/* ----- MOBILE NAV ----- */
.navbar 
{
	color: white;
	background: #008000;
    border: none;
    border-radius: 0;
	padding: 5px 10px;
}

.navbar-brand 
{
    border-bottom: none;
    font-size: 2rem;
}

.navbar-brand img
{
    max-height: 50px;
}

#mobilenav a 
{
    border-bottom: none;
    font-size: 2rem;
}

/* ----- MAIN NAV---- */
nav
{
	padding-top: 10px;
	text-align: center;
}

nav a 
{
	text-decoration: none;
	color: white;
	position: relative;
	display: inline-block;
	font-family: 'palanquin_darkmedium', sans-serif;
	padding: 5px 5px;
	margin: 0 10px;
	font-size: 1.4rem;
	border-bottom: 1px solid #008000;
}

nav > a.active, nav a:hover, .drop:hover > a 
{
	color: #FFFF11;
	text-decoration: none;
	border-color: #FFFF11;
}

@media (min-width: 992px) {

	nav {
		text-align: right;
	}

	nav a {
		font-size: 1.2rem;
	}
}

@media (min-width: 1400px) {

	nav {
		text-align: right;
	}

	nav a {
		font-size: 1.4rem;
	}
}

/* ----- HEADER---- */

header 
{
	background: #008000;
    color: white;
	padding: 10px 20px;
}

#logo 
{
	padding: 0px 20px 0px 0px;
}

header .right-col
{
	text-align: right;
}

#buttons 
{
    padding-bottom: 10px;
}

header form 
{
	display: inline-block;
	margin: 0;
}

#search .phone, #search .phone:hover 
{
	background: #C19A23;
	color: white;
	display: inline-block;
	padding: 5px 10px;
	margin: 0 10px;
	text-decoration: none;
}

#search .phone i 
{
	margin-right: 10px;
}

#search input 
{
	margin-top: -1px;
	padding: 3px 10px 5px 10px;
	border: 1px solid white;
}

header .social i 
{
	font-size: 2.4rem;
}

.social, .social:hover 
{ 
	color: #C19A23;
}

#search > div > * 
{
    vertical-align:middle;
}

/* ----- FOOTER ----- */
footer
{
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 110px;
	font-size: 0.8rem;
	padding-top: 15px;
	color: white;
	background: #008000;
}

footer .left-col
{
	font-size: 1rem;
}

footer .centre-col
{
	text-align: center;
}

footer .right-col
{
	text-align: right;
}

footer img
{
	max-height: 25px;
	margin: 0 5px 5px 5px;
}


@media (min-width: 992px) { footer img { max-height: 40px; } }

footer span
{
	display: block;
}

footer i 
{
	display: inline-block;
	margin-right: 10px;
}

footer a
{
	color: white;
	display: block;
}

footer a:hover
{
	color: white;
	text-decoration: underline;
}

footer .socials
{
	padding-top: 10px;
}

footer .socials a
{
	display: inline-block;
}

/* ----- HOME ----- */
#slideshow #box
{
    position: absolute;
    z-index: 100;
    text-align: center;
    width: 100%;
	padding-top: 20vh;
}

#slideshow #caption 
{	
	display: inline-block;
	background-color: rgba(255, 255, 5, 0.5);
	font-family: 'palanquinbold';
	font-size: 1.5rem;
	color: black;
	border: 5px solid black;
	border-radius: 10px;
	padding: 20px 30px;
}

#slideshow #caption span
{
	font-size: 2.5rem;
	display: block;
	text-transform: uppercase;
}

#slideshow .carousel-item
{
    background-repeat: no-repeat;
    background-size: cover;
	background-position: center;
	height: 70vh;
}

#home h1
{
	text-align: center;
	margin-bottom: 50px;
}

#home .event
{
	border: 2px solid black;
	border-radius: 10px;
	margin-bottom: 40px;
	padding-bottom: 0px;
}

#home .event .text
{
	padding: 20px;
}

#home .event .thumb
{
	border-radius: 0 0 10px 10px;
	border: none;
	max-height: 250px;
	width: 100%;
}

@media (min-width: 768px) 
{
	#home .event .thumb
	{
		border-radius: 0 10px 10px 0;
		max-height: unset;
	}
}

#home .news .item
{
	background-size: cover;
	background-position: center;
	width: 100%;
	min-height: 400px;
	border: 2px solid #008000;
	position: relative;
	margin-bottom: 30px;
}

#home .news .item span
{
	color: white;
	background: #008000;
	width: 100%;
	padding: 5px;
	position: absolute;
	bottom: 0;
	text-align: center;
	font-family: 'palanquin_medium', sans-serif;
	display: block;
	font-size: 1.5rem;
}

#home .news a:hover .item
{
	border-color: #b30000;
}

#home .news a:hover .item span
{
	color: white;
	background: #b30000;
}

/* ------ CONTACT ----- */
.contact .left-col
{
	padding-right: 30px;
	padding-bottom: 30px;
}

.contact .right-col
{
	padding-left: 30px;
}

#wtw
{
	color: black;
	font-weight: bold;
	margin-top: 30px;
	margin-bottom: 10px;
	display: inline-block;
}

#wtw span
{
	color: red;
}

/***** COMMON *****/
main
{
	padding-top: 100px;
	padding-bottom: 40px;
	padding-left: 10px;
	padding-right: 10px;
	font-size: 1.25rem;
}

@media (min-width: 768px) { main { padding-top: 40px; } }
@media (min-width: 992px) { main { padding-top: 60px; } }

.gap
{
	padding-bottom: 30px
}

.jump
{
	margin-top: 30px
}

.block 
{
	display: block;
}

main a
{
	color: #008000;
	font-weight: bold;
    text-decoration: none;
}

main a:hover
{
	color: #C19A23;
    text-decoration: none;
}

.main-image
{
	display: block;
	margin: 10px 0px 20px 0px;
	max-width: 100%;
	position: relative;
}

.bordered-image
{	
	border-radius: 5px;
	border: 1px solid #008000;
}

.main-image > img
{
	max-height: 200px;
	border-radius: 5px;
	border: 1px solid #008000;
}

@media (min-width: 576px) { 
	.main-image 
	{ 
		float: right;
		max-width: 30%;
		margin: 0px 0px 50px 50px;
	} 
	.main-image > img
	{ 
		max-height: unset;
	}
}

#banner
{
    background-repeat: no-repeat;
    background-size: cover;
	background-position: center;
    padding: 75px 0px 0px 0px;
	min-height: 30vh;
	box-shadow: inset 0 0 0 50vw rgba(0,0,0,0.3);
	text-align: center;
}

#banner h1
{
	color: white;
}

.modal-body .btn-close
{
	display: none;
}

.submenu a
{
	background: white;
	border: 1px solid #008000;
	border-radius: 5px;
	color: #008000;
}

.submenu a.current, .submenu a:hover
{
	background: #008000;
	border: 1px solid #008000;
	border-radius: 5px;
	color: white;
}

.tiles .item
{
	background-size: cover;
	width: 100%;
	min-height: 250px;
	border: 2px solid black;
	position: relative;
	margin-bottom: 30px;
}

.tiles .item span
{
	color: white;
	background: #008000;
	width: 100%;
	padding: 5px;
	position: absolute;
	bottom: 0;
	text-align: center;
	font-family: 'palanquin_medium', sans-serif;
	display: block;
	font-size: 1.5rem;
}

.tiles a:hover .item
{
	border-color: #b30000;
}

.tiles a:hover .item span
{
	color: white;
	background: #b30000;
}

h7
{
	color: red;
}

.galleries a h3
{
	margin-top: 10px;
}

.thumbs a 
{
	display: inline-block;
	margin: 0px 0px 10px 10px;
}

.thumb
{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	max-width: 100%;
  	aspect-ratio: 1/1;
	border-radius: 5px;
	border: 1px solid #008000;
	position: relative;
}

.thumb.large
{
	max-height: 250px;
	width: 100%;
}

.thumb.medium
{
	height: 300px;
	width: 100%;
}

.thumb.small
{
	height: 100px;
	width: 100%;
	display: none;
}

@media (min-width: 576px) { 

	.thumb.large {
		height: auto;
		width: 100%;
	}
}

@media (min-width: 768px) { 

	.thumb.small {
		display: block;
	}
}

.loco
{
	padding-top: 40px;
	padding-bottom: 40px;
	margin-bottom: 50px;
	border-bottom: 1px solid #cccccc;
}

.gallery .heading
{
	margin-bottom: 5px;
	margin-top: 10px;
	display: block;
	font-size: 1.5rem;
}


@media (min-width: 576px) { 

	.gallery .heading {
		font-size: 1.75rem;
	}
}

.event
{
	border-bottom: 1px solid #cccccc;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.event .left-col
{
	padding-bottom: 10px;
}

#minigallery
{
	margin-top: 20px;
	padding-top: 40px;
	border-top: 1px solid #C19A23;
}

.imgcredit
{
	display: block;
	position: absolute;
	bottom: 0;
	background: #008000;
    overflow: hidden;
	margin: 0;
	width: 100%;
	text-align: center;
	max-height: 0;
	color: white !important;
	font-size: 1rem;
	font-weight: normal;
	text-decoration: none;
}

.imglink > div, .loco a
{
	position: relative;
}

.loco .macro
{
	display: block;
	margin: 0px 0px 10px 0px;
}

.loco .micro
{
	display: block;
	margin: 0px 0px 10px 0px;
}

.loco .thumbs
{
	padding-top: 20px;
}

@media (min-width: 768px) { 
	.loco .thumbs
	{
		padding-left: 20px;
		padding-top: 0px;
	}
}

.imglink:hover .thumb .imgcredit, .main-image:hover .imgcredit, .loco a:hover .imgcredit
{
	max-height: 500px;
    transition: max-height 0.5s ease-in;
}

#specialbanner {
    padding: 10px;
    text-align: center;
    background: #b30000;
	font-family: 'palanquin_darkmedium', sans-serif;
}

#specialbanner a
{
	color: white;
}

#specialbanner a:hover
{
	color:white;
	text-decoration: underline;
}

/***** FORMS *****/

#form textarea
{
	color: black;
	border: 2px solid #008000;
	padding:10px;
	display: block;
	width: 100%;
	margin-bottom: 0px;
	font-size: 1.25rem;
	resize: none;
	height: 150px;
}

#form textarea.full
{
	height: 665px;
}

#form label
{
	display: block;
	color: #008000;
	font-weight: bold;
}

#form input
{
	color: black;
	border: 2px solid #008000;
	padding:10px;
	display: block;
	font-size: 1.25rem;
	margin-bottom: 30px;
	width: 100%;
}

#form button
{
	display: inline-block;
	margin-top: 40px;
}

#form label.alt
{
	display: inline-block;
	margin-right: 10px;
	background: #C19A23;
	color: black;
	padding: 10px;
}

#form select.alt
{
	color: black;
	border: 2px solid #C19A23;
	padding: 8px;
	display: inline-block;
	font-size: 1.25rem;
	margin-bottom: 30px;
}
