
/* element styles */

html {
	overflow: scroll;
}

body{
	margin: 0;
	padding: 0; 
	font-size: 110%;
}	 

div {
	font-family: 'Quicksand', sans-serif;
	font-size: 100%;
	color: #2b2b2b;
}

p {
	font-family: 'Quicksand', sans-serif;
	font-size: 100%;
	color: #2b2b2b;
	margin: 0 0 10px 0;
}

li {
	font-size: 100%;
	color: #2b2b2b;
}

td {
	font-size: 100%;
	color: #2b2b2b;
	vertical-align: top;
}

img {
	border: 0;
}

a {
	font-size: 100%;
	color: #3f80b8;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1 {
	font-family: 'Berkshire Swash', sans-serif;
	font-size: 220%;	
	font-weight: normal;
	color: #3fb8af;
	margin: 0 0 20px 0;
	padding: 0;
	text-align: center;
}

h2 {
	font-family: 'Berkshire Swash', sans-serif;
	font-size: 200%;	
	font-weight: normal;
	color: #3f80b8;
	margin: 0 0 2px 0;
	padding: 0;
}

h2 a {
	font-size: 100%;	
}

h3 {
	font-family: 'Berkshire Swash', sans-serif;
	font-size: 180%;	
	color: #3f80b8;
	margin: 0 0 20px 0;
	padding: 0;
	font-weight: normal;
}

h3 a {
	font-size: 100%;
	color: #3f80b8;
}

h4 {
	font-family: 'Quicksand', sans-serif;
	font-size: 120%;	
	color: #2a2a2a;
	margin: 0 0 10px 0;
	padding: 0;
	font-weight: normal;
}

form {
	margin: 0;
}

textarea {
	font-family: 'Quicksand', sans-serif;
	font-size: 100%;
}



.image_left {
	float: left;
	margin: 0 20px 20px 0;
}

.image_right {
	float: right;
	margin: 0 0 20px 20px;
}

/* page element styles */ 

.mobile_only {
	display: none;	
}
.large_screen_only {
	display: none;	
}

.print_icon {
	background: url(../images/site/print-icon.png) no-repeat;
	padding: 8px 0 8px 37px;
	cursor: pointer;
}

.download_icon {
	background: url(../images/site/pdf-icon.png) no-repeat;
	padding: 8px 0 8px 37px;
	cursor: pointer;
}
 
#top_bar {
	position: relative;
	width: 100%;
	height: calc(60vh + 160px);
}

#top_bar.top_home {
	height: 80vh;
}

.top_bar_short,
#top_bar.top_business {
	height: 130px !important;
}



#top_logo {
	position: absolute;
	top: 30px;
	left: calc((100% - 351px)/2);
	display: block;
	width: 351px;
	height: 62px;
	z-index: 9;
}

#top_logo svg {
	width: calc(100%);
	height:  calc(100%);
}

#top_logo svg path {
	fill:  #3fb8af;
	filter: drop-shadow(0 0 3px rgb(0 0 0 / 0.4));
}

#top_logo.logo_home {
	position: absolute;
	top: 100px;
	left: calc((100% - 418px)/2);
	display: block;
	width: 418px !important;
	height: 83px !important;
}

#top_logo.logo_home svg path {
	fill:  #fff;
}

#top_logo svg path.heart {
	fill:  #D13837;
}


#navigation {
	position: relative;
	z-index: 999;
	top: 90px;
}

#navigation.navigation_home {
	position: relative !important;
	top: auto;
}

#navigation h4 {
	color: #fff;
}

#tagline {
	color: #fff;
	filter: drop-shadow(0 0 5px rgb(0 0 0 / 0.4));
	text-align: center;
	width: 100%;
	font-size: 180%;
	position: absolute;
	top: 200px;
	z-index: 9;
}

#top_nav_search {
	position: absolute;
	display: inline-block;
	text-align: center;
	transition:  background 0.3s;
	cursor: pointer;
	z-index: 9999;
}

#top_nav_search.search_home {
	filter: drop-shadow(0 0 5px rgb(0 0 0 / 0.4));
}

