/*------- General ------- 
Red: #c0272d
Teal: #31bcb4
Yellow: #fdbd2a
Grey Blue: #405364
Dark Tan: #d6a477
Med Tan: #ebd2bc
Light Tan: #f3e7da
Very Light Tan: #f9f3ed
*/

/*------- Set CSS Variables -------*/
:root {
	--color-red: #c0272d;
	--color-yellow: #fdbd2a;
	--color-teal: #31bcb4;
}

body {
	font-family: futura-pt, sans-serif;
	font-size: 16px;
	line-height: 24px;
	background-color: #ffffff;
	color: #252525;
}

dl {
	margin: 20px;
	padding: 20px;
	background-color: #ffffff;
}
dt,
dd {
	display: block;
}
dd {
	margin-inline-start: 5px;
}

a {
	color: #31bcb4;
	text-decoration: none;
}
a:hover {
	color: #c0272d;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
blockquote,
form,
table {
	margin: 20px;
}
hr {
	height: 1px;
	margin: 40px 20px;
	border: none 0;
	border-top: 1px dashed #27d6c9;
}
nav a {
	text-decoration: none;
}

ul,
ol {
	margin: 20px;
	padding: 0px 0px 0px 20px;
}
li {
	margin: 10px 0px;
}

table {
	width: calc(100% - 40px);
	border-collapse: collapse;
	background-color: #ffffff;
	border: 1px solid #f3e7da;
}
table td.table-btn-cell {
	text-align: right;
}
thead {
}
th {
	background-color: #ffffff;
	color: #405364;
	font-weight: 700;
}
tfoot td {
	background-color: #000000;
	color: white;
	font-weight: 100;
}
td,
th {
	padding: 10px;
	text-align: left;
	font-size: 16px;
}
tr:nth-of-type(odd) {
	background-color: #f9f3ed;
}

h1 {
	color: #fdbd2a;
	font-size: 48px;
	font-weight: 100;
	line-height: 52px;
	margin: 40px 20px;
}
h2 {
	color: #fdbd2a;
	font-size: 32px;
	font-family: chantal, sans-serif;
	line-height: 48px;
}
h3 {
	color: #272723;
	font-size: 28px;
	font-weight: 900;
	line-height: 48px;
	text-transform: uppercase;
}
h4 {
	color: #272723;
	font-size: 24px;
	font-family: futura-pt-condensed, sans-serif;
	font-weight: 700;
	text-transform: uppercase;
}
h5 {
	color: #272723;
	font-size: 22px;
	font-weight: 300;
}
h6 {
	color: #c0272d;
	font-size: 18px;
}

blockquote {
	border: 3px double #c0272d;
	padding: 20px;
	border-radius: 5px;
	color: #c0272d;
	font-size: 18px;
}

img {
	max-width: 100%;
}

.user-content {
	white-space: pre-line;
}

/*------- Structure -------*/
#site-shell {
	position: relative;
}
.site-content {
	min-height: 60vh;
	padding-bottom: 40px;
}

header {
	position: relative;
	z-index: 1000;
	color: #000000;
	background-color: #ffffff;
	text-align: center;
}
header a {
	color: #000000;
}
header a:hover {
	color: #31bcb4;
}

.header-main-hero {
	height: 170px !important;
	transition: all 0.5s ease;
}
.header-main-hero #logo-main {
	height: 160px !important;
}

.header-content {
	height: 90px;
	transition: all 0.5s ease;
}
.header-content #logo-main {
	display: inline-block;
	height: 80px;
	transition: all 0.5s ease;
}
.header-content h1 {
	transition: all 0.5s ease;
}

footer {
	background-color: #ffffff;
	color: #405364;
	font-size: 14px;
	padding: 1px;
	text-align: center;
	min-height: 100px;
}
footer a {
	color: #31bcb4;
}
footer a:hover {
	color: #000000;
}
footer h2 {
	color: #c0272d;
}

footer .shell-max {
	border: 3px double #9ad7d5;
	border-radius: 10px;
	margin-bottom: 20px;
}

.foot-shell {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.foot-content {
	padding: 0px 10px;
	color: #405364;
	width: 33%;
}
.foot-content h4 {
	color: #000000;
	font-size: 18px;
}
.foot-content hr {
	border-top: 1px dashed #27d6c9;
	margin: 20px;
}
.foot-content-header {
	font-size: 28px;
	color: #ffffff;
	text-transform: uppercase;
	border: 1px solid #ffffff;
	border-radius: 3px;
	margin: 20px 10px;
	padding: 5px;
	display: block;
	text-align: center;
}
.foot-content-header:hover {
	background-color: #5d5e58;
}

.foot-content-borders {
	border-left: 1px dashed #27d6c9;
	border-right: 1px dashed #27d6c9;
}

.foot-content-list-nav {
	list-style: none;
	padding: 0px;
	margin: 20px;
	text-align: center;
}
.foot-content-list-nav li {
	display: block;
	margin: 0px;
}
.foot-content-list-nav li a {
	display: block;
	padding: 5px;
}

.foot-data {
	font-size: 12px;
	border-top: 1px dashed #27d6c9;
	margin-top: 5px;
}

header.sticky {
	border-bottom: 1px solid #f3e7da;
}
.sticky {
	position: fixed;
	top: 0;
	width: 100%;
}
.sticky .header-content,
.sticky .header-main-hero {
	height: 52px !important;
	transition: all 0.5s ease;
}
.sticky .header-content #logo-main,
.sticky .header-main-hero #logo-main {
	height: 40px !important;
	transition: all 0.5s ease;
}
.sticky .header-content h1 {
	font-size: 22px;
	margin: 0px;
	line-height: 40px;
	transition: all 0.5s ease;
}
.sticky + .site-content {
	padding-top: 102px;
}
.sticky + .site-content-hero {
	padding-top: 152px !important;
}

