@charset "utf-8";
/* CSS Document */

html, body {
    height: 100%;
    width: 100%;
}

body {
    text-align: center;
    margin: 0;
    padding: 0;

    overflow: hidden;

    background: #d8d8d8;

    -webkit-font-smoothing: antialiased;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
}

body.images_loaded {
    background: #d8d8d8 url(../images/background.jpg) repeat-y center center fixed;
}

body, a {
    color: #333;
    font-size: 10pt;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 20px;
}

a img {
    border: none;
}

a {
    text-decoration: none;
    -webkit-transition: background-image 300ms ease-in-out, color 300ms ease;
    -moz-transition:    background-image 300ms ease-in-out, color 300ms ease;
    -ms-transition:     background-image 300ms ease-in-out, color 300ms ease;
    -o-transition:      background-image 300ms ease-in-out, color 300ms ease;
    transition:         background-image 300ms ease-in-out, color 300ms ease;
}

a:hover {
    color: #111;
}

ul {
    list-style: none;
}

p {
    margin: 19px 0 18px 0;
}

.clear {
    clear: both;
    height: 1px;
    line-height: 1px;
}

.anchor {
    height: 1px;
    line-height: 1px;
}

#header, #footer {
    position: absolute;
    display: block;
    width: 1028px;
    left: 50%;
    margin-left: -514px;

    text-align: center;
    z-index: 1000;

    background: no-repeat center -30px;
}

.images_loaded #header, .images_loaded #footer {
    background-image: url("../images/header_footer_bk.png");
}

#header.initial, #footer.initial {
    opacity: 0.0;
}

#header.initial {
    top: -120px;
}
/*
#header, #footer {
    opacity: 1.0;
    -webkit-transform:  translateY(0);
    -moz-transform:     translateY(0);
    -ms-transform:      translateY(0);
    -o-transform:       translateY(0);
    transform:          translateY(0);
}
*/

#header {
    height: 100px;
    top: 0;
}

ul#header-menu, ul#main-menu {
    display: inline-block;
    margin: 0;
    padding: 0;
    /*padding-left: 15px;*/
}

#header-menu li, #main-menu li {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
}

#header-menu a {
    display: block;
    padding: 0 30px;

    font-size: 2.3em;
    font-weight: 300;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 75px;
}

.wf-active #header-menu a, .wf-active ul#main-menu a, .wf-active .dialog h3 {
    font-family: 'Open Sans', sans-serif;
}

#header-menu a:hover, #header-menu a.selected {
    color: #333333;
}

#footer {
    height: 30px;
    bottom: 0;

    background-position: center top;
}

#footer.initial {
    bottom: -30px;
    /*
    -webkit-transform:  translateY(30px);
    -moz-transform:     translateY(30px);
    -ms-transform:      translateY(30px);
    -o-transform:       translateY(30px);
    transform:          translateY(30px);
    */
}

#index.initial {
    /*left: -50%;*/
    opacity: 0.0;
}

#index-container {
    position: absolute;
    width: 1028px;
    height: 595px;

    top: 50%;
    left: 50%;
    margin-left: -514px;
    margin-top: -287px;
}

#logo {
    display: block;
    height: 285px;
}

.images_loaded #logo {
    background: url("../images/logo.png") no-repeat center center;
}

#menu-container {
    height: 230px;
    margin-top: 20px;

    text-align: center;
}

ul#main-menu a {
    display: table-cell;
    width: 228px;
    height: 228px;
    vertical-align: middle;

    padding: 0 10px;

    font-size: 1.5em;
    line-height: 30px;
    text-transform: uppercase;
    text-align: center;
    color: #333333;
}

.images_loaded ul#main-menu a {
    background: url("../images/menu_button.png") no-repeat center center;
}

ul#main-menu a:hover, ul#main-menu a.selected {
    color: #ffffff;
}

