@charset "utf-8";
/* 
	layout.css
	
	Project: Star of the North
	
*/


/*------ global ------*/ 
* {
	margin:0;
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
}

body { min-width: 100%; background: #fff; }
body, html{width:100%; height:100%;}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section{display:block;}

.auto{width:auto !important;}
.full{width:100%;}
.half{width:50%;}

.f_right{float:right; display:block;}
.f_left{float:left; display:block;}
.clear{display:block; clear:both;}
.right{text-align:right;}
.left{text-align:left;}
.center{text-align:center;}

.nomargin{margin:0 !important;}
.nomargin_top{margin-top:0 !important;}
.nomargin_bottom{margin-bottom:0 !important;}
.nopadding{padding:0 !important;}
.hidden{display:none !important;}
.noborder{border: 0 !important;}
.cursor{cursor: default !important;}

.block { display: block; }
.inlineblock { display: inline-block; } 
.relative { position: relative; }
.absolute { position: absolute; }

.nobg { background: none !important; }

.p_top { top: 0; }
.p_bottom { bottom: 0; }
.p_left { left: 0; }
.p_right { right: 0; }

.v_top { vertical-align: top !important; }
.v_middle { vertical-align: middle !important; }
.v_bottom { vertical-align: bottom !important; }
.vh_middle:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	margin-right: -0.25em; /* Adjusts for spacing */
}

.d_table { display: table; }
.d_cell { display: table-cell; }

.column { width: 100%; } 

.container { width: 100%; max-width: 1920px; margin: 0 auto; }
.container_xsm, .container.container_xsm { max-width: 480px; } 
.container_sm, .container.container_sm { max-width: 1000px; } 
.container_med, .container.container_med { max-width: 1260px; } 
.container_lg, .container.container_lg { max-width: 1580px; }
.container_xlg, .container.container_xlg { max-width: 1880px; }
.container_padded { padding: 0 20px; }