.sticky .menu-bar-l {
	display: inline-block;
}

/*------- Navigation -------*/

.top-menu {
	background-color: #ffffff;
	color: #777777;
}
.top-menu nav ul {
	list-style: none;
	padding: 0px;
	margin: 0px;
	text-align: center;
}
.top-menu nav ul li {
	display: inline-block;
	margin: 0px;
}
.top-menu nav ul li a {
	display: block;
	padding: 8px 20px 10px;
	font-size: 16px;
	text-transform: uppercase;
}

.top-menu nav ul li a.active {
	border-bottom: 2px solid #cc0000;
	font-weight: 700;
}

.top-menu nav ul li a.top-menu-call-out {
	background-color: #fdbd2a;
	border-radius: 5px;
}

.menu-bar-l {
	position: relative;
	float: left;
	margin: 50px 12px 0px;
	display: none;
	z-index: 1001;
	-moz-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.menu-bar-r {
	position: relative;
	float: right;
	margin: 50px 12px 0px;
	z-index: 1001;
	-moz-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.menu-bar-button {
	display: inline-block;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 16px;
	color: #405364;
	border: 1px solid #405364;
	background-color: #ffffff;
	border-radius: 3px;
}
.menu-bar-button:hover {
	color: #ffffff;
	background-color: #405364;
}

.sticky .menu-bar-l,
.sticky .menu-bar-r {
	margin: 12px !important;
	-moz-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.side-menu {
	list-style: none;
	margin: 60px 20px 40px;
	padding: 0px;
	border-top: 1px solid #31bcb4;
}
.side-menu-head {
	font-weight: 700;
}
.side-menu li {
	margin: 0px;
	padding: 0px;
	border-bottom: 1px solid #31bcb4;
}
.side-menu li a,
.side-menu li span {
	display: block;
	padding: 10px;
}
.side-menu li a:hover {
	color: #c0272d;
}
.side-menu li a.active {
	font-weight: 700;
	text-indent: 10px;
	color: #405364;
}

.trail-group-nav {
	list-style: none;
	padding: 0px;
	margin: 20px auto;
	text-align: center;
	border: 1px solid #31bcb4;
	border-radius: 10px;
}
.trail-group-nav li {
	display: inline-block;
	border-left: 1px solid #31bcb4;
	margin: 0;
}
.trail-group-nav li:last-child {
	border-right: 1px solid #31bcb4;
}
.trail-group-nav li a {
	display: block;
	padding: 10px 40px;
	text-transform: uppercase;
	color: #31bcb4;
}
.trail-group-nav li a.active {
	font-weight: 700;
}
.trail-group-nav li a:hover {
	color: #000000;
}

/*------- Content -------*/

.section-white {
	background-color: #ffffff;
	padding: 1px;
}
.section-light-blue {
	background-color: #e0f5f4;
	padding: 1px;
	background-image: url(/img/back_mapBlue.jpg);
}
.section-tan {
	background: #f9f3ed; /* Old browsers */
	background: -moz-linear-gradient(
		top,
		#f9f3ed 0%,
		#f3e7da 100%
	); /* FF3.6-15 */
	background: -webkit-linear-gradient(
		top,
		#f9f3ed 0%,
		#f3e7da 100%
	); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(
		to bottom,
		#f9f3ed 0%,
		#f3e7da 100%
	); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9f3ed', endColorstr='#f3e7da',GradientType=0 ); /* IE6-9 */
	padding: 20px 0px;
}

.section-footer {
	margin-top: 40px;
	text-align: center;
}

.center-text {
	text-align: center !important;
}
.small-text {
	font-size: 12px;
	line-height: 16px;
}
.grey-text {
	color: #999999;
}

.extra-margin {
	margin: 40px 20px !important;
}
.divider {
	text-align: center;
	padding: 10px 0px;
	border-top: 1px solid #f3e7da;
	border-bottom: 1px solid #f3e7da;
}

.white-shell {
	background-color: #ffffff;
	padding: 1px;
	border-radius: 2px;
	margin: 20px;
}
.white-shell table {
	margin: 10px;
	width: calc(100% - 20px);
}

.main-content {
}
.main-left-content {
	border-right: 1px dashed #27d6c9;
}
.sec-content {
}
.nav-content {
}

.header-members {
	color: #c0272d;
	font-size: 48px;
	font-weight: 300;
}

.border-content {
	border-top: 1px dashed #27d6c9;
	border-bottom: 1px dashed #27d6c9;
	margin-top: 20px;
}
.border-content-right {
	border-right: 1px dashed #27d6c9;
}
.border-content-left {
	border-left: 1px dashed #27d6c9;
}

.box-content {
	border: 1px solid #e7e9e2;
	padding: 1px;
	margin: 10px;
	border-radius: 5px;
}
.map-shell {
	margin: 20px;
	border: 5px solid #31bcb4;
	border-radius: 10px;
}

.splash-content-full {
	height: 100vh;
	background-color: #efefef;
}
.splash-content-half {
	height: 50vh;
	background-color: #efefef;
}
.splash-content-bar {
	height: 200px;
	background-color: #efefef;
}

.content-listing {
	border: 1px solid #f3e7da;
	margin-bottom: 20px;
	border-radius: 5px;
}
.content-img {
	border: 1px solid #f3e7da;
	border-radius: 3px;
}

.data-table {
	border: 1px solid #6dccc5;
	border-radius: 10px;
	background-color: #ffffff;
}
.data-table tr:nth-of-type(odd) {
	background-color: #e6fffe;
}
.data-table th {
	color: #405364;
}
.data-table td {
	border-top: 1px dotted #6dccc5;
}

.border-all {
	border: 1px solid #e7e9e2;
	border-radius: 5px;
}
.border-top {
	border-top: 1px solid #e7e9e2;
	margin-top: 20px;
}
.border-bottom {
	border-bottom: 1px solid #e7e9e2;
	margin-bottom: 20px;
}

.call-out {
	color: #c0272d;
	border: 1px solid #c0272d;
	border-radius: 5px;
	padding: 20px;
}

blockquote.blue-box {
	background-color: #6dccc5;
	border: 0px;
	padding: 10px;
	border-radius: 5px;
}
blockquote.blue-box a {
	display: block;
	color: #405364;
	border: 3px double rgba(255, 255, 255, 0.25);
	padding: 10px;
}
blockquote.blue-box a:hover {
	border: 3px double rgba(255, 255, 255, 0.5);
}

.img-fancy {
	border: 5px solid #31bcb4;
	border-radius: 3px;
}

table.info-table {
	background-color: #fdbd2a;
	border: 0px;
}
table.info-table th {
	background-color: #405364;
	color: #ffffff;
	font-size: 18px;
	font-weight: 300;
	vertical-align: middle;
}
table.info-table td,
table.info-table th {
	border-right: 1px solid #ffffff;
	padding: 20px;
}
table.info-table tr:nth-of-type(odd) {
	background-color: #eea90c;
}
table.info-table tr:last-of-type td {
	border-bottom: 5px solid #405364;
}

/*------- Trails & Restaurants -------*/

.trail-icon {
	color: #fdbd2a;
	font-size: 48px;
	line-height: 52px;
}
.trail-icon-circle {
	color: #fdbd2a;
	font-size: 32px;
	line-height: 52px;
	width: 62px;
	border: 4px solid #fdbd2a;
	border-radius: 50%;
	text-align: center;
}
.trail-stop,
.rest-stop {
	color: #fdbd2a;
	font-size: 24px;
	font-weight: 900;
	line-height: 36px;
	width: 46px;
	border: 4px solid #fdbd2a;
	border-radius: 50%;
	text-align: center;
	margin: auto;
}

.trail-header {
	font-size: 24px;
	font-weight: 300;
	text-align: center;
	color: #fdbd2a;
	border-top: 2px solid #fdbd2a;
	border-bottom: 2px solid #fdbd2a;
	padding: 10px;
	margin-top: -20px;
}

.trail-list {
	list-style: none;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.trail-list li {
	position: relative;
	display: inline-block;
	margin: 10px;
	width: calc(25% - 20px);
	text-align: center;
	background-color: #ffffff;
}
.trail-list li a {
	display: block;
	padding: 20px;
	border: 1px solid #f3e7da;
	border-radius: 5px;
	color: #000000;
}

.trail-list .trail-img {
	position: absolute;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	left: 3px;
	top: 3px;
	z-index: 0;
	background-size: 150%;
	background-position: center;
	opacity: 0;
	border-radius: 3px;
}
.trail-list .trail-info {
	position: relative;
	z-index: 1;
}
.trail-list .trail-link h3 {
	line-height: 30px;
}

.trail-list .trail-link {
	height: 100%;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.trail-list .trail-link:hover {
	border: 1px solid #31bcb4;
	background-color: #31bcb4;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.trail-list .trail-link:hover .trail-img {
	opacity: 1;
	background-size: 160%;
	-moz-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.trail-list .trail-link:hover h3,
.trail-list .trail-link:hover h4 {
	color: #ffffff;
	text-shadow: 1px 1px 2px #000000;
}

.trail-list-alt {
	list-style: none;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.trail-list-alt .trail-list-item {
	position: relative;
	display: inline-block;
	margin: 5px;
	width: calc(25% - 10px);
	text-align: center;
}
.trail-list-alt .trail-list-item a {
	display: block;
	background-color: #ffffff;
	padding: 20px;
	border: 1px solid #f3e7da;
	border-radius: 5px;
	color: #000000;
}
.trail-list-alt h4 {
	height: 48px;
	font-size: 20px;
}

.trail-list-alt .trail-info .trail-desc {
	height: 192px;
}
.trail-list-alt .trail-img {
	position: relative;
	width: calc(100% + 30px);
	height: 180px;
	background-size: 150%;
	background-position: center;
	border-radius: 3px;
	margin: -15px -15px 20px -15px;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.trail-list-alt .trail-link {
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.trail-list-alt .trail-link:hover {
	color: #000000;
	border: 1px solid #31bcb4;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.trail-list-alt .trail-link:hover .trail-img {
	background-size: 160%;
	-moz-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.rest-list {
	list-style: none;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.rest-list-item {
	position: relative;
	display: inline-block;
	margin: 10px;
	width: calc(25% - 20px);
	text-align: center;
	background-color: #ffffff;
}
.rest-list-item a {
	display: block;
	padding: 20px;
	border: 1px solid #f3e7da;
	border-radius: 5px;
	color: #000000;
}

.rest-list .rest-img {
	position: absolute;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	left: 3px;
	top: 3px;
	z-index: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	border-radius: 3px;
}
.rest-list .rest-info {
	position: relative;
	z-index: 1;
}

.rest-list .rest-link {
	height: 300px;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.rest-list .rest-link:hover {
	border: 1px solid #31bcb4;
	background-color: #31bcb4;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.rest-list .rest-link:hover .rest-img {
	opacity: 1;
	-moz-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.rest-list .rest-link:hover h4 {
	color: #ffffff;
	text-shadow: 1px 1px 2px #000000;
}
.rest-list .rest-link h4 {
	font-size: 22px;
}

.rest-preview-shell {
	margin: 30px 30px 20px;
	border: 1px solid #31bcb4;
	border-radius: 10px;
	background-color: #ffffff;
}
.rest-preview-tail {
	display: block;
	width: 32px;
	height: 32px;
	border-left: 1px solid #31bcb4;
	border-top: 1px solid #31bcb4;
	background-color: #ffffff;
	transform: rotate(45deg);
	margin: -17px auto -10px;
}

.blog-list {
	list-style: none;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.blog-list .blog-list-item {
	position: relative;
	display: inline-block;
	margin: 5px;
	width: calc(25% - 10px);
	text-align: center;
}
.blog-list .blog-list-item a {
	display: block;
	background-color: #ffffff;
	padding: 20px;
	border: 1px solid #ebd2bc;
	border-radius: 5px;
	color: #000000;
}
.blog-list .blog-list-item a:hover {
	color: #405364;
	border: 1px solid #d6a477;
}

.blog-list h4 {
	height: 72px;
	font-size: 20px;
}
.blog-list .blog-info .blog-desc {
	height: 192px;
}

.event-list {
	list-style: none;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.event-list-item {
	position: relative;
	margin: 0px;
	padding: 10px;
	width: 16.6666%;
	text-align: center;
}
.event-list-item a {
	display: block;
	color: #405364;
	padding: 10px;
	border: 3px double rgba(255, 255, 255, 0.25);
}
.event-list-item a:hover {
	border: 3px double rgba(255, 255, 255, 0.5);
}

.event-list-item:nth-child(3n + 3) {
	background-color: #31bcb4;
}
.event-list-item:nth-child(3n + 2) {
	background-color: #6dccc5;
}
.event-list-item:nth-child(3n + 1) {
	background-color: #95d7d0;
}

.event-list-item h4 {
	color: #ffffff;
}
.event-list-item p {
	line-height: 20px;
	height: 60px;
}

.event-image {
	float: left;
	width: 40%;
	margin-top: 0;
	margin-right: 20px;
}

.gen-list {
	list-style: none;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.gen-list li {
	position: relative;
	display: inline-block;
	margin: 10px;
	width: calc(20% - 20px);
}
.gen-list li a {
	display: block;
}

.highlight-item {
	border: 1px solid #31bcb4 !important;
	background-color: #31bcb4;
}
.highlight-item .rest-img {
	opacity: 1;
}
.highlight-item h4 {
	color: #ffffff;
	text-shadow: 1px 1px 2px #000000;
}

/*------- Passports -------*/

.passport-list {
	list-style: none;
	padding: 0;
	margin: 0;

	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;

	li {
		margin: 0;
		padding: 0;
	}
}

/*------- Media -------*/

.blog-header {
	max-width: 50%;
	margin: auto;
}
.blog-content {
	background-color: #ffffff;
	padding: 20px;
	border: 1px solid #ebd2bc;
	border-radius: 10px;
	margin-bottom: 40px;
}
.blog-content img {
	display: block;
	margin: 40px auto;
	text-align: center;
	border: 5px solid #31bcb4;
	border-radius: 10px;
	max-width: 60%;
}

/*------- Slide-Show -------*/

.slide-shell {
	position: relative;
	list-style: none;
	padding: 1px 0px;
	margin: 0px;
	border-bottom: 5px solid #fdbd2a;
}
.slide-shell li {
	position: relative;
	margin: 0px;
	width: 100%;
	height: 75vh;
}

.slide-item {
	background-size: cover;
	background-repeat: norepeat;
	background-position: middle center;
}

.slide-item .slide-content {
	text-align: center;
	margin: 25% auto 0;
	max-width: 600px;
}
.slide-item .slide-content a h2 {
	color: #ffffff;
	font-size: 56px;
	line-height: auto;
	text-shadow: 1px 1px 1px #000000;
}
.slide-item .slide-content a {
	display: block;
}
.slide-item .slide-content a p {
	color: #ffffff !important;
}

/*------- Buttons -------*/

.btn,
button {
	display: inline-block;
	background-color: #31bcb4;
	color: #ffffff;
	border: 0px;
	border-radius: 3px;
	padding: 10px 20px;
	text-transform: uppercase;
	font-size: 18px;
}
.btn:hover,
button:hover {
	background-color: #27d6c9;
	color: #ffffff;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.btn-hot {
	background-color: #c0272d !important;
}
.btn-hot:hover {
	background-color: #d62229 !important;
}

.btn-cold {
	background-color: #fdbd2a !important;
	color: #405364;
}
.btn-cold:hover {
	background-color: #fdd32a !important;
	color: #405364;
}

.btn-del {
	background-color: #e8e8e8;
	color: #444444;
}
.btn-del:hover {
	background-color: #dd0000 !important;
}

.btn-ghost {
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px solid #27d6c9;
	color: #27d6c9;
}

.btn-small {
	font-size: 12px;
	padding: 5px 10px;
}
.btn-large {
	padding: 20px;
}
.btn-block {
	display: block;
	text-align: center;
	width: 100%;
	margin-bottom: 5px;
}
.btn-half {
	display: inline-block;
	width: 48%;
	text-align: center;
}
.btn-third {
	display: inline-block;
	width: 32%;
	text-align: center;
}

.btn-bottom {
	position: absolute;
	bottom: 5px;
	left: 5px;
	margin: auto;
	width: calc(100% - 10px);
}

.tag-cluster {
	margin: 20px;
}
.tag-item {
	display: inline-block;
	background-color: #b2251b;
	color: #ffffff;
	font-size: 12px;
	margin: 0px 5px;
	padding: 1px 10px;
	border-radius: 10px;
}
.tag-item:hover {
	background-color: #c0272d;
	color: #ffffff;
}

/*------- Search -------*/

form#search-form .search-box {
	border: 1px solid #e7e9e2;
	background-color: #ffffff;
	border-radius: 18px;
	padding: 10px 20px;
}
form#search-form .search-box:focus {
	border: 1px solid #c0272d;
}

/*------- Forms -------*/

.flex-form {
	display: flex;
	justify-content: center;
}
.flex-form-param {
	flex: 1 1 0px;
}
.flex-form-param label {
	font-size: 12px;
	text-transform: uppercase;
	color: #9a9c92;
}

.flex-form-btn-expand {
	display: none;
	text-align: center;
	margin-top: -32px;
}

input,
button {
	outline: none;
}
form {
	margin: 0px;
}
form label {
	cursor: pointer;
}
form input,
form textarea,
form select {
	outline: none;
}

form fieldset {
	margin: 20px;
	border-radius: 5px;
	border: 1px solid #27d6c9;
}
form legend {
	color: #27d6c9;
	font-size: 18px;
	padding: 0px 10px;
}

form input[type="text"],
form input[type="number"],
form input[type="date"],
form input[type="tel"],
form input[type="time"],
form input[type="email"],
form input[type="password"],
form input[type="url"],
form select,
form textarea {
	background-color: #ffffff;
	border: 1px solid #405364;
	color: #444444;
	padding: 10px;
	font-size: 100%;
	border-radius: 3px;
	width: 100%;
	margin: 5px 0px;
}

form textarea {
	min-height: 60px;
}
form input[type="checkbox"],
form input[type="radio"] {
	vertical-align: middle;
}
form input[type="text"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
form textarea:focus,
form select:focus {
	border: 1px solid #31bcb4;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
form input[type="text"]:required {
}

form input[type="submit"] {
	display: block;
	width: 100%;
	text-align: center;
	color: #000000;
	background-color: #fdbd2a;
	border: 0px;
	border-radius: 5px;
	padding: 20px;
	margin: 5px 0px;
	text-transform: uppercase;
}
form input[type="submit"]:hover {
	background: #ffc644;
}

form .form-note {
	font-size: 12px;
	margin-top: -20px;
	color: #405364;
}

.label-option {
	display: block;
	background-color: #ffffff;
	border: 1px solid #e7e9e2;
	border-radius: 5px;
	padding: 10px;
	margin: 5px 0px;
}
.label-option:hover {
	border: 1px solid #444444;
}
.label-option-select {
	background-color: #5f615a;
	color: #ffffff;
}
.label-option-select span:after {
	content: " - SELECTED";
}

.file-upload {
	display: block;
	background-color: #ffffff;
	border: 1px solid #e7e9e2;
	border-radius: 5px;
	padding: 20px;
	margin: 20px;
}

.grey-input {
	color: #f3e7da !important;
}

.password-strength-indicator {
	text-transform: uppercase;
	font-size: 12px;
	width: 100%;
}

.password-strength-indicator.very-weak {
	border-top: 5px solid #f24f4f;
}
.password-strength-indicator.weak {
	border-top: 5px solid #f68e56;
}
.password-strength-indicator.mediocre {
	border-top: 5px solid #fbaf5d;
}
.password-strength-indicator.strong {
	border-top: 5px solid #acd373;
}
.password-strength-indicator.very-strong {
	border-top: 5px solid #7cc576;
}

.password-confirm {
	text-transform: uppercase;
	font-size: 12px;
	width: 100%;
}
.password-confirm-false {
	border-top: 5px solid #f24f4f;
}
.password-confirm-true {
	border-top: 5px solid #7cc576;
}

/*------- Effects -------*/

.ribbon {
	font-size: 24px !important;
	letter-spacing: 2px;
	width: 50%;
	position: relative;
	background: #c0272d;
	color: #ffffff;
	text-align: center;
	padding: 0.5em 2em;
	margin: 2em auto 3em;
}
.ribbon:before,
.ribbon:after {
	content: "";
	position: absolute;
	display: block;
	bottom: -0.75em;
	border: 1.25em solid #9b1923;
	z-index: -1;
}
.ribbon:before {
	left: -1.75em;
	border-right-width: 1.25em;
	border-left-color: transparent;
}
.ribbon:after {
	right: -1.75em;
	border-left-width: 1.25em;
	border-right-color: transparent;
}
.ribbon .ribbon-content:before,
.ribbon .ribbon-content:after {
	content: "";
	position: absolute;
	display: block;
	border-style: solid;
	border-color: #7c1421 transparent transparent transparent;
	bottom: -0.75em;
}
.ribbon .ribbon-content:before {
	left: 0;
	border-width: 0.75em 0 0 0.75em;
}
.ribbon .ribbon-content:after {
	right: 0;
	border-width: 0.75em 0.75em 0 0;
}

.slick-arrow {
	position: absolute;
	top: 45%;
	z-index: 100;
	border-radius: 50%;
	padding: 10px;
	text-align: center;
	line-height: 24px;
	width: 44px;
}
.slick-prev {
	left: -17px;
}
.slick-next {
	right: -17px;
}

.slide-shell button.slick-prev {
	left: 25px !important;
	background-color: #fdbd2a;
	color: #ffffff;
}
.slide-shell button.slick-next {
	right: 25px !important;
	background-color: #fdbd2a;
	color: #ffffff;
}
.slide-shell button.slick-prev:hover,
.slide-shell button.slick-next:hover {
	color: #000000;
}

.slick-dots {
	list-style: none;
	padding: 0px;
	margin: 20px 0px 0px;
	text-align: center;
}
.slick-dots li {
	display: inline-block;
	margin: 5px;
}
.slick-dots li.slick-active button {
	background-color: #31bcb4;
	border: 1px solid #31bcb4;
	color: #ffffff;
}
.slick-dots li.slick-active button:hover {
	background-color: #31bcb4;
	border: 1px solid #31bcb4;
	color: #ffffff;
}
.slick-dots li button {
	height: 18px;
	width: 18px;
	background-color: #ffffff;
	border: 1px solid #31bcb4;
	color: #31bcb4;
	padding: 0px;
	border-radius: 50%;
	text-indent: -5000px;
}
.slick-dots li button:hover {
	background-color: #ffffff;
	border: 1px solid #405364;
	color: #405364;
}

/*------- Page Content Widgets -------*/

#content-tab-menu {
	list-style: none;
	padding: 0px;
	margin: 20px;
	text-align: center;
}
#content-tab-menu li {
	display: inline-block;
}
#content-tab-menu li a {
	display: block;
	padding: 4px 20px;
	text-transform: uppercase;
	color: #444444;
}
#content-tab-menu li.active {
	background-color: #000000;
}
#content-tab-menu li.active a {
	color: #ffffff !important;
}

.content-tab {
	margin: 0px;
	min-height: 300px;
	overflow: hidden;
}

/*------- Calendar -------*/

.calendar {
	padding: 10px;
	border-radius: 3px;
	margin: 40px 5px;
	background-color: #ffffff;
}

.cal-shell {
	width: 100%;
	border-top: 1px Solid #f3e7da;
	border-left: 1px Solid #f3e7da;
	background-color: #f6eae0;
	margin: 0px;
}
.cal-shell thead td {
	height: 40px;
}
.cal-shell td {
	background-color: #ffffff;
	border-bottom: 1px Solid #f3e7da;
	border-right: 1px Solid #f3e7da;
	height: 120px;
	padding: 5px;
	vertical-align: top;
	font-size: 16px;
}

.cal-shell .cal-header {
	background-color: #ffffff;
	color: #31bcb4;
	font-size: 24px;
	text-align: center;
	line-height: 45px;
}
.cal-shell .cal-header a {
	color: #31bcb4;
}
.cal-shell .cal-header a:hover {
	color: #405364;
}
.cal-shell .cal-subheader {
	background: #31bcb4;
	color: #ffffff;
	text-align: center;
}
.cal-shell .cal-date {
	display: inline-block;
	width: 25%;
	font-weight: 700;
}

.cal-shell td.cal-box-off {
	background: #f9f3ed;
}
.cal-shell td.cal-box-pad {
	background-color: #ffffff;
}
.cal-shell td.cal-box-on {
	background: #ffffff;
	font-weight: bold;
}
.cal-shell td.cal-box-on .cal-number {
	background-color: #c0272d;
	color: #ffffff;
}

.cal-number {
	display: inline-block;
	padding: 5px 10px;
	border-bottom: 1px Solid #f3e7da;
	border-right: 1px Solid #f3e7da;
	margin-top: -5px;
	margin-left: -5px;
}

.cal-box-event {
	color: #000000;
}
.cal-box-event a {
	color: #c0272d;
}
.cal-box-event a:hover {
	color: #31bcb4;
}
.cal-box-event ul {
	margin: 0px;
	padding: 0px 0px 0px 20px;
	font-size: 12px;
	line-height: 14px;
}

/*------- Modal / Slide / Plugins -------*/

.modalShell {
	background-color: #ffffff;
	padding: 20px;
	border-radius: 5px;
	margin: 5px;
	box-shadow: 0px 0px 5px #000000;
}
.img-zoom img {
	display: block;
}

/*------- Social Icons -------*/

.socialList {
	list-style: none;
	padding: 0px;
	margin: 20px;
	font-size: 18px;
	text-align: center;
}
.socialList li {
	display: inline-block;
}
.socialList li a {
	display: block;
	margin: 2px;
	border-radius: 50%;
	background-color: #405364;
	color: #ffffff;
	text-align: center;
	line-height: 36px;
	width: 36px;
}
.socialList li a:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

#social-twitter a:hover {
	background-color: #00aced !important;
}
#social-facebook a:hover {
	background-color: #3b5998 !important;
}
#social-google a:hover {
	background-color: #dd4b39 !important;
}
#social-youtube a:hover {
	background-color: #bb0000 !important;
}
#social-instagram a:hover {
	background-color: #517fa4 !important;
}
#social-pinterest a:hover {
	background-color: #cb2027 !important;
}
#social-twitch a:hover {
	background-color: #6441a5 !important;
}

#social-rss a:hover {
	background-color: #ff9900 !important;
}
#social-email a:hover {
	background-color: #605ca8 !important;
}
#social-share a:hover {
	background-color: #00a651 !important;
}

/*------- CMS / Bread-Crumb / Messaging -------*/

#bread-sec {
	color: #27d6c9;
	padding: 10px 0px;
}
#bread-crumb {
	color: #27d6c9;
	margin: 0px 20px;
	text-transform: uppercase;
	font-size: 12px;
	border-bottom: 1px solid #e7e9e2;
}