#top_nav_search:hover {
	text-decoration: none;
}

#search_form {
	display: none;
	position:  absolute;
	top: 0;
	right:  65px;
	padding: 15px;
	background: #3374ac;
	border-radius: 10px;
	width:  220px;
}

#nav_search {
	padding:  5px;
	font-size:  100%;
	border-radius:  10px;
	border:  0;
}

#search_form .button {
	margin:  0;
	padding: 6px;
	float:  right;
	font-size:  100%;
}

#top_nav_search_btn {
	width: 55px;
	height: 55px;
	fill: #3374ac;
	transition:  transform 0.3s;
}

#top_nav_search_btn:hover {
	transform: rotate(-20deg);
}

.search_home #top_nav_search_btn {
	fill: #fff !important;
}

#social {
	z-index: 9;
}

.social_home {
	width: 260px;
	position: absolute;
	bottom: 40px;
	left: calc((100% - 260px)/2);
	z-index: 9;
}

.social_icon {
	display: block;
	margin: 0 30px 0 0;
	float: left;
}
.youtube_icon {
	margin: 0;
}

.social_icon svg {
	fill: #fff;
	height: 40px;
	width: auto;
	transition: fill 0.3s;
	filter: drop-shadow(0 0 5px rgb(0 0 0 / 0.4));
}

.social_icon svg:hover {
	fill: #1160a5;
}

#main {
	padding: 0;
}

#home_iframe {
	display: block;
	border-radius: 10px;
	margin: 50px auto;
	width: 840px !important;
	height: 475px !important;
}

#footer {
	background: linear-gradient(180deg, #83a7cc 0%, #5b85b0 100%);
	width: 100%;
}

#footer * {
	color: #fff;
}

#signup_form .input_box {
	color: #2b2b2b !important;
}

#footer_wrapper {
	padding: 50px;
	margin: 0 auto;
}

#footer .logo_home {
	display: block;
	background: url(../images/site/logo.svg) no-repeat top right !important;
	background-size: contain !important;
	width: 260px !important;
	height: 52px !important;
	margin: 0 !important;
}

#footer_left {
	padding-right: 30px;
	width: calc(50% - 30px);
	float: left;
}

#footer_left input[type=text],#footer_left input[type=email] {
	border: 1px solid #fff;
	background-color: #fff;
}

#footer_right {
	padding-left: 30px;
	width: calc(50% - 30px);
	float: left;
}

/* home page boxes */

#home_box_wrapper {
	padding-top: 50px;
	background-color: #cee1df;
	width: 100%;
}

#home_boxes {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.home_box {
	position: relative;
	overflow: hidden;	
	border-radius: 10px;
	margin-bottom: 50px;
	cursor: pointer;
	background: #000;
}

.home_box_bg {
	background: center center no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	right:  0;
	left: 0;
	bottom:  0;
	opacity: 0.75;
	transition: opacity 0.3s, transform 0.3s;
}

.home_box:hover .home_box_bg {
	opacity:  0.5;
	transform:  scale(1.1);
}

.home_box_title {
	position: 	absolute;
	top: 0;
	left: 30px;
	bottom:  0;
	right:  30px;
	display:  flex;
	justify-content: center;
	align-items: center;
}

.home_box_title span {
	display:  block;
	font-family: 'Berkshire Swash', sans-serif;
	font-size: 240%;
	color: #fff;
	transition: font-size 0.3s;
}


/* instagram */

#home_insta h2 {
	color: #99cc00;
	text-align: center;
	margin-bottom: 20px;
}

#insta_feed {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.insta_image {
	position: relative;
	display: block;
	flex-basis: calc((100% - 80px) / 4);
	padding-top: 25%;
	background-color: #000;
	background-size: cover;
	background-position: center center;
	transition: transform 0.3s, box-shadow 0.3s;
}

.insta_image:hover {
	transform: scale(1.02);
	box-shadow: 0 0 11px rgba(0,0,0,0.4);
}