#main-menu a.button01:hover, ul#main-menu a.button01.selected {
    background-image: url("../images/menu_button_hover01.png");
}
#main-menu a.button02:hover, ul#main-menu a.button02.selected {
    background-image: url("../images/menu_button_hover02.png");
}
#main-menu a.button03:hover, ul#main-menu a.button03.selected {
    background-image: url("../images/menu_button_hover03.png");
}
#main-menu a.button04:hover, ul#main-menu a.button04.selected {
    background-image: url("../images/menu_button_hover04.png");
}

/*
ul#main-menu a.button04 {
    padding-top: 10px;
    font-size: 1.35em;
    line-height: 1.35em;
}
*/

.short-dash {
    display: block;
    line-height: 20px;
    height: 20px;
}

/* page content */

#content {
    overflow-x: hidden;
    overflow-y: hidden;
    height: 100%;
}

#pages-container {
    /*position: relative;*/
    /*top: 0;*/
    /*left: 0;*/
    /*bottom: 0;*/
    /*right: 0;*/
    /*float: left;*/
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
    /*white-space: nowrap;*/
}

.page-container {
    position: absolute;
    /*top: 0;*/
    /*left: 0;*/
    width: 1440px;
    height: 720px;

    z-index: 1;

    font-size: 1.1em;
    text-align: left;

    overflow: hidden;
}

.page-container.initial {
    /* hide the page */
    left: 100%;
    opacity: 0.0;
    display: none;
}

.page-container#index {
    opacity: 0.0;
    /*padding-top: 100px;*/
}

.page-background {
    position: absolute;
    /*height: 100%;*/
    /*width: 100%;*/
    top: 0;
    bottom: 0;
    right: 0;
    /*float: left;*/

    margin-left: 50%;
    left: -405px;
    padding-left: 25px;

    background: url("../images/page_content_bk.png") repeat-y left top;

    /*
    -webkit-box-shadow: -7px 0px 14px 0px rgba(95, 95, 95, 0.65);
    -moz-box-shadow:    -7px 0px 14px 0px rgba(95, 95, 95, 0.65);
    box-shadow:         -7px 0px 14px 0px rgba(95, 95, 95, 0.65);
    */
}

.page-content {
    position: absolute;
    width: 630px;
    bottom: 23px;
    top: 210px;

    margin-left: 200px;
    padding-bottom: 20px;
    padding-right: 20px;

    text-align: left;
    overflow: visible;
    overflow-y: auto;
}

.page-content p {
    margin-top: 0;
}

.page-content a:hover {
    text-decoration: underline;
}

.index-content {
    position: absolute;
    /*height: 595px;*/
    width: 100%;
    top: 50%;
    bottom: 20px;
    margin-top: -298px;
    padding-top: 50px;

    overflow-y: auto;
}

.page-back-button {
    margin-top: 100px;
    padding-left: 40px;
}

.page-back-button a {
    display: block;
    width: 600px;
    height: 40px;

    margin-bottom: 10px;

    background: url("../images/page_back_btn.png") no-repeat left center;
}

.page-title {

    padding-left: 200px;
    margin-bottom: 20px;

    font-family: Tahoma, Geneva, sans-serif;
    font-size: 2.2em;
    font-weight: bold;
    text-transform: uppercase;

    line-height: 1.7em;

    color: #ed1c24;
}

/* formatting */

ul.red-triangle {
    padding: 0;
    list-style: none;
    font-size: 1.15em;
}
ul.red-triangle h4 {
    margin-bottom: 15px;
    font-weight: bold;
    color: #ed1c24;
}

ul.red-triangle li {
    margin: 0;
    padding-left: 25px;
    /* reset styles (optional): */
    background: url(../images/red_triangle_shape.png) no-repeat 2px 4px;
    list-style: none;
    line-height: 24px;
}

ul.red-triangle ul {
    margin: 0;
    padding: 0;
}