#bread-crumb a {
	display: inline-block;
	color: #27d6c9;
	padding: 2px 10px;
}
#bread-crumb a:hover {
	color: #c0272d;
}
#bread-crumb span {
	display: inline-block;
	color: #777777;
	padding: 2px 10px;
	font-weight: 700;
}

#bread-crumb-alt {
	font-size: 11px;
	text-transform: uppercase;
	border-bottom: 1px solid #e7e9e2;
}
#bread-crumb-alt a {
	display: inline-block;
	padding: 2px 10px 2px 2px;
	color: #27d6c9;
}
#bread-crumb-alt a:hover {
	color: #000000;
}

.msg-win {
	margin: 20px;
	padding: 1px;
	color: #444444;
	text-align: center;
	border-radius: 2px;
	background-color: rgba(255, 255, 255, 0.9);
}
.msg-win h3 {
	font-size: 22px;
	font-family: "Exo 2", sans-serif;
	color: #ffffff !important;
	margin-bottom: 0px;
	text-align: center;
	color: #444444;
}
.msg-win p {
	text-align: center;
}

.msg-confirm {
	background-color: #31bcb4 !important;
	color: #ffffff !important;
}
.msg-alert,
.msg-basket {
	background-color: #f3e7da !important;
	color: #ffffff !important;
}
.msg-error {
	background-color: #c0272d !important;
	color: #ffffff !important;
}