.insta_likes {
	position: absolute;
	bottom: 10px;
	left: 25%;
	color: #fff;
	font-weight: bold;
	text-shadow: #000 1px 0 10px;
	background: url(../images/site/insta-heart.png) no-repeat left center;
	padding: 0 0 0 35px;
}

.insta_comments {
	position:absolute;
	bottom:10px;
	left:60%;
	color:#fff;
	font-weight:bold;
	text-shadow:#000 0 0 5px;
	background:url(../images/site/insta-comment.png) no-repeat left center;
	padding:0 0 0 35px;
}

/* business grid */

#show_grid, #map_tab {
	display: none;
}

.grid_item {
	position: relative;
	overflow: hidden;	
	border-radius: 10px;
	margin-bottom: 50px;
	cursor: pointer;
	background: #000;
}

.grid_item_bg {
	background: center center no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	right:  0;
	left: 0;
	bottom:  0;
	opacity: 0.75;
	transition: opacity 0.3s, transform 0.3s;
}

.grid_item:hover .grid_item_bg {
	opacity:  0.5;
	transform:  scale(1.1);
}

.grid_item_title {
	position: 	absolute;
	top: 0;
	left: 30px;
	bottom:  0;
	right:  30px;
	display:  flex;
	justify-content: center;
	align-items: center;
}

.grid_item_title span {
	display:  block;
	font-family: 'Berkshire Swash', sans-serif;
	font-size: 180%;
	color: #fff;
	transition: font-size 0.3s;
	text-align: center;
}


#map_tab {
	margin: 50px 0;
}

#map_labels {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}

.map_label {
	padding: 10px;
	flex-basis: calc((100%/5) - 40px);
	border: 1px solid #f3f3f3;
	background-color: #f3f3f3;
	margin-bottom: 20px;
}

#map_canvas {
	width: 100%; 
	height: 500px; 
	margin: 0 0 50px 0;
	border-radius: 10px;
}

.map_categories {
	display: flex;
	justify-content: center;
	gap: 30px;
	margin-bottom: 30px;
}

.map_category {
	flex-basis: 1;
	padding-right: 35px;
	cursor: pointer;
}
.map_category.map_show {
	background:url(../images/maps/tick.png) no-repeat right center;
	background-size: 32px;
}
.map_category.map_hide {
	background:url(../images/maps/delete.png) no-repeat right center;
	background-size: 32px;
}

/* content page structural styles */

#page_main {
	padding: 30px 0 0 0;
}

#page_left {
	float: left;
	width: 280px;
	margin: 0 30px 0 0;
}

#left_navigation, #left_events {
	background: #f9f8f5 no-repeat bottom left;
	margin: 0 0 30px 0;
}

.left_event_item {
	margin: 10px;
	clear: both;
	border-bottom: 1px #d0cfcd solid;
}

.left_event_date {
	float: left;
	width: 60px;
	margin: 10px 10px 10px 0;
}

.left_event_title {
	float: left;
	width: 120px;
	margin: 10px 0 10px 0;
}

#left_get_here p {
	padding: 10px 10px 150px 10px;
}

/* content page */

#page_content {
	max-width: 1300px;
	margin: 0 auto;
}

#page_content_wide img,
#page_content_wide iframe,
#page_content img,
#page_content iframe   {
	max-width: 100%;
	height: auto;
}

/* nav styles */

.nav_item, 
.nav_item:hover, 
.nav_item_active,
.nav_item_active:hover  {
	display: block;
	text-align: center;
	color: #3374ac;
	font-weight: bold !important;
	padding: 10px 12px;
	border-radius: 10px;
	transition: background-color 0.3s;
}



.nav_container:hover .nav_item,
.nav_item:hover, 
.nav_item_active:hover, 
.nav_item_active {
	color: #fff;
	background-color: #3374ac;
	text-decoration: none !important;
}

.navigation_home .nav_container:hover .nav_item,
.navigation_home .nav_item, 
.navigation_home .nav_item:hover, 
.navigation_home .nav_item_active,
.navigation_home .nav_item_active:hover  {
	color: #fff !important;
	filter: drop-shadow(0 0 5px rgb(0 0 0 / 0.4));
}