ul.red-triangle ul li {
    list-style: none;
    background: none;
    padding: 0;
    font-size: 0.9em;
    line-height: 20px;
}

ul.red-triangle ul li:before {
    padding-right: 6px;
    color: #ed1c24;
    content: "-";
}

ul.all-caps {
    text-transform: uppercase;
}

ul.all-caps li {
    margin-bottom: 15px;
}

p.additional-info {
    margin: 0;
    margin-top: 25px;
    padding-left: 25px;
    font-size: 0.9em;
    line-height: 14px;
}

#map-container {
    position: relative !important;
    display: block;
    overflow-y: hidden;
    overflow-x: hidden;
    top: 217px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;

    border-top: solid 1px #afafaf;
    /*border-left: solid 1px #afafaf;*/
    background: url("../images/map.jpg") no-repeat left top;
}

a.red {
    color: #ed1c24;
}

a.red:hover {
    text-decoration: underline;
}

a.bold {
    font-weight: bold;
    text-transform: uppercase;
}

a.bold:hover {
    color: #000000;
    text-decoration: underline;
}

.dialog-backdrop {
    position: absolute;
    top: 0; left: 0;
    right: 0; bottom: 0;
    z-index: 2000;

    /*background: #d8d8d8;*/
    background: #000000;

    opacity: 0.7;
}

.dialog-background {
    background            : url(../images/page_content_bk.png) no-repeat bottom right;
    -webkit-border-radius : 10px;
    -moz-border-radius    : 10px;
    border-radius         : 10px;
    -webkit-box-shadow    : 0 0 15px 3px #333333;
    box-shadow            : 0 0 15px 3px #333333;
    overflow              : hidden;
}

.dialog {
    position: absolute;
    width: 595px;
    height: 600px;
    left: 50%; top: 110%;
    margin: -300px 0 0 -300px;
    z-index: 2100;

    transform: translate3d(0,0,0);
}

.dialog h3 {
    height: 40px;
    margin: 0;
    padding: 5px;

    border-bottom: solid 2px #ffffff;

    font-size: 2em;
    font-weight: 300;
    font-family: Arial, Helvetica, sans-serif;
    color: #ffffff;
    text-transform: uppercase;
    line-height: 1.5em;
    background: #ED1C24;
}

.dialog-close {
    position: absolute;
    display: block;
    top: -12px;
    right: -12px;
    height: 30px; width: 30px;
    
    opacity: .5;
    
    background: url("../images/dialog_close.png") no-repeat center top;
}

.dialog-close:hover {
    background-position: center -30px;
    opacity: 1.0;
}

label {
    display: block;
    margin-top: 15px;
    line-height: 20px;
    height: 20px;
}

.frmInp {
    display: block;
    width: 99%;

    padding: 2px;
    font-size: 1em;

    border:solid 1px #bbbbbb;
}

textarea.frmInp {
    height: 150px;
}

.frmInp.error {
    border-color: #111111;
    background: #EDA7AB;
}

.dialog #frmSubmit {
    width: 100%;
    height: 30px;
    margin: 15px 0 0;
    font-size: 1.2em;

    background: #ED1C24;
    border-radius: 5px;
    border: solid 1px #bbbbbb;
    color: #FFF;
    text-transform: uppercase;
}

.dialog #frmSubmit:hover {
    border-color: #000000;
}

.dialog #frmSubmit:active {
    border-color: #ffffff;
    background: #6a101b;
}

.dialog-content {
    padding: 0 15px 15px;

    text-align: left;
    font-size: 1.05em;
    line-height: 1.05em;
}

.dialog-backdrop, .dialog {
    display: none;
}

.notification {
    display: none;
    position: absolute;
    top: 50%; left: 50%;
    height: 30px;
    width: 400px;
    margin-top: -25px;
    margin-left: -200px;
    padding: 10px 0;
    z-index: 2200;
    border-radius: 10px;

    -webkit-box-shadow: 0 0 10px 3px #333333;
    box-shadow: 0 0 10px 3px #333333;

    background: #dfdfdf;

    font-size: 1.1em;
    line-height: 30px;
}