/* ############# Media Queries ############# */

@media only screen and (max-width: 480px) {
	.col-shell {
		width: 100% !important;
	}

	header {
		position: fixed;
		top: 0;
		width: 100%;
	}
	input,
	select {
		width: 100% !important;
		margin-left: 0 !important;
	}
	h1 {
		font-size: 36px;
		line-height: 42px;
		margin: 20px;
	}

	/*------- Structure -------*/
	.header-content {
		height: 52px;
		transition: all 0.5s ease;
	}
	.header-content #logo-main {
		height: 40px;
		transition: all 0.5s ease;
		margin-left: -45px;
	}
	.header-content h1 {
		font-size: 22px;
		margin: 0px;
		line-height: 40px;
		transition: all 0.5s ease;
	}

	.header-main-hero {
		height: 52px !important;
	}
	.header-main-hero #logo-main {
		height: 40px !important;
	}

	.sticky + .site-content-hero {
		padding-top: 52px !important;
	}
	.sticky .menu-bar-l {
		display: inline-block;
	}

	footer .shell-max {
		margin: 20px 10px;
	}
	footer h2 {
		font-size: 24px;
	}
	.foot-content {
		width: 100% !important;
	}
	.foot-content-header {
		margin: 10px;
	}
	.foot-content-borders {
		border-top: 1px dashed #27d6c9;
		border-bottom: 1px dashed #27d6c9;
		border-left: 0;
		border-right: 0;
	}

	.site-content {
		padding-top: 52px;
	}

	/*------- Navigation -------*/
	#nav-main .nav-shell {
		padding: 20px;
	}

	.nav-content {
		width: 100% !important;
	}
	.nav-content:first-of-type {
		border-right: 0;
	}

	.nav-content-header {
		width: 100% !important;
	}
	.nav-bttn span {
		display: none;
	}

	.top-menu {
		display: none;
	}
	.top-menu nav ul {
	}
	.top-menu nav ul li {
		display: block;
		margin: 0px;
		text-align: center;
	}
	.top-menu nav ul li a {
		display: block;
		padding: 8px 20px 10px;
		font-size: 14px;
		text-transform: uppercase;
		border-bottom: 2px solid #ffffff;
	}
	.top-menu nav ul li a.active {
		border-bottom: 0px;
		font-weight: 700;
	}

	.menu-bar-l {
		display: inline-block;
	}
	.menu-bar-l,
	.menu-bar-r {
		margin: 12px !important;
		-moz-transition: all 0.5s ease;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}
	.menu-bar-button span {
		display: none;
	}

	/*------- Buttons -------*/
	.btn {
		width: 100%;
		text-align: center;
		display: block;
		margin: 5px 0px;
	}
	.btn-hide {
		display: none;
	}

	/*------- Forms -------*/
	.flex-form-param {
		order: 1;
		flex-grow: 0;
		flex-basis: calc(100% - 40px) !important;
		margin: 10px 20px;
	}
	.flex-form-btn-expand {
		display: block;
	}
	.flex-form-expand {
		height: 80px;
		overflow: hidden;
	}

	/*------- Content / Slideshow -------*/
	.blog-header {
		max-width: 80%;
		margin: auto;
	}

	.map-shell {
		margin: 20px 0px;
		border: 0;
		border-radius: 0px;
	}

	.slide-item .slide-content {
		text-align: center;
		margin: 50% auto 0;
		max-width: 600px;
	}
	.slide-item .slide-content a h2 {
		font-size: 42px;
	}
	.slide-item .slide-content a {
		max-width: 60%;
		margin: auto;
	}

	/*------- Lists/Flex-Boxes -------*/
	.event-list-item {
		width: 50%;
	}
	.trail-list li {
		width: calc(100% - 20px);
	}
	.blog-list .blog-list-item {
		width: calc(100% - 10px);
	}
	.gen-list li {
		width: calc(33% - 20px);
	}

	/*------- Effects -------*/
	.ribbon {
		font-size: 18px !important;
		letter-spacing: 0px;
		line-height: 24px;
		width: 75%;
	}
	.slide-shell .slick-arrow {
		position: absolute;
		bottom: 5%;
		top: unset;
		z-index: 100;
		border-radius: 50%;
		padding: 10px;
		text-align: center;
		line-height: 24px;
		width: 44px;
	}
}