/* simple slider */

#simple_slider {
	position: absolute;
	top: 180px;
	left: 0;
	display: block;
	width: 100%;
	height: 60vh;
	z-index: 0;
}

#simple_slider.slider_home {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 80vh;
	z-index: 0;
}

.ss_wrapper {
	position: relative;
	top: 0;
	height: 100%;
}

#ss_previous {
	cursor: pointer;
	display: block;
	position: absolute;
	top: calc((100% - 115px)/2);
	left: 30px;
	width: 63px;
	height: 115px;
	background: url(../images/site/arrows.png) no-repeat left top;
	z-index: 9990;
}

#ss_next {
	cursor: pointer;
	display: block;
	position: absolute;
	top: calc((100% - 115px)/2);
	right: 30px;
	width: 63px;
	height: 115px;
	background: url(../images/site/arrows.png) no-repeat right top;
	z-index: 9990;
}

.ss_slide {
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100%);
	height: calc(100%);
	display: none;
}

#ss_1 {
	display: block;
}

.ss_image {
	display: block;
	position: absolute;
	width: calc(100%);
	height: calc(100%);
	background: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.ss_caption {
	display: block;
	position: absolute;
	left: 0;
	bottom: 50px;
	width: calc(33%);
}

.ss_caption_inner {
	display: block;
	padding: 30px;
	color: #fff;
	background: #00000066;
	border-radius: 10px;
}

.ss_caption_inner * {
	margin:0;
	padding:5px;
	color: #fff;
}

/* calendar */

#calendar_table {
	margin: 15px 0 0 0;
	width: 239px;
	border: 1px solid #9cb999;
	border-collapse: collapse;
}

#calendar_table th, #calendar_table td {
	width: 33px !important;
	background-color: #f4f4f4;
	text-align: center;
	border: 1px solid #9cb999;
	border-collapse: collapse;
}

#calendar_table th {
	font-weight: normal !important;
	font-size: 85%;
	height: 22px !important; 
}

#calendar_table td {
	font-size: 120%;
	font-weight: bold;
}

.free_date {
	background:  #f4f4f4 !important;
}

.highlight_date {
	background:  #d1dcd0 !important;
}

.todays_date {
	background:  #e66e96 !important;
}

.highlight_date a, .todays_date a {
	display: block;
	margin: 6px;
	padding: 0 0 0 0 !important;
	height: 20px !important; 
}

.highlight_date a,.todays_date a {
	font-size: 100%;
	font-weight: bold;
	color: #425f2e;
	text-decoration: none;
}

.todays_date a {
	font-size: 100%;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
}

/* gallery */

#gallery {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	margin: 50px 0;
}

.gallery_detail {
  flex-basis: 150px;
  padding: 6px;
}

.masonry {
	display: flex;
	gap: 10px;
}

.masonry-column {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.masonry-item {
	width: 100%;
	border-radius: 4px;
	display: block;
	transition: transform 0.2s;
}

.masonry-item:hover {
	transform: scale(1.02);
}

/* custom lightbox */

#popup_bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000000dd;
	z-index: 999999;
	padding: 50px 0 0 0;
}

#popup_bg * {
	color: #fff;
}

#popup_container img {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-height: 70vh;
	width: auto;
}

#popup_caption {
	position:  absolute;
	bottom: 100px;
	left:  50px;
	width: calc(100vw - 100px);
	text-align: center;
}

#popup_caption a {
	text-decoration: underline;
}

#popup_close {
	position: absolute;
	top: 50px;
	right: 50px;
	z-index: 9999999;
	width: 27px;
	height: 26px;
	background: url(../images/site/popup-close.png);
	cursor: pointer;
}

#popup_controls {
	position: fixed;
	left: 50%;
	top: calc(50% - 57px);
	transform: translate(-50%, -50%);
	width: 100vw;
}

#popup_previous {
	cursor: pointer;
	display: block;
	position: absolute;
	top: 0;
	left: 30px;
	width: 63px;
	height: 114px;
	background: url(../images/site/arrows.png) no-repeat left top;
	z-index: 9990;
}