.blurred {
    -webkit-filter: blur(20px);
    -moz-filter: blur(20px);
    -o-filter: blur(20px);
    -ms-filter: blur(20px);
    filter: blur(20px);
}

/* gallery */

#gallery {
    transform: translate3d(0, 0, 0);
}

.gallery-cat {
    width: 292px;
    float: left;
    margin-top: 30px;
}

.cat-title {
    font-size: 1.2em;
    line-height: 1.1em;
    padding-left: 3px;
    height: 58px;
    vertical-align: bottom;
    display: table-cell;
    padding-bottom: 3px;
}

.gallery-item {
    display: inline-block;
    /*width: 131px;
    float: left;*/
    margin: 4px;
    padding: 0;

    border: solid 1px #808080;
}

.gallery-item img {
    float: left;
    border: solid 1px transparent;
    /* IE 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    /* IE 5-7 */
    filter: alpha(opacity=70);
    /* Netscape */
    -moz-opacity: 0.7;
    /* Safari 1.x */
    -khtml-opacity: 0.7;
    opacity: .7;
}

.gallery-item:hover img {
    /* IE 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    /* IE 5-7 */
    filter: alpha(opacity=100);
    /* Netscape */
    -moz-opacity: 1;
    /* Safari 1.x */
    -khtml-opacity: 1;
    opacity: 1;
}

.gallery-item:hover {
    border-color: #333333;
}
.gallery-cat.even {
    float: right;
}

#gallery_dialog {
    display: none;

    top: 50%;
    opacity: 1;
    width: 170px;
    height: 130px;
    margin-top: -65px;
    margin-left: -80px;

    /*border-radius: 8px;*/
    background: #ffffff;

    -webkit-box-shadow: 0px 0px 14px 5px rgba(0, 0, 0, .5);
    -moz-box-shadow:    0px 0px 14px 5px rgba(0, 0, 0, .5);
    box-shadow:         0px 0px 14px 5px rgba(0, 0, 0, .5);

    /*overflow: hidden;*/
    border: solid 1px #FFFFFF;
}

#gallery_dialog .dialog-close {
    top: -16px;
    right: -16px;
}

#loading-img {
    top: 50%;
    left: 50%;
    position: absolute;
    margin-top: -24px;
    margin-left: -24px;
}

div#photo {
    background: no-repeat center center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

/* disable selection */

#header, #footer, #index {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.schedule {
    /*display: none;*/
}

.schedule h3 {
    font-size: 1.08em;
    margin-bottom: .2em;
    border-bottom: solid 1px #b6b6b6;
    padding-left: 5px;
    margin-top: 16px;
}

.tab-bar {
    position: absolute;
    top: 135px;
    left: 0;
    right: 0;
    bottom: 2px;
    z-index : 100;
}

.tabs-content {
    position : absolute;
    top: 32px;
    left : 0; right : 0;
    bottom: 0;
    overflow-y: auto;
    /*padding-bottom: 20px;*/
    overflow-x: hidden;
}

.tab-bar ul.tabs {
    position: absolute;
    display: table;
    margin: 0;
    padding: 0;
    width: 100%;

    box-shadow         : 0 5px 6px -5px rgba(0, 0, 0, .5);
    -moz-box-shadow    : 0 5px 6px -5px rgba(0, 0, 0, .5);
    -webkit-box-shadow : 0 5px 6px -5px rgba(0, 0, 0, .5);
    z-index : 200;
}

.tabs li {
    display: inline-block;
    display: table-cell;
}