@media only screen and (max-width: 768px) {
	.flex-form {
		flex-wrap: wrap;
	}
	.flex-form-param {
		order: 1;
		flex-grow: 0;
		flex-basis: calc(50% - 40px);
	}
}

.ir {
	display: block;
	border: 0;
	text-indent: -999em;
	overflow: hidden;
	background-color: transparent;
	background-repeat: no-repeat;
	text-align: left;
	direction: ltr;
	*line-height: 0;
}
.ir br {
	display: none;
}
.hidden {
	display: none !important;
	visibility: hidden;
}
.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}
.invisible {
	visibility: hidden;
}
.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}
.clearfix:after {
	clear: both;
}
.clearfix {
	*zoom: 1;
}

@media print {
	* {
		background: transparent !important;
		color: black !important;
		box-shadow: none !important;
		text-shadow: none !important;
		filter: none !important;
		-ms-filter: none !important;
	}
	a,
	a:visited {
		text-decoration: none;
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}
	pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
	blockquote {
		border: 1px solid #f3e7da;
	}

	/*------- Custom Print Styles -------*/
	#printURL,
	#printFooter,
	.printItem {
		display: block;
	}
	.no-print {
		display: none;
	}
}

@page {
	size: auto;
	margin: 10mm 10mm 20mm 10mm;
}