#popup_next {
	cursor: pointer;
	display: block;
	position: absolute;
	top: 0;
	right: 30px;
	width: 63px;
	height: 114px;
	background: url(../images/site/arrows.png) no-repeat right top;
	z-index: 9990;
}

/* business page */

#business_hero {
	height: 50vh;
	width: 100%;
	background-size: cover;
	background-position: center center;
	margin-bottom: 50px;
	border-radius: 10px;
}

#business_left {
	float: left;
	width: calc(100% - 300px);
}

#business_left img {
	max-width: 100%;
	height: auto;
}

#business_left iframe {
	max-width: 100%;
}

#business_right {
	float: left;
	width: 250px;
	margin-left: 50px;
}

#business_map {
	width: 100%;
	height: 250px;
	border-radius: 10px;
}

.business_icon {
	display: block;
	padding: 20px 0 20px 60px;
	height: 25px;
}

.business_phone {
	background: url(../images/site/phone-icon.png) no-repeat center left;
}
.business_email {
	background: url(../images/site/email-icon.png) no-repeat center left;
}
.business_web {
	background: url(../images/site/web-icon.png) no-repeat center left;
}
.business_twitter {
	background: url(../images/site/twitter-icon.png) no-repeat center left;
}
.business_facebook {
	background: url(../images/site/facebook-icon.png) no-repeat center left;
}
.business_pinterest {
	background: url(../images/site/pinterest-icon.png) no-repeat center left;
}
.business_instagram {
	background: url(../images/site/instagram-icon.png) no-repeat center left;
}
.business_linkedin {
	background: url(../images/site/linkedin-icon.png) no-repeat center left;
}
.business_tripadvisor {
	background: url(../images/site/tripadvisor-icon.png) no-repeat center left;
}
.business_youtube {
	background: url(../images/site/youtube-icon.png) no-repeat center left;
}

#business_contact {
	display: none;
	z-index: 999999;
	margin: 0 auto;
	width: 500px;
	background-color: #fff;
	padding: 10px;
	max-height: 80vh; /* Limit height to 80% of viewport height */
  overflow-y: auto; /* Enable vertical scrolling */
  position: relative; /* Add positioning context */
}

#business_popup_bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000000aa;
	z-index: 999999;
	padding: 40px 0 0 0;
}

#business_popup_close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 9999999;
	width: 27px;
	height: 26px;
	background: url(../images/site/popup-close.png);
	cursor: pointer;
}

#business_contact .cell_left {
	width: 50%;
}

/* events pages */

.whatson_image {
	float: left;
	padding: 0 30px 30px 0;
	max-width: 50%;
	height: auto;
}

.ui-widget-header {
	border: 1px solid #3fb8af !important;
  background-color: #3fb8af !important;
  background-image: none !important;
}

.ui-datepicker a.ui-state-highlight, .ui-datepicker a.ui-state-hover {
  display: block !important;
  padding: 0.2em !important;
  background: #fbd850 none no-repeat;
  border: 1px solid #fed22f;
}
a.ui-datepicker-prev, a.ui-datepicker-next, a.ui-datepicker-prev.ui-state-hover, a.ui-datepicker-next.ui-state-hover {
  padding: 0 !important;
  background: #3fb8af !important;
  border: 1px solid #3fb8af !important;
}
.ui-datepicker .ui-state-hover .ui-icon {
  background-image: url(/css/ui-lightness/images/ui-icons_ffffff_256x240.png) !important;
}

/* what's on featured events slider */

#featured_events {
	width: 100%;
	height: 395px;	
	position: relative;
	margin: 30px 0;
	background: #3fb8af;
}

#featured_event_previous {
	display: block;
	position: absolute;
	top: 30%;
	left: 10px;
	width: 63px;
	height: 115px;
	background: url(../images/site/arrows.png) no-repeat left top;
	z-index: 9999;
}

#featured_event_next {
	display: block;
	position: absolute;
	top: 30%;
	right: 10px;
	width: 63px;
	height: 115px;
	background: url(../images/site/arrows.png) no-repeat right top;
	z-index: 9999;
}