.tabs li a {
    display: block;
    padding: 5px;
    font-size: 1.5em;
    /*font-weight: bold;*/
    text-align: center;
    border: solid 1px transparent;
    border-bottom-color: #939393;
    border-radius: 10px 10px 0 0;
    /*text-shadow: 0px 1px #ffffff;*/

    font-family: 'Open Sans', sans-serif;

    -webkit-transition: all 300ms ease-in-out, color 300ms ease;
    -moz-transition:    all 300ms ease-in-out, color 300ms ease;
    -ms-transition:     all 300ms ease-in-out, color 300ms ease;
    -o-transition:      all 300ms ease-in-out, color 300ms ease;
    transition:         all 300ms ease-in-out, color 300ms ease;
}

.tabs li a:hover {
    text-decoration: none;
}

.tabs li a:hover {
    border-top-color: #b6b6b6;
    border-left-color: #b6b6b6;
    border-right-color: #b6b6b6;
    background: #cecece;
}

.tabs li a.tab-active:hover {
    background: #ed1c24;
    color: #ffffff;
    border-color: #ed1c24;
}

.tabs .tab-active {
    background: #ed1c24;
    color: #ffffff;
    /*text-shadow: 0px 1px #000000;*/

    border-color: #ed1c24;
}

tr.odd td {
    /*background-color: rgba(255, 255, 255, 0.7);*/
    background-color: #f2f2f2;
}

.tab-content {
    padding: 0 5px;
}

.tab-content table tr:hover td {
    /*background-color: #2ab3dc;*/
    background-color: #ed1c24;
    color: #ffffff;
}

.tab-content table tr:hover a, .tab-content table tr:hover a:hover, .tab-content table tr a:hover {
    color: #ffffff;

    -webkit-transition: none;
    -moz-transition:    none;
    -ms-transition:     none;
    -o-transition:      none;
    transition:         none;
}

.tab-content table tr.month-header:hover td, .tab-content table tr.no-hover:hover td {
    background-color: inherit;
    color: inherit;
}

.tab-content tr td:first-child {
    padding-left: 5px;
}

.tab-content tr.month-header td {
    padding: 0;
}

.tab-content td a {
    display: block;
}

.schedule-additional-info {
    font-size   : 0.85em;
    line-height : 15px;
    margin      : 0 0 10px;
}

.schedule-additional-info a {
    text-decoration : underline;
    line-height: 14px;
}

.stars {
    display: inline-block;
    width: 14px;
    text-align: right;
}

#schedule_dialog .title {
    padding-left: 15px;
    text-align: left;
    font-size : 1.3em;
    line-height: 40px;
    font-weight: 600;
}

#schedule_dialog {
    height: inherit;
    max-height : 80%;
}

#schedule_dialog .dialog-content {
    position: relative;
    min-height: 60px;
    padding-top: 12px;
    font-size: 1.1em;
    line-height: 1.1rem;
    text-align: justify;
}

.dialog ul {
    margin-left:0;
    padding-left: 15px;
}

.dialog ul li:before{ content:"-"; position:relative; left:-5px;}
.dialog ul li{ text-indent:-5px; }

.underline {
    text-decoration : underline;
}
.event-list ul {
    margin-top: 0;
    padding-top: 0;
}

/* social buttons */

#social {
    position: absolute;
    top: 50%;
    display: inline-block;
    margin-top: -22px;
    right: 30px;
    height: 20px;
    float: right;
}

.social {
    text-align: right;
    /* clear: right; */
    /*    position: absolute;*/
    right: 0;
    bottom: 8px;
    clear : both;
}
.social-button {
    height: 20px;
    width: 59px;
    display: inline-block;
    -webkit-border-radius :3px; -moz-border-radius :3px; border-radius :3px;
    overflow: hidden;
    text-decoration: none !important;
    cursor: pointer;
    zoom: 1;

    -webkit-font-smoothing: antialiased;
    -webkit-user-select: none;
    white-space: nowrap;
}
.social-button i {
    position: relative;
    top: 3px;
    display: inline-block;
    width: 14px;
    height: 14px;
    float: left;
    margin-left: 4px;
    background: rgba(0, 0, 0, 0) 0 0 no-repeat;
}