.animate {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.box_shadow { -moz-box-shadow: 0px 0px 25px 0px rgba(12, 12, 12, .25); -webkit-box-shadow: 0px 0px 25px 0px rgba(12, 12, 12, .25); box-shadow: 0px 0px 25px 0px rgba(12, 12, 12, .25); }

.shadow_before:before { content: ""; position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 20px; background: url('../images/ui/shadow.png') no-repeat 50% 0; z-index: 1; pointer-events: none; }
.shadow_after:after { content: ""; position: absolute; top: 100%; left: 0; right: 0; width: 100%; height: 20px; background: url('../images/ui/shadow.png') no-repeat 50% 0; z-index: 1; pointer-events: none; }

.overlay { 
	filter: alpha(opacity=50); 
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";  
	opacity: .5; 
}

.gradient_blue {
	background: #4e7fa4; /* Old browsers */
	background: -moz-linear-gradient(top,  #4e7fa4 0%, #2e5a7c 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4e7fa4), color-stop(100%,#2e5a7c)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #4e7fa4 0%,#2e5a7c 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #4e7fa4 0%,#2e5a7c 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #4e7fa4 0%,#2e5a7c 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #4e7fa4 0%,#2e5a7c 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4e7fa4', endColorstr='#2e5a7c',GradientType=0 ); /* IE6-9 */
}
 
/* COLORS */
.bg_white, input.bg_white { background: #fff; }
.bg_black, input.bg_black { background: #111; }
.bg_lightergrey, input.bg_lightergrey { background: #eee; }
.bg_lightgrey, input.bg_lightgrey { background: #ccc; }
.bg_grey, input.bg_grey { background: #999; }
.bg_darkgrey, input.bg_darkgrey { background: #666; }
.bg_darkergrey, input.bg_darkergrey { background: #333; }
.bg_blue, input.bg_blue { background: #4e7fa4; }
.bg_darkblue, input.bg_darkblue { background: #2e5a7c; }
.bg_green, input.bg_green { background: #52a44e; }
.bg_darkgreen, input.bg_darkgreen { background: #296b26; }
.bg_yellow, input.bg_yellow { background: #d8de2e; }
.bg_red, input.bg_red { background: #900; }

a.bg_white:link, a.bg_white:visited, .submit.bg_white { color: #4e7fa4; }
a.bg_blue:link, a.bg_blue:visited, .submit.bg_blue { color: #fff; }
a.bg_lightgrey:link, a.bg_lightgrey:visited, .submit.bg_lightgrey { color: #fff; }
a.bg_grey:link, a.bg_grey:visited, .submit.bg_grey { color: #fff; }
a.bg_darkgrey:link, a.bg_darkgrey:visited, .submit.bg_darkgrey { color: #fff; }
a.bg_red:link, a.bg_red:visited, .submit.bg_red { color: #fff; }

a.bg_white:hover, a.bg_white:active, .submit.bg_white:hover, .submit.bg_white:active { background: #666; color: #fff; }
a.bg_black:hover, a.bg_black:active, .submit.bg_black:hover, .submit.bg_black:active { background: #666; color: #fff; }
a.bg_lightergrey:hover, a.bg_lightergrey:active, .submit.bg_lightergrey:hover, .submit.bg_lightergrey:active { background: #999; color: #fff; }
a.bg_lightgrey:hover, a.bg_lightgrey:active, .submit.bg_lightgrey:hover, .submit.bg_lightgrey:active { background: #999; color: #fff; }
a.bg_grey:hover, a.bg_grey:active, .submit.bg_grey:hover, .submit.bg_grey:active { background: #666; color: #fff; }
a.bg_darkgrey:hover, a.bg_darkgrey:active, .submit.bg_darkgrey:hover, .submit.bg_darkgrey:active { background: #4e7fa4; color: #fff; }
a.bg_blue:hover, a.bg_blue:active, .submit.bg_blue:hover, .submit.bg_blue:active { background: #666; color: #fff; }
a.bg_darkblue:hover, a.bg_darkblue:active, .submit.bg_darkblue:hover, .submit.bg_darkblue:active { background: #666; color: #fff; }
a.bg_green:hover, a.bg_green:active, .submit.bg_green:hover, .submit.bg_green:active { background: #666; color: #fff; }
a.bg_darkgreen:hover, a.bg_darkgreen:active, .submit.bg_darkgreen:hover, .submit.bg_darkgreen:active { background: #666; color: #fff; }
a.bg_yellow:hover, a.bg_yellow:active, .submit.bg_yellow:hover, .submit.bg_yellow:active { background: #666; color: #fff; }
a.bg_red:hover, a.bg_red:active, .submit.bg_red:hover, .submit.bg_red:active { background: #666; color: #fff; }

.submit.disabled, .submit.disabled:hover, .submit.disabled:active { background: #ccc; color: #fff; cursor: not-allowed; }

a .fa, .book_button .fa, .submit .fa { display: inline-block; font-size: 12px; vertical-align: middle; }
small .fa { font-size: 8px; }

/* FORMS */
fieldset, .fieldset { max-width: 100%; padding: 20px; border: 1px solid #ccc; }

.msg_validation { margin-bottom: 15px; }
.msg_validation p { padding: 10px; }
.msg_validation.error { border: 1px solid #CC0F0F; background: #FADDDD; }
.msg_validation.success { border: 1px solid #0A6F12; background: #E4F1E5; }

.msg_validation header { padding: 10px; }
.msg_validation .close_message { float: right; padding: 0 5px; cursor: pointer; font-weight: 700; font-size: 18px; }
.msg_validation.error header { background: #CC0F0F; color: #fff; }
.msg_validation.success header { background: #0A6F12; color: #fff; }

.input_wrapper { margin-bottom: 1px; }

.input { max-width: 100%; height: 60px; padding: 15px 20px; outline: 0; -webkit-appearance: none; border: 1px solid #ccc; border-radius: 0; background: #fff; color: #4e7fa4; }
.input_xxsm { width: 75px; }
.input_xsm { width: 82.5px; }
.input_sm { width: 120px; }
.input_med { width: 295px; }
.input_lg { width: 320px; }
.input.error { border-color: #CC0F0F; }

.textarea { min-height: 180px; max-width: 100%; padding: 15px 20px; outline: 0; overflow: auto; -webkit-appearance: none; border: 1px solid #ccc; border-radius: 0; background: #fff; color: #4e7fa4; }

.select { max-width: 100%; height: 60px; padding: 15px 20px; outline: 0; border: 1px solid #ccc; border-radius: 0; color: #4e7fa4; }
.select.full { max-width: 100%; }
.select_xxsm { width: 75px; }
.select_xsm { width: 82.5px; }
.select_sm { width: 120px; }
.select_med { width: 295px; }
.select_lg { width: 320px; }

	@media all and (max-width: 600px) {
		.input_med, .input_lg, .select_med, .select_lg {
			min-width: 100%;
		}
	}

.radio_wrapper { padding: 0; }
.radio_wrapper .radio { margin-left: 5px; }
.radio_wrapper .radio_label { padding: 0 5px; }
.radio_wrapper .radio, .radio_wrapper .radio_label { display: inline-block; }

.submit { padding: 20px; cursor: pointer; border-radius: 0; -webkit-appearance: none; border-radius: 0; }
.submit_sm { padding: 13px 20px; font-size: 14px; }

.input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder { color: #999; opacity: 1; }
.input:-moz-placeholder, .textarea:-moz-placeholder { color: #999; opacity: 1; }
.input::-moz-placeholder, .textarea::-moz-placeholder { color: #999; opacity: 1; }
.input:-ms-input-placeholder, .textarea:-ms-input-placeholder { color: #999; opacity: 1; }

.error .input, .error .textarea { color: #900; }
.error .input::-webkit-input-placeholder, .error .textarea::-webkit-input-placeholder { color: #900; opacity: 1; }
.error .input:-moz-placeholder, .error .textarea:-moz-placeholder { color: #900; opacity: 1; }
.error .input::-moz-placeholder, .error .textarea::-moz-placeholder { color: #900; opacity: 1; }
.error .input:-ms-input-placeholder, .error .textarea:-ms-input-placeholder { color: #900; opacity: 1; }

.input:focus::-webkit-input-placeholder, .textarea:focus::-webkit-input-placeholder { color: #fff; opacity: 1; }
.input:focus:-moz-placeholder, .textarea:focus:-moz-placeholder { color: #fff; opacity: 1; }
.input:focus::-moz-placeholder, .textarea:focus::-moz-placeholder { color: #fff; opacity: 1; }
.input:focus:-ms-input-placeholder, .textarea:focus:-ms-input-placeholder { color: #fff; opacity: 1; }

.input:focus, .textarea:focus { background: #4e7fa4; border-color: #4e7fa4; color: #fff; }

.iframe { padding: 20px; }

/*------ clearfix ------*/
.clearfix:after {
    content:"\0020";
    display:block;
    clear:both;
    visibility:hidden;
    line-height:0;
    height:0;
}
.clearfix{display:inline-block;}
html[xmlns] .clearfix, html .clearfix{display:block;}
* html .clearfix{height:1%;}

#wrapper{position:relative; width:100%; height:100%;}
.no-touch #body_wrapper { padding-top: 150px; }
.no-touch .home #body_wrapper { padding-top: 200px; }

/* MAIN HEADER */
#logo { left: 20px; bottom: -21px; width: 109px; height: 146px; background: url('../images/ui/header_logo_sprites.png') -155px 0 no-repeat; }
.home #logo { bottom: 0; }
#star_logo { left: 20px; bottom: 0; display: none; width: 196px; height: 48px; background: url('../images/ui/star_logo.png') 50% 50% no-repeat; z-index: 1; }

#main_header { width: 100%; height: 150px; z-index: 2; -webkit-backface-visibility: hidden; }
.home #main_header { height: 200px; }
.no-touch #main_header { position: absolute; top: 0; left: 0; right: 0; }
.no-touch #main_header.sticky { position: fixed; left: 0; right: 0; }
.no-touch #main_header.autowidth { left: auto; right: auto; }

.no-touch .sticky #nav_wrapper { position: fixed; left: auto; right: auto; top: 0; bottom: auto; z-index: 2; }
.no-touch .autowidth #nav_wrapper { left: auto; right: auto; }

#down_nav { display: none; }

/* BANNER */
#banner { 
	position: absolute; 
	top: 0; 
	left: 0; 
	right: 0; 
	bottom: 0; 
	overflow: hidden; 
	background-position: 50% 0;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
#banner:after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 398px; background: url('../images/ui/gradient_header.png') repeat-x; }

/* SLIDESHOW */
#slideshow_wrapper { position: absolute; top: 0; left: 0; right: 0; bottom: 0; /*overflow: hidden;*/ }
.sticky #slideshow_wrapper { z-index: 1; }
#slideshow { display: none; height: 100%; background: #111; }
.slide { 
	position: relative; 
	display: block; 
	/*height: 400px; */
	height: 200px; 
	background-position: 50% 0;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.slide:after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 398px; background: url('../images/ui/gradient_header.png') repeat-x; }

#slideshow_info_wrapper { position: relative; }
/*#slideshow_info_wrapper { bottom: 50%; pointer-events: none; }*/

.slide_btn { pointer-events: auto; }

#curr_slide_desc { width: 100%; height: 80px; padding: 20px 30px; background: #4e7fa4; /*background: rgba(72, 127, 164, 0.5);*/ pointer-events: auto; text-align: center; }
#curr_slide_desc h2, #curr_slide_desc h3 { margin: 0; text-shadow: 0 0 25px rgba(0, 0, 0, 0.5); }
#curr_slide_desc h2 { font-size: 18px; }
#curr_slide_desc h3 { font-size: 16px; }

#slideshow_padding { height: 80px; visibility: hidden; z-index: -1; }

/*------ navigation ------*/
#main_nav{display:none;}

/* CONTENT */
.content_wrapper { padding-top: 65px; padding-bottom: 65px; }
.content_wrapper > *:first-child, .content_wrapper .ui-tabs-panel > *:first-child { margin-top: 0; } 
.content_wrapper table { max-width: 100%; border-collapse: collapse; }

.home .content_wrapper { padding-top: 40px; padding-bottom: 40px; }
.home .content_wrapper h1:before { content: ""; display: block; width: 25px; height: 32px; margin: 0 auto 5px auto; background: url('../images/ui/stars_sprites.png') 0 0 no-repeat; }

#content-tabs, .tabs { display: none; padding: 0; margin-top: 35px; }
#content-tabs.ui-tabs .ui-tabs-nav li, .tabs.ui-tabs .ui-tabs-nav li { float: none; }
#content-tabs.ui-tabs .ui-tabs-nav li a, .tabs.ui-tabs .ui-tabs-nav li a { display: block; float: none; }
#content-tabs.ui-tabs .ui-tabs-panel { padding-left: 0; padding-right: 0; }

.tabs .ui-tabs-anchor { font-size: 14px; }

/* CONTACT - CONTENT */
#contact_details .item { padding: 0 0 15px 0; }
#contact_details .item_label { display: block; float: left; min-width: 100px; max-width: 25%; }
#contact_details .item_val { display: block; float: left; max-width: 68%; word-break: break-all; }

#contact_items .item_label { width: 100%; max-width: 100%; }
#contact_items .item_val { width: 100%; max-width: 100%; margin-bottom: 10px; }

#contact_hours .openclosed_indicator { font-size: 18px; }
#contact_hours .item_label { min-width: 150px; }
#contact_hours .social_title { margin-bottom: 20px; }

#contact_form_wrapper { padding: 40px 0; }
#contact_form_wrapper h2 { margin-top: 0; }
#contact_form .contact_form_content { padding-bottom: 10px; }
#contact_fields { width: 100%; max-width: 420px; margin: 45px 0 0 0; }
#contact_form .submit { float: right; margin-top: 10px; }

#captcha { position: absolute; top: 1px; right: 1px; bottom: 1px; padding: 16px 10px; background: #FFF; }

/* STAFF - BIO */
#bio_title { margin-left: 5px; }
#bio_img { display: block; max-width: 100%; margin: 0 25px 20px 0; }
#bio .item { padding-bottom: 0; }
#bio .item span { min-width: 30px; padding-right: 10px; }
#bio .item + #bio_content { padding-top: 30px; }
#bio .submit { margin-top: 15px; }

/* NEWSLETTER */
.news { padding: 25px 0; border-top: 1px solid #ccc; }
div .news:first-child { border-top: 0; }
.news header { margin-bottom: 15px; }
.news h2 { margin: 0; }
.news time, #newsletter time { font-size: 14px; }

#newsletter header { margin-bottom: 25px; }
#newsletter header h1 { margin: 0; }
#newsletter .submit { margin-top: 10px; }

#subscribe_form { max-width: 400px; }

/* FACILITIES CONTENT */
#facilities_content > *:first-child, #facilities_content h1 { margin-top: 0; }

#facility_book_btn { margin-top: 30px; }

/* Tabs */
.facility_tabs.ui-tabs { padding: 0; margin-top: 35px; margin-bottom: 15px; }
.facility_tabs.ui-tabs .ui-tabs-panel { padding: 30px 0 0 0; }

.facility_tabs sup { font-size: 12px; }

.facility_tabs table { margin-bottom: 15px; }
.facility_tabs thead { background: #ccc; margin-bottom: 5px; }
.facility_tabs thead th { padding: 5px 5px 5px 0; color: #fff; }
.facility_tabs thead th:first-child { padding-left: 5px; }
.facility_tabs thead + tbody tr:first-child td { padding-top: 5px; }
.facility_tabs .cell_name { display: block; font-weight: 500; }
.facility_tabs .cell_price { display: block; padding-bottom: 10px; font-size: 16px; }

/* Downloads */
.dl_review_tab.ui-tabs .ui-tabs-panel { padding: 0; }
.grey_blocks_table { width: 100%; margin-bottom: 30px; }
.grey_blocks_table thead th { border-bottom: 1px solid #fff; padding: 10px; }
.grey_blocks_table td { border-bottom: 1px solid #fff; padding: 10px; background: #eee; }
.grey_blocks_table tr.even td { background: #ddd; }
.grey_blocks_table td p { padding: 0; }
.grey_blocks_table tr td:first-child, .grey_blocks_table tr th:first-child { padding-left: 25px; }

/* Reviews */
.review_box .rating_bar { margin-bottom: 5px; }
.review_box .rating_bar, .review_box .rating_bar span { display: block; width: 71px; height: 13px; background: url('../images/ui/rate_sprites.png') 0 -88px no-repeat; }
.review_box .rating_bar span { background-position: 0 -101px; }
.review_box .review { display: none; margin-top: 10px; }

/* Sidebar */
#facilities_sidebar .facility_details { display: none; }
.facility_details { margin-top: 15px; margin-bottom: 30px; }
.facility_details .item { margin-bottom: 1px; padding: 15px 20px; line-height: 1.2; }
.facility_details .item p { padding: 0; }
.facility_details .item sup { font-size: 18px; }

/* Calendar */
#bookings_calendar_wrapper { margin-bottom: 10px; }
#bookings_calendar_wrapper header { padding: 0 20px 15px 20px; }
#calendar_nav { height: 35px; margin: auto 0; }
#calendar_nav a { width: 35px; height: 35px; font-size: 24px; line-height: 30px; }
#calendar_nav a.prev { margin-right: 1px; }

#bookings_calendar { margin-bottom: 16px; background: #fff; color: #4E7FA4; font-size: 14px; font-weight: 700; }
#bookings_calendar .c-month-view { display: none; }

#bookings_calendar .c-holder { height: 100%; }
#bookings_calendar .c-grid .c-row { height: 40px; }
#bookings_calendar .c-day { width: 13.9%; margin-right: 0; margin-left: 1px; background: #eee; line-height: 40px; text-align: center; }
#bookings_calendar .c-day.this-day { background: #4E7FA4; color: #fff; }
#bookings_calendar .c-day.other-month { color: #999; }
#bookings_calendar .c-day.confirmed { background: #900; color: #fff; }
#bookings_calendar .c-day.availableevent { background: #52A44E; color: #fff; }

#bookings_calendar .c-day .date-holder { font-size: 14px; }
#bookings_calendar .c-grid .c-row .c-day .date-holder { left: 0; right: 0; }
#bookings_calendar .c-l .date-holder { top: 0; bottom: 0; background: #333; color: #fff; }

#bookings_calendar .c-grid .c-row .c-day .event-n-holder .event-n { display: none; }

#bookings_calendar .c-specific { background: #eee; }
#bookings_calendar .specific-day { padding: 10px 0 0 0; background: #333; color: #fff; }
#bookings_calendar .c-specific .specific-day [i=day] { font-size: 14px; }
#bookings_calendar .c-specific .specific-day small { display: block; margin-top: 10px; padding: 10px; background: #999; color: #fff; font-size: 12px; text-transform: uppercase; }
#bookings_calendar .c-specific .specific-day small:hover { background: #4E7FA4; }
#bookings_calendar .c-specific .s-scheme .s-event h5 { font-size: 18px; color: #4E7FA4; font-weight: 700; }
#bookings_calendar .c-specific .s-scheme .s-event p { color: #333; font-weight: 500; }

#bookings_calendar .s-event { background: transparent; color: #4E7FA4; }
#bookings_calendar .s-event a { padding: 10px; background: #4E7FA4; font-weight: 500; text-transform: uppercase; color: #fff; font-size: 12px; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
#bookings_calendar .s-event a:hover { background: #999; }

#legends_wrapper { /*display: none; */margin: 0 0 10px 0; padding: 0 20px; }
#legends_wrapper .inlineblock { padding: 5px; }
#legends_wrapper .legend_icon { display: inline-block; margin: 0 5px 0 0; width: 20px; height: 20px; vertical-align: middle; }
#legends_wrapper .legend_icon.confirmed { background: #900; }
#legends_wrapper .legend_icon.availableevent { background: #52A44E; }
#legends_wrapper .legend_icon.today { background: #4E7FA4; }

.hide-details .have-events .date-holder { cursor: default; }

#facilities_sidebar .submit { width: 100%; max-width: 320px; }

/* Gallery */
#facility_gallery { padding: 40px 0; }
#facility_gallery header { padding-bottom: 15px; }
#facility_gallery header h3.text_30 { margin: 0; }
#facility_gallery header h3.text_30 span { font-size: 18px; }
#facility_gallery .img_wrapper { display: inline-block; width: 100%; max-width: 320px; border-right: 1px solid transparent; border-bottom: 1px solid transparent; }
#facility_gallery .img_wrapper img { 
	width: 100%; 
	image-rendering:optimizeSpeed;             /* Legal fallback */
	image-rendering:-moz-crisp-edges;          /* Firefox        */
	image-rendering:-o-crisp-edges;            /* Opera          */
	image-rendering:-webkit-optimize-contrast; /* Safari         */
	image-rendering:optimize-contrast;         /* CSS3 Proposed  */
	image-rendering:crisp-edges;               /* CSS4 Proposed  */
	image-rendering:pixelated;                 /* CSS4 Proposed  */
	-ms-interpolation-mode:nearest-neighbor;   /* IE8+           */
}
#facility_gallery .img_wrapper .overlay {
	background: #4e7fa4;
	background: rgba(72, 127, 164, 0.5);
	filter: alpha(opacity=0); 
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";  
	opacity: 0; 
}
#facility_gallery .img_wrapper .zoom { 
	position: relative; 
	margin-top: -10px;
	font-size: 60px; 
	-ms-transform: scale(0.5,0.5); 
    -webkit-transform: scale(0.5,0.5); 
    -moz-transform: scale(0.5,0.5);
    transform: scale(0.5,0.5);
}
#facility_gallery .img_wrapper:hover .overlay, #facility_gallery .img_wrapper:active .overlay {
	filter: alpha(opacity=100); 
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";  
	opacity: 1; 
}
#facility_gallery .img_wrapper:hover .zoom, #facility_gallery .img_wrapper:active .zoom {
	-ms-transform: scale(1,1); 
    -webkit-transform: scale(1,1); 
    -moz-transform: scale(1,1);
    transform: scale(1,1);
}

/* OFFERING */
#offering_form { display: block !important; }
#offering_form .item { width: 100%; margin: 0; border-bottom: 1px solid #fff; }
#offering_form .price { display: block; }
#offering_form .add_to_cart { display: inline-block; }
.qty_wrap { height: 60px; margin-right: 15px; padding: 1px; overflow: hidden; }
.qty_plus, .qty_minus { display: block; width: 30px; height: 29px; margin: 0; text-align: center; line-height: 29px; background: #52a44e; cursor: pointer; color: #fff; }
.qty_plus { margin-bottom: 1px; }
.qty_plus.disabled, .qty_minus.disabled { background: #ccc; color: #eee; cursor: default; }

#location_map { width: 100%; height: 250px; }
#location_map + .submit { margin-top: 1px; }

#event_sponsors { padding: 40px 0; }
#event_sponsors header { margin-bottom: 15px; }
section.bg_lightergrey + #event_sponsors { background: #fff; }

/* BOOKING PAGE */
#booking_form .facility_details { margin-bottom: 25px; }
#booking_form.pr_form #offering_form .price { display: inline-block; min-width: 120px; }

/* FEEDBACK/REVIEW FORM */
#review_form_wrapper { padding: 40px 0; }
#review_form_wrapper h2 { margin-top: 0; }

#review_form .review_form_content { padding-bottom: 10px; }
#review_fields { width: 100%; max-width: 420px; margin: 45px 0 0 0; }
#review_form .submit { float: right; margin-top: 10px; }

#rating_wrapper { margin-bottom: 15px; }
#rating_selector { margin-left: 10px; }
#rating_selector .rate_icon { width: 27px; height: 25px; background: url('../images/ui/rate_sprites.png') 0 0 no-repeat; }
#rating_selector .rate_icon.active { background-position: -28px 0; }

/* WAIT LIST */
form[name="renr_form"] .input_wrapper { margin-bottom: 10px; }
form[name="renr_form"] #captcha { margin-left: 10px; }

/* CART */
#cart_btn { 
	position: fixed; 
	right: 20px; 
	bottom: 20px; 
	width: 70px; 
	height: 70px; 
	border-radius: 70px; 
	background: url('../images/ui/icon_cart.png') 50% 50% no-repeat #4e7fa6; 
	filter: alpha(opacity=85); 
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";  
	opacity: 0.85; 
	z-index: 3;
}
#cart_btn:hover, #cart_btn:active { background-color: #666; }

.cart_table { margin-bottom: 25px; }
.cart_table > tbody > tr { border-top: 1px solid #fff; }
.delete { padding: 5px 9px; }
#totals { padding: 15px 20px; }
#totals table { margin: 0; }

/* REGISTRATION CHECKOUT */
#registration_form .ticket_wrap { display: none; border-bottom: 5px solid #4E7FA4; }
#registration_form .ticket_wrap.first { display: block; }
#registration_form .restrictions { margin-top: 15px; }
#registration_form .comments_wrapper textarea { min-height: 100px; }
#registration_form .attendee_sharing_wrapper { padding-top: 15px; }
form #select_month { width: 170px; }

#registration_form #terms_box { max-height: 240px; }

.checkout_forms .left_label { display: block; margin: 10px 0; padding-right: 10px; }
.checkout_forms .left_label.inlineblock { display: inline-block; margin: 0; }
.checkout_forms .attendee { padding: 20px; border-top: 1px solid #fff; background: #eee; }
.checkout_forms .attendee.even { background: #ddd; }
#registration_footer { margin-top: 25px; padding-top: 25px; border-top: 1px solid #ccc; }
#registration_footer .submit { max-width: 49%; }

.checkout_forms .addons_wrapper h4, .checkout_forms .addons_wrapper h5 { margin-top: 0; }
.checkout_forms .addons_wrapper .sub_addons_wrapper + h5 { padding-top: 20px; }
.checkout_forms .addons_wrapper .qty_fields { width: 130px; }
.checkout_forms .addons_wrapper .addon_price { display: block; font-size: 16px; }

.timepicker.input_med { width: 245px; }
div .timeEntry-control { margin-left: 10px; }

	@media all and (max-width: 600px) {
		.touch .timepicker.input_med { min-width: 0; max-width: 245px; }
	}

.no-touch .timepicker.input_med { width: 295px; }
.no-touch div .timeEntry-control { display: none !important; }

/* CONFIRM */
#totals #ordertotal { border: 0; }
#confirm_registration #registration_footer .submit { max-width: 100%; }

/* ACCOUNTS */
.account_form .left_label { display: block; margin: 10px 0; }
.account_form .submit { margin-top: 10px; }
.account_form fieldset legend { padding-left: 10px; padding-right: 10px; }

/* REGISTER */
form[name="register_form"] .left_label { min-width: 190px; }
form[name="register_form"] #captcha { right: auto; left: 100%; margin-left: 1px; }
form[name="register_form"] .submit { margin-top: 20px; }

.phone_fields .phone_sep { display: none; }
	@media all and (max-width: 767px) {
		.phone_fields .input { max-width: 30%; }
	}

#terms_label { display: block; margin: 20px 0; }
#terms_box { width: 600px; max-width: 100%; max-height: 200px; padding: 15px; border: 1px solid #ccc; overflow: auto; }
#terms_box.full { width: 100%; }
#totals { margin-bottom: 25px; }

/* LOGIN */
form[name="login_form"] { max-width: 100%; margin-bottom: 15px; }
form[name="login_form"] .label_sm { margin-top: 30px; }
#login_section .account_links_wrapper a:first-child { margin-right: 15px; }

/* FORGOT PW */
form[name="forgot_form"] label { padding: 10px 0; }
form[name="forgot_form"] .input { margin: 0 1px 1px 0; }
form[name="forgot_form"] .submit { height: 60px; }

/* RESET PW */
form[name="reset_form"] .left_label { min-width: 200px; }

/* ACCOUNT */
#account_header { padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #ccc; }
#account_header h4 { margin: 0; }

#account_navigation { display: none; padding-right: 15px; }
#account_navigation ul { list-style: none; margin: 0; padding: 0; }
#account_navigation ul li { margin-bottom: 1px; }
#account_navigation ul li a { display: block; padding: 10px; background: #666; color: #fff; }
#account_navigation ul li a:hover, #account_navigation ul li a:active, #account_navigation ul li a.active { background: #4E7FA4; color: #fff; }

/* PROFILE */
.account_form[name="profile_form"] { margin-bottom: 40px; }
.account_form[name="profile_form"] .left_label { min-width: 180px; }
.account_form[name="profile_form"] .select[name="dob_year"] { width: 92px; }

/* CHANGE PASSWORD */
.account_form[name="password_form"] .left_label { min-width: 180px; }

/* PAYMENT FORM */
#payment_form #captcha { right: auto; left: 100%; margin-left: 1px; }
#payment_form #registration_footer .submit { max-width: 100%; }

/* PROMO BOXES */
#promoboxes { padding: 40px 0; }
.promos_wrapper .container_padded { padding: 0 10px; }
.promo { display: inline-block; width: 50%; max-width: 320px; padding: 0 0 10px 0; }
div .promo:nth-child(2n+1) { padding-right: 5px; }
div .promo:nth-child(2n+2) { padding-left: 5px; }
.promo_content_wrapper { -moz-box-shadow: 0px 0px 5px 0px #ccc; -webkit-box-shadow: 0px 0px 5px 0px #ccc; box-shadow: 0px 0px 5px 0px #ccc; overflow: hidden; }
.promo h3 { margin: 0; font-size: 18px; line-height: 1.1; }
.promo h3 a, .promo .promotext { padding: 15px; }
.promo h3 .text_green { font-size: 14px; }
.promo .overlay {
	background: #4e7fa4;
	background: rgba(72, 127, 164, 0.5);
	filter: alpha(opacity=0); 
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";  
	opacity: 0; 
}
.promo .arrow { position: relative; left: -100%; padding-top: 20px; font-size: 30px; }
.promo_content_wrapper:hover .overlay, .promo_content_wrapper:active .overlay {
	filter: alpha(opacity=100); 
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";  
	opacity: 1; 
}
.promo_content_wrapper:hover .arrow, .promo_content_wrapper:active .arrow { left: 0; }

.promos_wrapper .breaker.break_2 { display: block; clear: both; }

/* FEATURED EVENTS */
#featured_programs { padding-bottom: 10px; }
.event_strip { display: block; width: 345px; max-width: 100%; margin: 0 auto 10px auto; background: #fff; -moz-box-shadow: 0px 0px 5px 0px #ccc; -webkit-box-shadow: 0px 0px 5px 0px #ccc; box-shadow: 0px 0px 5px 0px #ccc; }
.event_strip .event_date { width: 80px; height: 100%; text-align: center; font-size: 18px; line-height: 1.1; }
.event_strip .event_date.vh_middle:before { margin-right: 0; }
.event_strip .event_month { font-size: 14px; }

.event_strip .event_text { max-width: 100%; height: 100px; padding: 15px 15px 15px 95px; font-size: 14px; overflow: hidden; }
.event_strip.no_date .event_text { padding-left: 15px; }
.event_strip small { color: inherit; font-size: 11px; }
.event_strip .event_name { font-size: 16px; line-height: 1.2; /*white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; -webkit-text-overflow: ellipsis; -moz-text-overflow: ellipsis;*/ }

.event_strip:hover .event_date , .event_strip:active .event_date { background: #4e7fa4; }
.event_strip:hover .text_green , .event_strip:active .text_green { color: #4e7fa4; }
.event_strip:hover .text_black , .event_strip:active .text_black { color: #666; }

.event_more { height: 80px; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
.event_more .bg_green { width: 100%; }
.event_more .event_month, .event_more .event_month + span { display: inline-block; padding: 0 5px; }
.event_more .fa { font-size: 16px; }

.event_strips_wrapper .breaker.break_1 { display: block; clear: both; }

/* OCCURRENCE */
.occurrence_header { padding: 0 0 20px 0; }

/* UPCOMING EVENTS (occurrences) */
#upcoming_events { margin-bottom: 25px; text-align: center; }

/* EVENTS VIEW NAV */
#events_view { margin-top: 20px; font-size: 0; }
#events_view ul { margin: 0 0 20px 0; padding: 0; list-style: none; }
#events_view ul li { display: inline-block; }
#view_types li { padding: 0 1px 1px 0; }
#view_types li a { display: block; min-width: 180px; max-width: 45%; padding: 10px; background: #666; color: #fff; text-transform: uppercase; font-size: 21px; font-weight: 700; }
#view_types li a.active, #view_types li a:hover, #view_types li a:active { background: #4e7fa4; }
#view_months .fa { font-size: 21px; }

/* CTA */
#cta { padding: 40px 0; }
#cta h4, #cta h5 { margin: 0; text-shadow: 0 0 25px rgba(0, 0, 0, 0.5); }
#cta h4 { font-size: 36px; }
#cta h5 { margin-top: 10px; font-size: 20px; }
#cta .links_wrapper { padding-top: 25px; }
#cta div .submit:first-child { margin-right: 1px; margin-bottom: 1px; }
#cta.facility_cta div .submit { min-width: 170px; }
#cta_img {
	background-position: 50% 0;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

/* FOOTER */
#main_footer > .bg_darkgrey { padding: 10px 0; text-align: center; } 
#footer_logo { margin: 0; }
#footer_logo a { position: relative; padding-left: 29px; font-size: 36px; color: #fff; }
#footer_logo a:before { content: ""; position: absolute; top: 0; left: 0; display: block; width: 24px; height: 31px; background: url('../images/ui/stars_sprites.png') 0 -35px no-repeat; }
#footer_logo span { font-size: 24px; }

#footer_contact .item { display: block; padding: 3px 0; font-size: 16px; }

#footer_text { padding-top: 18px; padding-bottom: 18px; }
#footer_text .half + .half { padding-top: 15px; }
#footer_text .half { display: block; float: none; margin: 0 auto; padding: 0; text-align: center; }
#footer_text .item { display: block; padding: 3px 0; font-size: 12px; }

#footer_cc small { padding-right: 10px !important; }

#footer_social .social-icons { text-align: center; }

/* MAP */
#map_wrapper { position: fixed; bottom: 0; left: 0; right: 0; z-index: -1; }
#map_padding { height: 0; visibility: hidden; z-index: -1; }
#map_wrapper .absolute { pointer-events: none; }
#map_wrapper .submit { pointer-events: auto; }
#map { height: 300px; }

.contact #map { height: 500px; }
.contact #map_padding { height: 500px; }

#toggle_footer_map { 
	filter: alpha(opacity=85); 
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";  
	opacity: .85; 
}
#toggle_footer_map.map_shown { position: fixed; bottom: 0; left: 0; right: 0; width: 180px; margin: 0 auto; z-index: -1; }

/*------ icons ------*/
.social-icons{list-style:none; margin:0;padding:0; text-align:left; font-size:0;}
.social-icons li{display:inline-block; margin:0 0 0 1px; padding:0; border:0; text-align:center;}
.social-icons li a{position:relative; display:block; width:40px; height:40px; line-height:40px; background:#eee; overflow:hidden;}
.social-icons li a span{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	font-size: 21px;
	line-height: 40px;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	-ms-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.social-icons li a span + span{top:100%; color:#fff;}
.social-icons li a:hover span{top: -100%;}
.social-icons li a:hover span + span{top:0;}
.social-icons li a:hover span + span.fa-facebook{background:#3b5998;}
.social-icons li a:hover span + span.fa-google-plus{background:#d94a39;}
.social-icons li a:hover span + span.fa-linkedin{background:#1b92bd;}
.social-icons li a:hover span + span.fa-pinterest{background:#cb2027;}
.social-icons li a:hover span + span.fa-twitter{background:#00bdec;}
.social-icons li a:hover span + span.fa-youtube{background:#d20800;}
.social-icons li a:hover span + span.fa-instagram{background:#316c95;}
.social-icons li a:hover span + span.fa-houzz{background:#7cc04b;}
.social-icons li a:active span {
	-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3) inset;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3) inset;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3) inset;
}


/* ICONS */
.icon_sprites { background: url('../images/ui/icons_sprites.png') no-repeat 0 0; }

#calendar_menu { width: 23px; height: 21px; margin: auto; padding: 5px 20px; }
#calendar_menu:hover { background-position: 0 -30px; }

/* ICONS - CREDIT CARDS */
.card { width: 23px; height: 17px; margin: 0 3px; background: url('../images/ui/card_sprites.png') } 
.card.mc { background-position: 0 0; } 
.card.visa { background-position: -24px 0; } 
.card.amex { background-position: -48px 0; } 
.card.discover { background-position: -70px 0; } 

/* PRETTYPHOTO */
/*.ppt { display: none !important; }*/

/* SHARETHIS */
#event_share * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

/* DATEPICKER */
.ui-datepicker { z-index: 2 !important; -moz-box-shadow: 0px 0px 5px 0px rgba(12,12,12,.25); -webkit-box-shadow: 0px 0px 5px 0px rgba(12,12,12,.25); box-shadow: 0px 0px 5px 0px rgba(12,12,12,.25); }
.datepicker_icon { display: inline-block; width: 40px; height: 40px; margin-left: -50px; background: url('../images/ui/icon_cal_blue.png') 50% 50% no-repeat; cursor: pointer; }
input:focus + .datepicker_icon { background: url('../images/ui/icon_cal.png') 50% 50% no-repeat; }

/* TOOLTIP */
body .ui-tooltip { background: #111; background: rgba(0,0,0,0.8); border: 0; box-shadow: none; color: #fff; }
.tooltip_icon { display: inline-block; width: 16px; height: 16px; margin-left: 5px; vertical-align: middle; background: url('../images/ui/tooltip_icon.png') center center no-repeat; cursor: pointer; }