.featured_event {
	cursor: pointer;
	position: absolute;
	left: 7%;
	top: 0;
	width: 85%;
	height: 395px;
	display: none;
}

#featured_event_1 {
	display: block;
}

.featured_event_image {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 590px;
	height: 395px;
	background: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.featured_event_caption {
	display: block;
	position: absolute;
	left: 590px;
	top: 0;
	width: calc(100% - 590px);
	height: 395px;
	background: #3fb8af;
}

.featured_event_caption_inner {
	display: block;
	padding: 30px;
	height: 335px;
	overflow-y: auto;
}

.featured_event_caption_inner * {
	color: #fff;
}

/* general styles */

.button {
	font-family: 'Berkshire Swash', sans-serif;
	display: inline-block;
	padding: 12px 30px 12px 30px;
	font-size: 140%;
	background: #1160a5;
	border: 0;
	border-radius: 10px;
	color: #fff !important;
	cursor: pointer;
	text-align: center;
	transition:  background-color 0.3s;
}

.button:hover {
	background:  #3fb8af;
}

.button_centered .button {
	display: block;
	width:  150px;
	margin:  0 auto !important;
}

.clickable_div {
	font-size: 100%;
	color: #3f80b8;
	text-decoration: none;
	cursor: pointer;
}

.clickable_div:hover {
	text-decoration: underline;
}

.news_divider {
	height: 1px;
	background-color: #ccc;
	margin-bottom: 10px;
}

.padded_img img {
	padding: 0 10px 10px 10px;
}

.smallText {
	font-size: 80%;
}

.smallText a {
	font-size: 100%;
}

.error {
	color: #c00;
	font-weight: bold;
}

.pad30lr {
	padding: 0 30px 0 30px;
}

.clear {
	clear: both;
	height: 1px;
	line-height: 1px;
}

.float_left {
	float: left;
}

.float_right {
	float: right;
}

.hide {
	display: none;
}

.show {
	display: block !important;
}

.smallish_text {
	font-size: 85%;
}

.bold {
	font-weight: bold !important;
}

.expander {
	background: url(../images/site/arrow-right.png) center left no-repeat;	
	padding: 2px 0 2px 25px;
	display: block;
	font-weight: bold;
}

.expanded {
	background: url(../images/site/arrow-down.png) center left no-repeat;	
}

.expandee {
	padding: 0 0 0 35px;	
}

.expandee .expander {
	padding: 2px 0 2px 20px;
}

.expandee a {
	display: block;
	padding: 2px 0 2px 0;	
}

.lost_in_art, .lost_in_art * {
	font-family: "Fira Sans", sans-serif !important;
}
h1.lost_in_art {
	font-weight: 600;
}

/* accordion */

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active, 
.ui-autocomplete, .ui-autocomplete:hover, 
.ui-menu-item, .ui-menu-item:hover,
.ui-menu-item a, .ui-menu-item a:hover,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active,
.ui-menu .ui-menu-item a { 
	background: #ffffff none no-repeat; 
	padding:0;
	margin:0;
	display:block;
	border:0;border-collapse:collapse;
}

.accordion h2 {
	padding: 0 0 5px 25px;
	margin: 0 0 5px 0;
	cursor: pointer;
	font-family: 'Berkshire Swash', sans-serif;
}

.accordion h2.ui-state-default {
	font-weight: bold;
	color: #3f80b8;
	background: url(../images/site/arrow-right.png) left center no-repeat;	
}

.accordion h2.ui-state-default:hover {
	color: #3fb8af;
	background: url(../images/site/arrow-right-hover.png) left center no-repeat;	
}

.accordion h2.ui-state-active {
	color: #3fb8af;
	background: url(../images/site/arrow-down.png) left center no-repeat;
}

.accordion h2.ui-state-active:hover {
	color: #3fb8af;
	background: url(../images/site/arrow-down.png) left center no-repeat;
}

.ui-accordion-content {
	background: none !important;
	border: 0px !important;
}

.ui-accordion-header {
	border: 0px !important;
}

.ui-accordion-header-icon {
	display: none !important;
}

.ui-widget-content a {
    color: #2196f3 !important;
}

/* form styles */


.user_form .row_0 {
	background: #fff;
}

.user_form .row_1 {
	background: #fff;
}

.user_form .row_section {
	background: #fff;
}

.user_form .row_section td {
	border: 0 !important;
	padding-top: 30px;
}

.user_form .cell {
	margin: 3px 0px 3px 0px;
}

.user_form .cell_left {
	padding: 20px 15px 3px 0px;
}

.user_form .cell_right {
	padding: 20px 10px 3px 0px;
}

.user_form .cell_span {
	padding: 20px 10px 3px 10px;
}

.user_form .error {
	display: block;
	color: #c00;
	font-weight: bold;
}

.user_form .input_box, .user_form .input_box_small, .user_form .input_box_med {
	padding: 8px;
	border: 1px solid #f3f3f3;
	background-color: #f3f3f3;
	border-radius: 10px;
}

.user_form .input_box_small {
	width: 80px;
}

.user_form .input_box_med {
	width: 150px;
}

.user_form .datepicker_input {
	padding: 8px;
	margin-right: 10px;
}

.user_form form {
	margin: 0px;
}

.user_form select {
	width: 300px;
	padding: 8px;
}

.user_form select.select_small {
	width: 80px;
	padding: 8px;
}

.user_form .textarea, .user_form .textarea_small {
	width: 300px;
	height: 200px;
	border: 1px solid #f3f3f3;
	background-color: #f3f3f3;
	border-radius: 10px;
}

.user_form .textarea_small {
	height: 50px;
	font-size: 100%;
}

.user_form h3 {
	padding: 20px 0 0 0;
}

.timetable {
    border-collapse: collapse;
    margin: 30px 0;
}

.timetable th {
    padding: 5px;
}

.timetable td {
    border: 1px solid #c7d6bb;
    width: 100px;
    padding: 5px;
}

.timetable tr:nth-child(even) {
    background-color: #f0f4eb;
}

.timetable tr:nth-child(odd) {
    background-color: #fff;
}

/* cookie preferences */

#cookie_popup_message {
	display:  none;
	position: fixed; 
	z-index: 9999; 
	bottom: 20px; 
	left: 20px; 
	width: 310px; 
	background-color: #ffffffcc; 
	padding: 10px;  
	border-radius: 5px; 
	box-shadow: 0 0 1px #00000066;
}