.social-button .label {
    color: #ffffff;
    font-size: 11px;
    font-family: Helvetica, Arial, sans-serif;
    line-height: 22px;
    font-weight: bold;

    float: right;
    margin-right: 3px;
}

.fb-button:hover, .fb-button:visited, .fb-button:active {
    color: #ffffff !important;
}
.fb-button img {
    padding: 3px;
    padding-left: 4px;
    float: left;
}

.fb-button, .fb-share-button, .tweet-button, .g-plus-button, .linkedin-button {
    border: solid 1px transparent;
    height: 18px;
    width: 57px;
    /*    -webkit-box-sizing : border-box; -moz-box-sizing : border-box; box-sizing : border-box;*/
}

.fb-button:hover {
    background: #365899;
    border: 1px solid #365899;
}

.linkedin-button {
    background-color: #0077b5;
}

.tweet-button {
    background: #1b95e0;
}

.fb-share-button, .fb-button {
    background: #4267b2;
}

.g-plus-button {
    background: #ffffff;
    border: 1px solid #d5d5d5;
}

.tweet-button:hover, .tweet-button:active {
    background: #0c7abf;
}

.g-plus-button:hover, .g-plus-button:active {
    border: 1px solid #aaa;
}

.linkedin-button:hover, .linkedin-button:active {
    border-color     : #0369a0;
    background-color : #0369a0;
}

.tweet-button i {
    top: 1px;
    width: 16px;
    height: 16px;
    margin-left: 3px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h72v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23fff%22%20d%3D%22M68.812%2015.14c-2.348%201.04-4.87%201.744-7.52%202.06%202.704-1.62%204.78-4.186%205.757-7.243-2.53%201.5-5.33%202.592-8.314%203.176C56.35%2010.59%2052.948%209%2049.182%209c-7.23%200-13.092%205.86-13.092%2013.093%200%201.026.118%202.02.338%202.98C25.543%2024.527%2015.9%2019.318%209.44%2011.396c-1.125%201.936-1.77%204.184-1.77%206.58%200%204.543%202.312%208.552%205.824%2010.9-2.146-.07-4.165-.658-5.93-1.64-.002.056-.002.11-.002.163%200%206.345%204.513%2011.638%2010.504%2012.84-1.1.298-2.256.457-3.45.457-.845%200-1.666-.078-2.464-.23%201.667%205.2%206.5%208.985%2012.23%209.09-4.482%203.51-10.13%205.605-16.26%205.605-1.055%200-2.096-.06-3.122-.184%205.794%203.717%2012.676%205.882%2020.067%205.882%2024.083%200%2037.25-19.95%2037.25-37.25%200-.565-.013-1.133-.038-1.693%202.558-1.847%204.778-4.15%206.532-6.774z%22%2F%3E%3C%2Fsvg%3E");
}

.g-plus-button .label {
    color: #262626;
}

.fb-button i {
    background-image: url("../images/fb-share.png");
}

.g-plus-button i {
    background-image: url("../images/g_plush_share.png");
    top: 1px;
    height: 16px;
    width: 16px;
}

.linkedin-button .label {
    height      : 18px;
    margin-top: 2px;
    line-height: 20px;
    text-shadow : 0 -1px #005887;
}

.linkedin-button i {
    background-image: url("../images/linkedin_share.png");
    margin: 0;
    padding: 0;
    top: -1px;
    left: -1px;
    width: 21px;
    height: 20px;
    background-position: center center;
    overflow: hidden;
    border-right: 1px solid #066094;
}

.social .social-button {
    width: 22px;
}
.social .fb-button, .social .tweet-button, .social .g-plus-button, .social .linkedin-button {
    width: 20px;
}

.social .tweet-button i, .social .g-plus-button i {
    margin-left: 2px;
}