#cookie_popup_message p {
	font-size: 85% !important; 
	color: #000; 
	margin: 0 0 10px 0;
}

#cookie_options {
	display:  flex;
	flex-direction: column;
}

.cookie_options_row {
	display:  flex;
	flex-direction: row;
}

.cookie_options_label {
	font-size: 85% !important; 
	font-weight:  bold;
	margin: 0 20px 20px 0;
}

.cookie_options_yes,
.cookie_options_no {
	display:  block;
	color:#fff !important; 
	font-size: 90% !important;  
	text-decoration: none; 
	padding: 3px 15px 0 15px; 
	height:  22px;
	border-radius: 5px; 
	font-weight: bold;
	transition: background-color 0.3s;
	margin:  0 10px 0 0;
}

.cookie_options_no {
	background: #666; 
}

.cookie_options_yes {
	background: #666; 
}

.cookie_options_yes:hover,
.cookie_options_no:hover {
	text-decoration: none; 
}

.cookie_options_no:hover,
.cookie_options_no.active {
	background: #c33; 
}

.cookie_options_yes:hover,
.cookie_options_yes.active {
	background: #3c3; 
}

#cookie_accept_all,
#cookie_set_preferences {
	background: #666; 
	color:#fff !important; 
	font-size: 90% !important;  
	text-decoration: none; 
	padding: 5px 25px; 
	border-radius: 5px; 
	font-weight: bold;
	transition: background-color 0.3s;
}

#cookie_accept_all:hover,
#cookie_set_preferences:hover {
	background: #000; 
}

/* admin nav bar styles */

#admin_navbar {
	position: fixed; 
	bottom: 0; 
	right: 10px; 
	height: 50px;  
	background: linear-gradient(to bottom, #e7e9eb 0%,#d8dade 100%); 
	border: 1px solid #e7e9eb;
	box-shadow: 0 0 2px 1px #000;
	z-index: 9999999;
	padding: 10px;
	color: #fff;
	border-radius: 0 0 3px 3px;
}

.admin_navbar_icon {
	color: #fff;
	margin-right: 10px;
	opacity: 0.6;
	width: 48px;
	height: 48px;
}

.admin_navbar_icon img {
	width: 48px;
	height: 48px;
}

.admin_navbar_icon:hover {
	color: #fff;
	margin-right: 10px;
	opacity: 1;
}

#admin_navbar .admin_navbar_hassubnav {
	font-size: 85%;
	color: #000;
}

#admin_navbar .admin_navbar_hassubnav .admin_navbar_subnav {
	display: none;
}

#admin_navbar .admin_navbar_hassubnav .admin_navbar_subnav span,
#admin_navbar .admin_navbar_hassubnav .admin_navbar_subnav a  {
	display: block;
	color: #000;
	border-bottom: 1px solid #bdbdbd;
	padding: 0 0 5px 0;
	margin: 0 0 5px 0;
	height: auto;
}

#admin_navbar .admin_navbar_hassubnav:hover .admin_navbar_subnav {
	display: block;
	position: absolute;
	top: 60px;
	left: 175px;
	width: 150px;
	background: #d8dade; 
	padding: 10px;
}

#admin_navbar_extended {
	float: left; 
	height: 50px;
	overflow-y: hidden;
	width: 0;
}

#admin_navbar_icon {
	float: left;
	margin: 0;
}
	
@keyframes slide_out {
	0%   { width: 0px; }
	100% { width: 380px; }
}

.slide_out {
	animation-name: slide_out;
	animation-duration: 0.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}

@keyframes slide_in {
	0%   { width: 380px; }
	100% { width: 0px; }
}

.slide_in {
	animation-name: slide_in;
	animation-duration: 0.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}

/* train timetable */

.timetable_wrapper {
	max-width: 100%;
	overflow-y: scroll;
}

.gm-style .gm-style-iw p {
	padding: 0 10px;
}    

/* booking calendar */

#booking_table {
	margin: 15px 0 0 0;
	border: 1px solid #939392;
	border-collapse: collapse;
}

#booking_table th, #booking_table td {
	width: calc(100%/7);
	background-color: #dadada;
	border: 1px solid #939392;
	border-collapse: collapse;
	padding: 6px;
}

#booking_table th {
	font-weight: normal !important;
	font-size: 85%;
}

#booking_table td {
	font-weight: bold;
	height: 80px;
}

.booking_table_small td {
	height: 30px !important;
}

#booking_table .free_date {
	background:  #fff !important;
	color: #156465;
}

#booking_table .highlight_date {
	background:  #bcd9e8 !important;
}

#booking_table .todays_date {
	background:  #80a6d6 !important;
	color: #3b3b3b;
}

#booking_table .booked_date {
	background:  #e8bcbc !important;
	padding: 5px 10px;
	color: #3b3b3b;
	font-weight: normal;
	font-size: 90%;
}
#booking_table .available_date {
	background:  #c6e8bc !important;
	padding: 5px 10px;
	color: #3b3b3b;
	font-weight: normal;
	font-size: 90%;
}
#booking_table .available_date a {
	color: #3b3b3b;
}

#booking_table .todays_date .cal_number {
	color: #fff;
}

#booking_table .highlight_date a, #booking_table .todays_date a {
	margin: 0;
}

#booking_table .todays_date a {
	padding: 0 0 0 0 !important;
	font-size: 100%;
	color: #3b3b3b;
	text-decoration: none;
}

#booking_table .highlight_date a {
	padding: 0 0 0 0 !important;
	font-size: 100%;
	color: #0a55b2;
	text-decoration: none;
}