h1, h2, h3, h4, h5, h6{
    font-family: FiraSans;
}

h1.title,
h2.title,
h3.title,
h4.title,
h5.title,
h6.title{
    text-transform: uppercase;
    color: #444;
    font-weight: 700;
}

h1.title_c,
h2.title_c,
h3.title_c,
h4.title_c,
h5.title_c,
h6.title_c{
    text-align: center;
    letter-spacing: 0.85px;
    font-weight: 600;
    font-family: OpenSans;
}

.auth-forms {
    margin: 3em auto;
}

.auth-form form{
    width: 100%;
    max-width: 330px;
    padding: 15px;
    margin: auto;
}

.auth-form{
    display: none;
}

.auth-form-active{
    display: block;
}

.toggle-auth-form {
    cursor: pointer;
}

.footer {
    background-image: url('../image/pattern.png');
}

.navbar-brand-logo {
    height: 8em !important;
    object-position: left;
}

.intermission_section {
    /* margin: 2.5em auto; */
}
.intermission_section_text {
    margin: 0 auto;
    padding: 2em;
    max-width: 40em;
    text-align: justify;
    font-size: 1.05em;
}
@media (max-width: 768px) {
    .intermission_section_text {
        font-size: 0.85em;
    }
}

.floating_diamonds_wrap{
    position: absolute;
    z-index: -1;
    overflow: hidden;
    width: 100%;
}

.floating_diamonds{
    position: absolute;
    width: 100%;
    height: 100%;
}

html, body.fh, body.fh .main_wrapper, body.fh .main_panel{
    height: 100%;
}
.custom-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.custom-checkbox label.custom-control-label {
    background-image: none;
}

.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Opera and Firefox */
}

button:focus{
    outline: none;
}

.main_panel {
    min-height: 100vh;
    flex-grow: 1;
    width: 100%;
}

.DimScreenWrap {
    position: fixed;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.75);
    display: flex;
    justify-content: center;
    align-items: center;
}

.EditableFieldInput {
	margin: 0;
}
.EditableField {
	cursor: pointer;
	background: #0000001a;
	border: 1px solid #0003;
	padding: 0 1em;
	width: 100%;
	border-radius: 6px;
    min-height: 1.25em;
}


.image_gallery_dialog_sides {
    display: flex;
}

.image_gallery_dialog_right {
    flex-grow: 1;
}
.image_gallery_dialog_left,
.image_gallery_dialog_right {
    padding: 0.25em;
}
.image_gallery_dialog_months {
    border: 3px double #aaa;
    padding: 0.5em;
    width: 18em;
}
.image_gallery_dialog_months .image_gallery_dialog_month_wrap {
    margin-bottom: 0.5em;
}
.image_gallery_dialog_months .image_gallery_dialog_month_wrap:last-child {
    margin-bottom: 0;
}
.image_gallery_dialog_month {
    padding: 0.5em;
    border: 1px solid #888;
    box-shadow: 1px 1px 2px #555;
    background: #fff;
    cursor: pointer;
}
.image_gallery_dialog_images_wrap {
    border: 3px double #aaa;
    max-height: 30em;
    overflow: auto;
}
.image_gallery_dialog_images{
    padding: 0.5em;
}
.image_gallery_dialog_images_title_wrap {
    border-bottom: 1px solid #888;
}
.image_gallery_dialog_month_selected {
    background: #00ff83;
    color: #1d5e29;
}
.image_gallery_dialog_images_title {
    background: #1a1a1a;
    color: #fff;
    text-shadow: 1px 1px 1px #333;
    padding: 0 0.5em;
    font-size: 1.15em;
}
.image_gallery_dialog_image {
    display: inline-block;
    padding: 0.5em;
}
.image_gallery_dialog_img_wrap {
    width: 8em;
    height: 8em;
    padding: 0.5em;
    border: 1px solid #aaa;
    position: relative;
}
.image_gallery_dialog_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.image_gallery_dialog_image_pick_btn_wrap {
    margin-top: 0.25em;
}
.image_gallery_dialog_image_pick_btn {
    padding: 0.25em 0.5em;
    width: 100%;
}
.image_gallery_dialog_image_pick_btn:hover{
    background: #eee;
}

.image_gallery_dialog_wrap {
    width: 75em;
}


.Checkbox:checked + label::before, .Radiobox:checked + label::before,
.Checkbox:checked + span::before, .Radiobox:checked + span::before,
.Checkbox.checked + label::before, .Radiobox.checked + label::before,
.Checkbox.checked + span::before, .Radiobox.checked + span::before {
    background: #28b779;
    color: #ffffff;
}


#ConfirmationScreen{
    display: table;
    background: rgba(0,0,0,0.65);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
}

#ConfirmationMsgWrap{
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    text-align: center;
    padding: 0.5em;
}

#ConfirmationMsg{
    max-width: 32em;
    padding: 1.5em;
    margin: 0 auto;
    background: #f9f9f9;
    border-radius: 6px;
    box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.58);
}
#ConfirmationMsgTitle{
    font-size: 1.5em;
    margin-bottom: 0.5em;
}
#ConfirmationMsgText{
    font-size: 1.05em;
    margin-bottom: 1.25em;
}

.ConfirmationMsgBtn{
    font-size: 1em;
    display: inline-table;
    margin: 0 0.5em;
    width: 5.5em;
    padding: 0.25em 1em;
    color: #fff;
    border-radius: 4px;
    cursor: pointer;
	border: 1px solid #777;
    border: 1px solid #00000044;
}

.ConfirmationMsgBtn.no{
    background: #fff;
    color: #555;
}
.ConfirmationMsgBtn.yes{
    background: #28b779;
}

.GenericCommentWrap{
    padding: 0.5em 0;
    width: 100%;
    position: relative;
}


.generic_editor_inputwrap {
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #ccc;
}
.generic_editor_inputwrap:last-child {
    border-bottom: 0;
    margin-bottom: 0;
}
.generic_editor_label {
    font-weight: 600;
    color: #666;
}

.page_node_editor {
    border: 3px double #0000004d;
    background: #fff;
    margin-bottom: 1em;
    display: flex;
}
.page_node_editor_right {
    flex-grow: 1;
}
.generic_editor_handle,
.page_node_editor_handle {
    cursor: move;
    padding: 0.5em;
    height: 100%;
    display: flex;
    align-items: center;
    background: #bbbbbb;
    font-size: 1.75em;
}
.generic_editor_handle_wrap,
.page_node_editor_handle_wrap {
    height: 100%;
    border: 1px solid #666;
}
.html_content_editor_save_btn_wrap {
    padding: 0.25em;
}
.html_content_editor_save_btn {
    margin: 0;
    width: 100%;
}
.document_collection_editor_docs {
    list-style: none;
}
.doc_editor_sides {
    display: flex;
    align-items: center;
}
.doc_editor {
    margin: 0.5em;
    border: 1px solid #aaa;
    position: relative;
}
.doc_editor_outer_sides {
    display: flex;
}
.doc_editor_handle {
    cursor: move;
    padding: 0.5em;
    height: 100%;
    display: flex;
    align-items: center;
    background: #bbbbbb;
    font-size: 1.25em;
}
.doc_editor_handle_wrap {
    height: 100%;
}
.doc_editor_outer_right {
    flex-grow: 1;
    padding: 0 1em;
}
.document_collection_editor_title {
    margin: 0;
}
.document_collection_editor_title_wrap {
    padding: 0.5em;
}

.image_collection_editor_title_wrap {
    padding: 0.5em;
}
.image_collection_editor_display_type_wrap {
    padding: 0.5em;
}
.image_collection_editor_title {
    margin: 0;
}
.image_collection_editor_images {
    padding: 1em;
}
.image_collection_editor_image {
    display: inline-block;
    width: 8em;
    height: 8em;
    padding: 0.5em;
    margin: 0.25em;
    border: 1px solid #aaa;
    position: relative;
}

.generic_exclude_btn{
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    right: 0;
    top: 0;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #666;
    cursor: pointer;
    border: 1px solid #444;
    font-size: 1.05em;
    text-shadow: 1px 1px 1px #000;
    box-shadow: 1px 1px 1px #000;
    transition: 0.25s;
    opacity: 0;
}
.image_collection_editor_image:hover
.image_collection_editor_image_exclude_btn,
.doc_editor:hover
.doc_exclude_btn{
    opacity: 1;
}

.image_collection_editor_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image_upload_outer_wrap,
.document_upload_outer_wrap{
    padding: 0.25em;
}

.image_upload_wrap,
.document_upload_wrap{
    margin: 0;
    width: 100%;
}
.image_upload,
.document_upload{
    display: none;
}

.image_gallery_dialog_sides {
    display: flex;
}

.image_gallery_dialog_right {
    flex-grow: 1;
}
.image_gallery_dialog_left,
.image_gallery_dialog_right {
    padding: 0.25em;
}
.image_gallery_dialog_months {
    border: 3px double #aaa;
    padding: 0.5em;
    width: 18em;
}
.image_gallery_dialog_months .image_gallery_dialog_month_wrap {
    margin-bottom: 0.5em;
}
.image_gallery_dialog_months .image_gallery_dialog_month_wrap:last-child {
    margin-bottom: 0;
}
.image_gallery_dialog_month {
    padding: 0.5em;
    border: 1px solid #888;
    box-shadow: 1px 1px 2px #555;
    background: #fff;
    cursor: pointer;
}
.image_gallery_dialog_images_wrap {
    border: 3px double #aaa;
    max-height: 30em;
    overflow: auto;
}
.image_gallery_dialog_images{
    padding: 0.5em;
}
.image_gallery_dialog_images_title_wrap {
    border-bottom: 1px solid #888;
}
.image_gallery_dialog_month_selected {
    background: #00ff83;
    color: #1d5e29;
}
.image_gallery_dialog_images_title {
    background: #aaa;
    color: #fff;
    text-shadow: 1px 1px 1px #333;
    padding: 0 0.5em;
    font-size: 1.15em;
}
.image_gallery_dialog_image {
    display: inline-block;
    padding: 0.5em;
}
.image_gallery_dialog_img_wrap {
    width: 8em;
    height: 8em;
    padding: 0.5em;
    border: 1px solid #aaa;
    position: relative;
}
.image_gallery_dialog_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.image_gallery_dialog_image_pick_btn_wrap {
    margin-top: 0.25em;
}
.image_gallery_dialog_image_pick_btn {
    padding: 0.25em 0.5em;
    width: 100%;
}
.image_gallery_dialog_image_pick_btn:hover{
    background: #eee;
}

.generic_overlay_window_wrap {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1500;
    background: #0006;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
}

.generic_overlay_window {
    padding: 2em;
    width: auto;
    height: 100%;
    max-width: 100em;
    max-height: 75em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.generic_overlay_window_inner {
    background: #fff;
    border: 3px double #666;
    width: 100%;
    max-height: 100%;
    overflow: auto;
    box-shadow: 0px 0px 2px 1px #000;
	padding: 0 0.25em;
}

.generic_overlay_window_content {
    padding: 0.5em 2.5em;
}
.close.generic_overlay_window_close_btn {
    font-size: 3em;
}
.image_gallery_dialog_wrap {
    width: 75em;
}
.box_background_editor_preview_wrap {
    height: 16em;
    margin-bottom: 1em;
}
.box_background_editor_set_image_btn, .box_background_editor_unset_image_btn{
    width: 100%;
}
.box_background_editor_sides {
    display: flex;
}
.box_background_editor_single_side .box_background_editor_sides{
    display: block;
}
.box_background_editor_left {
    flex-basis: 24em;
}
.box_background_editor_right {
    flex-grow: 1;
}
.box_background_editor_right, .box_background_editor_left {
    padding: 0.5em 0;
}
.box_background_editor_fields {
    padding: 0 1em;
}

.box_background_editor_wrap {
    margin-bottom: 0.75em;
}

.box_background_editor {
    border: 3px double #888;
    padding: 1em;
    background: #fdffe8;
    font-size: 0.875em;
}

.page_node_editor_top {
    display: flex;
    background: #888;
    color: #f5f5f5;
    padding: 0.25em 1em;
    font-size: 0.85em;
    align-items: center;
    justify-content: space-between;
    text-shadow: 1px 1px 1px #444;
    font-weight: 500;
    border: 1px solid #555;
    border-left: 0;
    border-right: 0;
}

.set_image_btn_wrap {
    padding: 0.25em;
}

.set_image_btn {
    margin: 0;
    width: 100%;
}
.page_node_editor_top_node_btn {
    padding: 0.15em 0.65em;
    background: #777;
    font-size: 1em;
    border: 1px solid #666;
    cursor: pointer;
}

.html_content img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.btn{
	cursor: pointer;
}

.html_content iframe {
    max-width: 100%;
}

.html_content p:last-child{
    margin-bottom: 0;
}

.generic_doc_sides {
    display: flex;
    align-items: center;
}
.generic_doc_left {
    padding-right: 0.35em;
}
.generic_doc_right {
    flex-grow: 1;
}
.generic_doc_link {
    display: table;
    padding: 0 1em 0 0;
    transition: 0.25s;
    text-decoration: none;
}
.generic_doc_link:hover,
.generic_doc_link:focus{
    padding: 0 0 0 1em;
}
.generic_doc_link_wrap {
    font-size: 1.35em;
}
.generic_doc_icon {
    font-size: 1.85em;
}
.generic_doc_text {
    line-height: 1.15em;
}

ul.document_collection_docs {
    list-style: none;
    margin: 0;
}
ul.document_collection_docs li.document_collection_doc_wrap{

}
ul.document_collection_docs li.document_collection_doc_wrap:last-child{
    margin: 0;
}

.LoadingScreen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #00000044;
    z-index: 500;
    display: table;
    font-size: 0.5em;
}
.LoadingScreenInner {
    height: 100%;
    display: table-cell;
    width: 100%;
    text-align: center;
    vertical-align: middle;
}
.LoadingScreenSpinner{
    color: #fff;
    text-shadow: 0 0 2px #00000088,0 0 8px #00000022;
}

.generic_page_editor_url_wrap {
    border: 1px solid #9c9cca;
    display: table;
    padding: 0 0.5em;
    background: #d5d5f4;
    border-radius: 4px;
    font-weight: 500;
    font-size: 0.85em;
    margin-bottom: 1em;
    color: #6565ac;
}
.generic_page_editor_url_wrap a,
.generic_page_editor_url_wrap a:hover{
	color: inherit;
}
.generic_page_editor_url_icon {
    margin-right: 0.35em;
}
.img-fit{
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.img-contain{
    width: 100%;
    object-fit: contain;
    height: 100%;
}


.image_collection_images {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-items: center;
}

.image_collection_image_wrap {
    width: 8em;
    height: 8em;
    padding: 0.25em;
    margin: 0.25em;
    border: 1px solid #ddd;
}
.image_collection.image_collection_album .image_collection_image_wrap {
    min-width: 12em;
    height: 16em;
    flex-grow: 1;
    flex-shrink: 1;
    flex: 1 1;
    width: auto;
}
.image_collection.image_collection_round .image_collection_images {
    justify-content: center;
}

.image_collection.image_collection_round .image_collection_image_wrap {
    width: 12em;
    height: 12em;
    padding: 0.25em;
    border-radius: 50%;
}

.image_collection.image_collection_round .image_collection_image_wrap img{
    border-radius: 50%;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 0;
}

.image_collection_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.generic_collection_title {
    font-weight: 500;
    margin: 0;
}
.generic_collection {
    /*border: 3px double #ccc;*/
    /*background: #fafafa;*/
}
.generic_collection_content{
    padding: 0.75em 0;
}
.generic_collection_title_wrap {
    padding: 0.75em 0;
    /*border-bottom: 3px double #ccc;*/
}
.page_nodes .page_node_clearfix {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #eee;
    clear: both;
}
.page_nodes .page_node_clearfix:last-child{
    border-bottom: none;
}
.html_content iframe {
    max-width: 100%;
}

.article_title{
	font-size: 2em;
	text-shadow: 1px 1px 4px #000, 1px 1px 2px #000;
}
@media (min-width: 576px) {
    .article_title {
        font-size: 4em;
    }
}

.dialog_item_options {
    font-size: 0.85em;
}

.dialog_item_options_inner_wrap {
    background: #222;
    border: 3px double #222;
    box-shadow: inset 0 0 4px 0px #000;
    padding: 1em;
}



.portrait_wrap{
    max-width: 32em;
    overflow: hidden;
    position: relative;
    min-width: 40%;
    margin-right: 1em;
}
.portrait_faux {
    opacity: 0;
}
.portrait {
    position: absolute;
    top: 100%;
    transition: ease 1s;
}
.portrait.jump{
    top: 0;
}
.moon {
    position: absolute;
    transition: ease 1.5s;
    top: 25%;
    opacity: 0;
    transform: scale(0.25);
}

.moon.jump{
    top: 0;
    opacity: 1;
    transform: scale(1);
}

.gravesite_body {
    font-size: 1.25em;
    font-size: 0.95em;
}
.gates_wrap {
    position: relative;
}
.gates_pic {
    background-image: url('../image/gates.png');
    height: 7em;
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
}
.gravesite_dialog{
    display: flex;
}
@media (max-width: 1200px) {
    /* .gravesite_dialog{
        display: block;
    }
    .portrait_wrap {
        margin: 0 auto;
    }
    .gates_wrap{
        display: none;
    } */
}
.flash {
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    opacity: 0;
}

@-webkit-keyframes vibrate{0%{-webkit-transform:translate(0);transform:translate(0)}20%{-webkit-transform:translate(-2px,2px);transform:translate(-2px,2px)}40%{-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}60%{-webkit-transform:translate(2px,2px);transform:translate(2px,2px)}80%{-webkit-transform:translate(2px,-2px);transform:translate(2px,-2px)}100%{-webkit-transform:translate(0);transform:translate(0)}}@keyframes vibrate{0%{-webkit-transform:translate(0);transform:translate(0)}20%{-webkit-transform:translate(-2px,2px);transform:translate(-2px,2px)}40%{-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}60%{-webkit-transform:translate(2px,2px);transform:translate(2px,2px)}80%{-webkit-transform:translate(2px,-2px);transform:translate(2px,-2px)}100%{-webkit-transform:translate(0);transform:translate(0)}}
@keyframes wobble-hor-bottom{0%,100%{transform:translateX(0);transform-origin:50% 50%}15%{transform:translateX(-30px) rotate(-6deg)}30%{transform:translateX(15px) rotate(6deg)}45%{transform:translateX(-15px) rotate(-3.6deg)}60%{transform:translateX(9px) rotate(2.4deg)}75%{transform:translateX(-6px) rotate(-1.2deg)}}

.text-spooky{
    font-family: Underdog;
    font-size: 1.05em;
    color: #d9534f;
    text-shadow: 0 0 1px #000, 0 0 2px #000;
}

.wobble-hor-bottom {
    -webkit-animation: wobble-hor-bottom 0.8s both;
    animation: wobble-hor-bottom 0.8s both;
}

.moon,
.moon_pic,
.portrait,
.portrait_pic,
.portrait_faux,
.flash{
    width: 100%;
    text-align: center;
}
.warm_greeting_wrap{
    margin: 2em auto;
}
.warm_greeting{
    padding: 1em;
}
.warm_greeting_text{
    text-align: center;
    font-size: 1.75em;
}
@media (max-width: 768px) {
    .gravesite_dialog {
        display: block;
        overflow: hidden;
        position: relative;
    }
    .portrait_wrap {
        position: absolute;
        height: 100%;
        min-width: 0;
        max-width: 100%;
        width: 100%;
        margin: 0;
    }
    .gravesite_dialog_item_header {
        display: none;
    }
    .gravesite_dialog_item_wrap {
        z-index: 2;
        position: relative;
        background: rgba(0,0,0,0.65);
    }
    .moon,
    .moon_pic,
    .portrait,
    .portrait_pic,
    .portrait_faux,
    .flash{
        height: 100%;
        width: 100%;
    }
    .portrait_pic,
    .moon_pic {
        object-fit: contain;
    }
    .moon_pic{
        object-position: top;
    }
    .portrait_pic{
        object-position: bottom;
    }
    .gravesite_dialog_item_speech_wrap {
        overflow: auto;
        height: 20em;
    }
    .warm_greeting_wrap{
        font-size: 0.65em;
    }
}

.article_container{
    margin: 1em auto;
}

.song_player_wave {
    position: relative;
}
.song_player_wave_outer_wrap_container{
    position: relative;
}
.song_player_wave_wrap {
    padding: 0.5em 0.5em 0.5em 0;
    flex-grow: 1;
}
.song_player_wave_outer_wrap{
    display: flex;
}

.song_player_controls {
    width: 128px;
    display: flex;
    flex-direction: column;
}

.song_player_btn_play_wrap {
    flex-grow: 1;
    position: relative;
    border-radius: 8px 0 0 0;
    overflow: hidden;
}
.song_player_btn_play {
    position: absolute;
    border: none;
    color: #fff;
    padding: 0;
    background: transparent;
    font-size: 3em;
    width: 100%;
    height: 100%;
    outline: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.song_player_btn_play .icon_wrap{
    transition: 0.25s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.song_player_btn_play_bkg {
    background: #fd7e14;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
}
.song_player_btn_play_bkg_img {
    display: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.song_player.playing .song_player_btn_play_bkg_img{
    display: block;
}
.song_player.playing .song_player_btn_play .icon_wrap{
    opacity: 0;
}
.song_player.playing:hover .song_player_btn_play .icon_wrap{
    opacity: 0.5;
}
.song_player_btn_rewind_wrap{
    width: 1em;
}
.song_player_btn_rewind {
    height: 100%;
    width: 100%;
    border: transparent;
    background: transparent;
    outline: none !important;
    padding: 0;
}
.song_player {
    display: flex;
    overflow: hidden;
}
.song_player_left {
    display: flex;
}
.song_player_right {
    flex-grow: 1;
    background: rgba(0,0,0,0.15);
    border: 2px solid #333;
    border-left: none;
    border-radius: 0 8px 8px 0;
    overflow: hidden;

}

.song_player_title {
    text-align: center;
    background: #222;
    border-bottom: 2px solid #333;
}

.song_player_volume_wrap {
    display: flex;
    background: #333;
    padding: 0 0.25em;
    height: 2.25em;
    align-items: center;
}

.song_player_volume_range_wrap{
    display: flex;
    padding-left: 0.25em;
    align-items: center;
    flex-grow: 1;
}
.song_player_volume_range{
    width: 100%;
}

.song_player_btn_mute {
    background: transparent;
    border: transparent;
    color: #fff;
    padding: 0;
    font-size: 1.35em;
    outline: none !important;
    width: 1.35em;
    text-align: left;
}

.song_player_time {
    display: flex;
    align-items: center;
    justify-content: center;
}
.song_player_time_current{
    color: #d9534f;
}
.song_player_time_hover{
    display: none;
    color: #bf4947;
}
.song_player_time_slash {
    margin: 0 0.5em;
    color: #444;
}

@media (max-width: 768px) {
    .song_player_controls{
        width: 80px;
    }
    .song_player_btn_play {
        font-size: 2em;
    }
}


.noUi-handle::before, .noUi-handle::after {
    content: "";
    display: none;
    height: 0;
    width: 0;
    background: transparent;
    left: 0;
    top: 0;
}

.noUi-handle {

    width: 16px !important;
    height: 16px !important;
    background: #fd7e14;
    border: 1px solid #222;
    box-shadow: none;
    padding: 0;
    border-radius: 9999px;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
}
.noUi-connect {
    background: #fd7e14;
}
.noUi-base {
    overflow: hidden;
}
.noUi-target {
    background: #FAFAFA;
    border-radius: 4px;
    border: none;
    box-shadow: none;
}
.noUi-origin {
    height: 100% !important;
}
.noUi-handle {
    width: 25px !important;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    top: 0 !important;
    position: relative;
    right: 0 !important;
    height: 100% !important;
    left: -4px !important;
}
.noUi-connect {
    width: 101%;
}

.article_box_row {
    display: flex;
    position: relative;
}
.article_box_body {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    height: 100%;
}

.article_box_body_wrap {
    padding: 0 1em;
    flex: 1 1 0;
}
.article_box_img_wrap {
    height: 12em;
    border-radius: 4px;
    overflow: hidden;
    flex: 0 1 12em;
    border: 1px solid #aaa;
	position: relative;
}

.generic_article{
    margin: 0 auto 1.5em auto;
}

.generic_page_box_ctrl_btns_wrap {
    margin-top: 0.5em;
}

.article_fields {
    display: flex;
}

.article_fields .article_field::after {
    content: '|';
    margin: 0.5em;
    color: #999;
}
.article_fields .article_field:last-child::after {
    content: '';
}
.article_box_title{
    margin: 0;
}
.article_field {
    white-space: nowrap;
}

.audio_editor {
    border: 3px double #555;
    margin: 1em auto;
    padding: 0.5em;
}
.audio_editor_media{
    width: 100%;
}
.song_player_wave_preloader_wrap {
    position: absolute;
    width: 100%;
    height: 100%;
}
.song_player_wave_preloader {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.song_player_wave_preloader_animation_wrap {
    flex: 0 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.song_player_wave_preloader_text_wrap{
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    text-align: left;
}

.song_player_wave_preloader_text {
    font-size: 0.8em;
    margin: 0;
}

.comment_author_pic_wrap {
    width: 50px;
}
.comment_sides {
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: start;
}
.comment_left {
    flex: 0 1 auto;
}

.skull_pic_wrap {
    width: 50px;
}
.comment_top {
    font-size: 0.85em;
    display: flex;
}
.comment_top .comment_top_item{
    text-shadow: 1px 1px 1px #000;
}
.comment_top .comment_top_item::after {
    content: '|';
    margin: 0 0.5em;
    color: #555;
}
.comment_top .comment_top_item:last-child::after {
    content: '';
    margin: 0;
}
.comment_author_name {
    color: #fd7e14;
}
.comment_content {
    padding: 0 1em;
}
.comment_text {
    font-size: 1.25em;
}
.comment {
    margin-bottom: 2em;
}

.comment_form_wrap_sides {
    display: flex;
}

.comment_form {
    padding: 0 1em;
}

.comment_form_wrap_right {
    flex: 1 1 auto;
}

.comment_form_wrap {
    border: 3px double #333;
    padding: 1em;
    background: #222;
    box-shadow: 1px 1px 3px #000;
}

.comment_form_collapse_trigger {
    font-size: 1.25em;
}

.comment_box_no_comments {
    background: url('../image/web_1.png');
    padding: 1em;
    font-size: 2em;
    text-align: center;
    border-radius: 0.5em;
    box-shadow: inset 0 0 16px
    #000;
    background-repeat: no-repeat;
    background-size: contain;
    background-position-x: 100%;
    background-position-y: 100%;
}

.article_comment_box_title_wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.75em;
}
.article_comment_box_title_left, .article_comment_box_title_right {
    height: 1px;
    flex: 1 0 auto;
}
.article_comment_box_title_left {
    background: linear-gradient(to right,
    transparent,
    #444);
}
.article_comment_box_title_right {
    background: linear-gradient(to left,
    transparent,
    #444);
}
.article_comment_box_title {
    font-size: 0.85em;
    padding: 0 1em;
    color:
    #888;
}

.comment_box_no_comments_text {
    text-shadow: 1px 1px 1px #000;
}

.generic_page_lead {
    text-align: justify;
    padding: 1.5em;
}

.article_box {
    background: #f9f9f9;
    border: 3px double #aaa;
    box-shadow: inset 0 0 4px 0px #aaa;
    padding: 1em;
}

.captcha_body {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}
.captcha_input_wrap {
    margin-right: 1em;
}


.event_date_editor_sides {
    display: flex;
    align-items: center;
    justify-content: center;
}
.event_date_editor_left {
    flex-grow: 1;
}
.event_date_editor_right {
    padding: 0 0.5em;
}
.event_date_add_form_sides {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.event_date_add_date_label {
    margin: 0;
    font-size: 0.75em;
    font-weight: 600;
    color: #666;
    display: block;
}
.event_date_add_form_right {
    padding: 0 0.25em;
}
.event_date_add_btn {
    height: 3em;
    display: flex;
    align-items: center;
    font-weight: 500;
    color: #696969;
}
.event_date_add_form {
    display: table;
    margin: 0 auto;
    padding: 0.5em;
    border: 1px solid #bbb;
    background: #fff;
    box-shadow: 1px 1px 1px #888;
}
.event_date_editor {
    margin: 0.25em auto;
    padding: 0.25em 0.5em;
    border: 1px solid #eee;
    background: #FFF;
}
.news_card_img_outer_wrap {
    width: 100%;
    position: relative;
    height: 12em;
}
.news_card_img_wrap {
    width: 100%;
    height: 10em;
    padding: 0 1em;
}
.news_card_img_inner_wrap{
    position: relative;
    margin: 0 auto;
    display: block;
    z-index: 1;
    width: 100%;
    height: 100%;
}
.news_card_img {
	position: relative;
    margin: 0 auto;
    display: block;
	width: 100%;
    height: 100%;
    border: 3px solid #fff;
}
.news_card_img_bg {
    height: 9em;
    width: 100%;
    position: absolute;
    top: 2em;
}
.news_card_deck{
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    font-size: 0.75em;
    position: relative;
}
.news_card{
    width: 18rem;
    flex-shrink: 0;
    margin: 0.35em;

    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color:
    #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
    align-items: center;
    justify-content: flex-start;

    transform: scale(0.95);
    filter: grayscale(1);
    opacity: 0.85;
    transition: 0.25s;
}
.news_card:hover,
.news_card.news_card_hover{
    transform: scale(1);
    filter: grayscale(0);
    opacity: 1;
}

.news_card_faux_title {
    letter-spacing: 1px;
    font-weight: 500;
    font-size: 1.35em;
}

.news_card_header,
.news_card_body,
.news_card_footer
{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.news_card_footer {
    width: 100%;
    margin-top: 0.75em;
}
.news_card_header {
    padding: 0.75em;
    text-align: center;
    min-height: 8em;
}
.news_card_title {
    font-size: 1.05em;
    margin: 0;
}
.news_card_text {
    margin: 0;
    font-size: 0.8rem;
    padding: 0.25em 0.5em;
    text-align: justify;
}
.news_card_body {
    flex-grow: 1;
    justify-content: flex-start;
    width: 100%;
}
.news_card_link{
    width: 100%;
    border-radius: 0;
}

.news_card_deck{
    flex-flow: row;
    justify-content: start;
    font-size: 1em;
    padding: 1em;
}

.news_card_deck_wrap {
    position: relative;
    overflow: hidden;
}
.news_card_deck_over {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.news_card_deck_over_side {
    width: 6em;
    height: 100%;
    z-index: 1;
    background: rgb(255,255,255);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.25s;
}

.news_card_deck_over_left{
     background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 50%);
 }
.news_card_deck_over_side.limit_reached{
    opacity: 0;
    pointer-events: none;
}
.news_card_deck_over_right{
     background: linear-gradient(90deg, rgba(255,255,255,0) 50%, rgba(255,255,255,1) 100%);
 }
.news_card_deck_shift_caret {
    font-size: 4.5em;
    color: #fff;
    text-shadow:
    -1px -1px 1px #444,
    -1px 1px 1px #444,
    1px -1px 1px #444,
    1px 1px 1px #444;
opacity: 0.85;
}

.event_card_link {
    width: 100%;
    border-radius: 0;
}

.event_card_title {
    text-align: center;
    font-weight: 400;
    color: #444;
    text-transform: uppercase;
	margin: 0;
}

.event_card_img_wrap {
    overflow: hidden;
    height: 16em;
	position: relative;
}

.event_card_wrap {
    margin-bottom: 1.5em;
}

.event_card_content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}


.event_cards {
	margin: 2em auto;
}

.event_card_wrap {
    width: 100%;
    display: flex;
}

.event_card_body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.event_card .event_card_img{
    transform: scale(1);
    transition: 0.5s;
}

.event_card:hover .event_card_img{
    transform: scale(1.15);
}

.event_card_text {
    text-align: justify;
    font-size: 0.85em;
}

.event_card {
    border: 0;
    box-shadow: 2px 2px 2px #000;
	width: 100%;
}

.event_card_body hr {
    width: 100%;
}

@media (max-width: 768px) {
	.event_card_content {
		flex: 1 1 100%;
	}
	.event_card_img_wrap {
		overflow: hidden;
		height: 100%;
		flex: 1 1 12em;
	}
	.event_card {
		flex-direction: row;
	}
	.event_card_body {
		align-items: flex-start;
		text-align: left;
	}
	.event_card_title {
		text-align: left;
	}
}

.age_restriction_label_wrap {
	margin: 0.5em;
}
.age_restriction_label_wrap.ar_label_abs {
    position: absolute;
    z-index: 1;
    right: 0;
	top: 0;
	float: unset;
}
.age_restriction_label_wrap.ar_label_fr {
    float: right;
	margin: 0.5em;
}
.age_restriction_label_wrap.ar_label_fl {
    float: left;
	margin: 0.5em;
}

.age_restriction_label {
    width: 2.35em;
    height: 2.35em;
    border: 2px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1em;
    font-weight: 500;
	background: rgba(0,0,0,0.5);
	box-shadow: 0px 0px 2px 1px #0008;
	text-shadow: 1px 1px 1px #000;
}


.rss_feed {
    font-size: 0.75em;
}
.rss_feed_item_body {
    padding: 1.25em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1.15em;
}

.rss_feed_item_title {
    font-size: 1.15em;
	display: inline-block;
}
.rss_feed_item_img {
    height: 12em;
}
.rss_feed_item_body{
    padding: 1.25em;
}
.rss_feed_item_footer {
    padding: 0.75em 1.25em;
}
.rss_feed_item_link{
    font-size: 1em;
}


.generic_cat_assignation {
    display: flex;
}
.generic_cat_assignation_left{
    border-right: 1px solid #444;
}
.generic_cat_assignation_left, .generic_cat_assignation_right {
    flex-grow: 1;
}
.generic_cat_assignation_assigned_cats, .generic_cat_assignation_available_cats {
    margin: 0.5em;
    border: 1px solid #555;
    padding: 0.5em;
    background: #eee;
}
.generic_cat_assignation_assigned_cats_wrap{
    border: 3px double #aaa;
    flex-grow: 1;
}
.generic_cat_assignation_assigned_cats_title_wrap {
    border-bottom: 1px solid #444;
    padding: 0.25em 0.5em;
    background: #666;
    color: #ececec;
}
.generic_cat_assignation_assigned_cats_title {
    font-size: 1.15em;
    font-weight: 500;
}

.generic_cat_assignation_item {
    display: flex;
    margin: 0.25em;
    align-items: center;
}
.generic_cat_assignation_item_name_wrap {
    display: table;
    background: #aaa;
    color: #444;
    padding: 0.25em 0.5em;
    border-radius: 6px;
    border: 1px solid #888;
}

.generic_cat_assignation_control {
    margin-right: 0.5em;
    text-align: center;
}
.generic_cat_assignation_available_cats_select_wrap {
    border: 1px solid #aaa;
    padding: 0.5em 1em;
}
.generic_cat_assignation_available_cats_select_btn {
    padding: 0.5em 1.75em;
    width: 100%;
}
.generic_cat_assignation_item_delete_btn_wrap {
    margin-left: 0.75em;
}
.generic_cat_assignation_item_delete_btn {
    cursor: pointer;
    padding: 0.25em 0.5em;
    background: #ddd;
    border: 1px solid #888;
    width: 2em;
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}


.calendar_table tr{

}

.calendar_table .calendar_body tr:nth-child(2n) {
    background: #fafafa;
}

.calendar_table tr td,
.calendar_table tr th{
    padding: 0;
    border: 0;
}
.calendar_btn {
    text-align: center;
    padding: 0.5em;
    cursor: pointer;
    margin: auto;
    width: 100%;
    border: 0;
    font-size: 1.25em;
    transition: 0.25s;
    border-radius: 0;
}
.calendar_year_wrap, .calendar_month_wrap {
    font-weight: 500;
}
.calendar_month {
    text-align: center;
}
.calendar_year{
    text-align: center;
}
.calendar_DOW {
    text-align: center;
    font-size: 0.85em;
    padding-bottom: 0.5em;
    padding-top: 0.25em;
    font-weight: 900;
    color: #777;
}
.calendar_day {
    text-align: center;
    padding: 0 0.25em;
    min-width: 2em;
    width: 100%;
    color: #888;
}
.calendar_day.calendar_day_significant {
    font-weight: 600;
    cursor: pointer;
    color: #444;
    /*border: 1px solid #666;*/
    /*border-radius: 50%;*/
    /*width: auto;*/
    /*margin: 0 auto;*/
}
.calendar {
    margin-bottom: 2em;
    overflow: auto;
    border: 1px solid #bbb;
}
.calendar_table {
    background: #fff;
    margin: 0 auto;
    width: 100%;
}
.calendar_cancel_wrap {
    padding: 0.25em;
}
.calendar_cancel {
    border: 1px solid #aaa;
    padding: 0 0.25em;
    text-align: center;
    font-size: 0.85em;
    background: #eee;
    cursor: pointer;
}
.calendar_day_link .calendar_day:not(.calendar_day_selected),
.calendar_day_link:hover .calendar_day:not(.calendar_day_selected),
.calendar_day_link:active .calendar_day:not(.calendar_day_selected),
.calendar_day_link:focus .calendar_day:not(.calendar_day_selected){
    text-decoration: underline;
}
.calendar_day_link,
.calendar_day_link:hover,
.calendar_day_link:active,
.calendar_day_link:focus{
    text-decoration: none;
}

.calendar_day.calendar_day_selected {
    color: #fff !important;
    width: 100%;
}


.generic_cat_filter {
    background: #fff;
    border: 1px solid #1e1e1e;
}
.generic_cat_filter_apply {
    width: 100%;
    padding: 0.5em;
}
.generic_cat_filter_active .generic_cat_filter_bottom {
    background: #dbe8ab;
}
.generic_cat_filter_top,.generic_cat_filter_bottom{
    padding: 0.5em;
}
.generic_cat_filter_top{
    border-bottom: 1px solid #aaa;
}
.generic_cat_filter_title {
    font-weight: 500;
}
.generic_cat_filter_select {
    width: 100%;
    text-overflow: ellipsis;
}
.generic_cat_filter_cancel {
    border: 1px solid #aaa;
    padding: 0 0.25em;
    text-align: center;
    font-size: 0.85em;
    background: #eee;
    cursor: pointer;
}


.news_item_box_date {
    display: flex;
    align-items: center;
    color: #666;
    font-size: 1.05em
}
.news_item_box_date_icon {
    margin-right: 0.35em;
}

.ed_group_editor_gallery_wrap,
.ed_group_editor_schedule_wrap,
.ed_group_editor_list_wrap,
.ed_group_editor_html_content_wrap
{
    border: 3px double #aaa;
}
.ed_group_editor_gallery,
.ed_group_editor_schedule,
.ed_group_editor_list,
.ed_group_editor_html_content {
    padding: 1em;
}

.ed_group_editor_gallery_title_wrap,
.ed_group_editor_schedule_title_wrap,
.ed_group_editor_list_title_wrap,
.ed_group_editor_html_content_title_wrap {
    padding: 0.5em;
    border-bottom: 3px double #aaa;
    background: #eee;
}
.ed_group_editor_html_content_title,
.ed_group_editor_schedule_title,
.ed_group_editor_list_title,
.ed_group_editor_gallery_title{
    margin: 0;
}

.submission_msg {
    padding: 1em;
    margin: 0.5em;
    border: 2px solid
    #202a4e;
    text-align: center;
}
.submission_msg_wrap {
    display: none;
    width: 100%;
}
.info_page_container{
    max-width: 80em !important;
}

.article_page_header_bkg {
    position: absolute;
    height: 100%;
    width: 100%;
	top: 0;
}
.article_page_header {
    position: relative;
	min-height: 28em;
	display: flex;
	flex-direction: column;
}
.article_page_header_bkg_img_wrap,
.article_page_header_bkg_img {
    width: 100%;
    height: 100%;
}
.article_page_header_bkg_img {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.article_page_header_left .article_page_header_bkg_img{
	background-attachment: unset;
}

.article_page_header_sides {
    position: relative;
    z-index: 1;
    display: flex;
	height: 100%;
	flex: 1 1 100%;
}
.article_page_header_left,
.article_page_header_right {
    flex: 1 1 50%;
}
.article_page_header_left {
    position: relative;
	flex-basis: 50%;
	/* flex-shrink: 0; */
}
.article_page_header_right {
	background-color: rgba(42, 42, 42, 0.78);
	display: flex;
	align-items: center;
	justify-content: center;
}

.article_page_header_right.solid_bkg {
	background-color: #202a4e;
}

.article_page_header_title {
    font-size: 3.25em;
    color: #fff;
    line-height: 1.15em;
}
.article_page_header_info {
	display: flex;
}
.article_page_header_info_left {
    padding: 1em;
    display: flex;
    justify-content: center;
	padding-right: 0;
}
.article_page_header_info_right {
    padding: 1em;
    word-break: break-word;
	padding-right: 2.5em;
}
.article_page_header_desc {
    color: #fff;
    white-space: pre-wrap;
	font-weight: 500;
}
.article_page_bare_header .article_page_header_title {
    color: #555;
    font-size: 2em;
    margin-bottom: 1em;
    padding: 0.5em 0;
    border-bottom: 1px solid
    #eee;
}
.article_page_bare_header .article_page_header_desc {
    color: #444;
}
.article_page.fancybox-content {
    width: 90em;
}
.page_content.fancybox-content {
    max-width: 920px;
}

@media (max-width: 768px) {
    .article_page_header_info {
        font-size: 0.85em;
    }
    .article_page_header_title{
        font-size: 2em;
    }
	.article_page_header_right.solid_bkg {
		position: relative;
		z-index: 10;
	}
    .article_page_header_left{
        flex-basis: auto;
        position: absolute;
		width: 100%;
		height: 100%;
		z-index: 5;
    }
    .article_page_header {
        min-height: 20em;
    }
}

.search_form {
    min-width: 8em;
    margin-bottom: 1em;
}
.contact_editor_sides {
    display: flex;
}
.contact_editor_left,
.contact_editor_right{
	flex: 1 1 auto;
}
.contact_editor_left{
	flex: 0 1 auto;
}
.contact_editor {
    border: 3px double #888;
    margin: 0.5em auto;
}

.map_iframe {
    width: 100%;
    height: 100%;
}
.map_iframe_wrap {
    height: 16em;
    width: 100%;
    border: 3px double #aaa;
    margin-bottom: 1em;
}

.contacts_section_card_body {
    display: flex;
    flex-direction: column;
}
.contacts_section_card_body_bottom {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
}

.footer_col_editor {
    border: 3px double #aaa;
    margin: 1em auto;
}
.footer_col_editor_title {
    padding: 0.25em;
    font-weight: 600;
    color: #fff;
    background: #888;
    font-size: 1.35em;
    text-shadow: 1px 1px 1px #555;
}

a.no-underline,
a.no-underline:hover,
a.no-underline:focus,
a.no-underline:visited,
a.no-underline:active{
    text-decoration: none !important;
}

.footer_col_html a,
.footer_col_html a:hover,
.footer_col_html a:focus,
.footer_col_html a:visited,
.footer_col_html a:active {
    color: #fff;
    text-decoration: none;
}
.footer_col_html a:hover,
.footer_col_html a:focus,
.footer_col_html a:active{
    color: #BADA55;
}

.footer_col_html {
    color: #BADA55 !important;
}
.footer_cols {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2em;
}
.footer_col {
    flex: 1;
    text-align: left;
    padding: 0 1em;
}

.footer_col_html ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer_col_html ul li {
    line-height: 1.05em;
    margin-bottom: 0.85em;
}
.footer_sitemap_link{
	font-size: 1.25em;
}


.feedback_form_col {
    flex-basis: 8em;
    margin: 0.25em auto;
    display: flex;
    flex-direction: column;
}
.feedback_form_col.feedback_form_col_empty {
    margin: 0;
}
.feedback_form_col_lg {
    min-width: 40%;
}
.btn.disabled, .btn:disabled {
    cursor: not-allowed;
}
.article_page_bare_header .article_page_header_info {
    padding: 0;
	flex-direction: column;
}
.breadcrumb {
    background-color: 
    transparent;
    font-size: 0.85em;
    opacity: 0.75;
    padding: 0 1em;
}


.pagination a, .pagination strong {
    padding: 0.25em;
    border: 1px solid #00000044;
    margin: 0.25em;
    min-width: 2em;
    display: inline-block;
    text-align: center;
    line-height: 1.35em;
    text-decoration: none;
    background: #00000004;
}

.pagination {
    display: table;
    margin: 0 auto;
    padding: 0 1em;
    border: 3px double #00000044;
    border-left: none;
    border-right: none;
    width: 100%;
    text-align: center;
}

nav.navbar-top a.nav-link {
    white-space: nowrap;
}

.person_image_wrap{
    height: 24em;
}
.person_image {
    width: 100%;
    height: 100%;
}
.person_image_link{
    width: 100%;
    height: 100%;
    display: block;
}
.person_card {
    border: 1px solid #ddd;
    margin-top: 0.5em;
    border-radius: 6px;
    overflow: hidden;
}
.person_head {
    border-bottom: 1px solid #ccc;
}
.person_fullname {
    text-align: center;
    font-weight: 600;
    font-size: 1.25em;
    padding: 0.25em 0;
}
.person_name_part {
    display: block;
    line-height: 1.25em;
}
.person_title {
    border-top: 1px solid #eee;
    text-align: center;
    font-size: 1.15em;
    line-height: 1.15em;
    font-weight: 500;
    padding: 0.75em 0.25em;
}
.person_desc {
    border-top: 1px solid #eee;
    text-align: center;
    font-size: 0.85em;
    line-height: 1.15em;
    padding: 0.5em 0.25em;
}

.article_page_header_special {
    color: #fff;
    white-space: pre-wrap;
    font-weight: 500;
}

.article_page_bare_header_wrap .article_page_header_special{
	color: #444;
}

.about_row {
	margin: 0;
}
.about_col {
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.about_square {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2.5em;
}
.about_square .figure {
	text-align: center;
}
.about_text p {
	text-align: justify;
}
.about_carousel .carousel-inner{
	height: 16em;
	min-height: 100%;
}
.about_figure .figure-caption {
	color: inherit;
	font-size: 1.15em;
	font-weight: 400;
	opacity: 0.85;
}
.about_intro_wrap {
	min-height: 16em;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6em 0;
}
.about_intro {
	text-align: center;
	font-size: 1.35em;
	padding: 1.5em;
	max-width: 50em;
	margin: 0 auto;
}


.display_calendar_table tr{

}

.display_calendar_table .display_calendar_body tr:nth-child(2n) {
    background: #fafafa;
}

.display_calendar_table tr td,
.display_calendar_table tr th{
    padding: 0;
    border: 0;
}
.display_calendar_btn {
    text-align: center;
    padding: 0.5em;
    cursor: pointer;
    margin: auto;
    width: 100%;
    border: 0;
    font-size: 1.25em;
    transition: 0.25s;
    border-radius: 0;
}
.display_calendar_year_wrap, .display_calendar_month_wrap {
    font-weight: 500;
}
.display_calendar_month {
    text-align: center;
}
.display_calendar_year{
    text-align: center;
}
.display_calendar_DOW {
    text-align: center;
    font-size: 0.85em;
    padding-bottom: 0.5em;
    padding-top: 0.25em;
    font-weight: 900;
    color: #777;
}
.display_calendar_day {
    text-align: center;
    padding: 0 0.25em;
    min-width: 2em;
    width: 100%;
    color: #888;
}
.display_calendar_day.display_calendar_day_significant {
    font-weight: 600;
}
.display_calendar {
    margin-bottom: 2em;
    overflow: auto;
    border: 1px solid #bbb;
    display: table;
    margin: 0.25em auto;
    font-size: 0.75em;
}
.display_calendar_table {
    background: #fff;
    margin: 0 auto;
    width: 100%;
}

.display_calendar_day_link .display_calendar_day:not(.display_calendar_day_selected),
.display_calendar_day_link:hover .display_calendar_day:not(.display_calendar_day_selected),
.display_calendar_day_link:active .display_calendar_day:not(.display_calendar_day_selected),
.display_calendar_day_link:focus .display_calendar_day:not(.display_calendar_day_selected){
    text-decoration: underline;
}
.display_calendar_day_link,
.display_calendar_day_link:hover,
.display_calendar_day_link:active,
.display_calendar_day_link:focus{
    text-decoration: none;
}

.display_calendar_day.display_calendar_day_selected {
    color: #fff !important;
    width: 100%;
}






/*

    ***************
    *             *
    *             *
    *   TICKETS   *
    *             *
    *             *
    ***************
	
*/

.show_seat_wrap{
	width: 2.5em;
	height: 2.5em;
}
.show_seat {
	width: 100%;
	height: 100%;
	border: 1px solid #00000066;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #555;
	cursor: default;
	border-radius: 4px;
}
.show_seat:not(.available){
	background: #eee;
	color: #aaa;
}
.show_seat.available {
	color: #fff;
	cursor: pointer;
	border-width: 2px;
}
.stage_marker {
	font-size: 2em;
	font-family: OpenSans;
	color: #777;
	font-weight: 100;
	text-align: center;
	display: table;
	padding: 1.25em 4.5em;
	margin: 0.5em auto;
	border: 2px dashed #aaa;
}

.show_info_item {
	line-height: 1em;
	font-family: CeraRoundPro;
	font-weight: 500;
	color: #333;
}

.show_info_title {
	font-size: 3.25em;
}
.show_info {
	text-align: center;
}

.showhall_legend_item {
	border: 2px solid #0006;
	margin-top: 0.25em;
	padding: 0 0.5em;
	border-radius: 4px;
}

.showhall_legend_item.unavailable {
	background: #eee;
	color: #888;
	font-weight: 500;
}

.showhall_legend_item:not(.unavailable){
	color: #fff;
}

.showhall_top {
	text-align: center;
	margin: 3.5em auto 3.5em;
}

.show_seat.picked {
	background: #ffde15 !important;
	color: #666;
	font-weight: 600;
	font-size: 1.35em;
	box-shadow: 0 0 2px 1px #ffff51;
}

.prebooked_seat_info b {
	font-weight: 600;
	color: #555;
	letter-spacing: 1.5px;
}

.prebooked_seat {
	padding: 0.25em 0.5em;
	border: 1px solid #ccc;
	margin-bottom: 0.25em;
	background: #fff;
	text-align: left;
}

.showhall_cart_seats {
    border: 2px dashed #aaa;
    background: #f6f6f6;
    padding: 0.5em;
    min-height: 3.75em;
    height: 9em;
    overflow: auto;
}

.showhall_cart_total {
	margin: 1em auto 0.75em;
}

.showhall_cart {
	border: 1px solid #ccc;
	padding: 1em;
	border-radius: 4px;
}

.user_info_wrap {
	display: flex;
	font-size: 0.85em;
	justify-content: right;
	border-bottom: 1px solid #eee;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}

.user_logout_wrap {
	display: flex;
}
.user_logout_link {
	display: flex;
}

.user_logout_link_icon {
	margin-left: 0.25em;
}
.user_info {
	display: flex;
}

.user_logout_link,
.user_logout_link:hover{

}

.user_logout_link {
	display: flex;
	line-height: 1em;
	padding: 0 0.5em;
	align-items: center;
	font-size: 1em !important;
}

.user_info_icon {
	margin-right: 0.5em;
}

.tickets_show_dialog_shows {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border: 1px double #666;
    margin-top: 0.5em;
}

.playbill_picker_show_wrap {
    padding: 0.5em;
	max-width: 20em;
	width: 20em;
}

.playbill_picker_show{
    border: 3px double #888;
    padding: 0.5em;
    font-size: 0.85em;
	height: 100%;
	width: 100%;
}

.playbill_picker_show_desc_toggle {
    border: 1px solid #888;
    border-radius: 4px;
    margin: 0.5em auto;
    padding: 0 0.25em;
    cursor: pointer;
    background: #ddd;
}

.playbill_picker_show_title {
    font-size: 1.35em;
}

.playbill_picker_show_pick_btn {
    width: 100%;
    font-size: 1em;
    padding: 0.05em 0.25em;
}

.playbill_picker_show_desc {
    white-space: pre-wrap;
    max-height: 10em;
    overflow: auto;
    border: 2px solid #555;
    background: #222;
    color: #fff;
}

.playbill_picker_show_desc_text {
    padding: 0.5em;
}

.tickets_show_dialog_shows_months_wrap {
	border: 1px double #666;
}

.tickets_show_dialog_shows_cancel_wrap {
    border: 1px double #666;
    margin: 0.5em auto;
    padding: 0.25em;
    display: flex;
    justify-content: end;
}

.tickets_show_dialog_shows_months {
    display: flex;
    justify-content: space-between;
	padding: 0.5em;
}
.tickets_show_dialog_shows_month {
    padding: 0.05em 1.5em;
    margin: 0 0.5em;
}

.event_date_pick_tickets_link {
    display: table;
    border: 2px solid #8277ce;
    padding: 0 0.5em;
    background: #a89bff;
    color: #fff !important;
    margin: 0.25em 0;
    border-radius: 4px;
}

.image_editor_dialog_img {
	max-height: 100%;
	display: block;
	max-width: 100%;
}

.image_editor_dialog_sides {
    display: flex;
}
.image_editor_dialog_tools {
    padding: 0.5em;
    flex: 0 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #eee;
    border: 2px solid #ddd;
    margin: 0 0.25em;
}

.image_editor_dialog_view {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #444;
    border: 3px double #666;
	max-height: 600px;
}
.image_editor_dialog_img_wrap {
    max-height: 100%;
}
.image_editor_dialog_tools > .btn-group{
	width: 100%;
	margin-bottom: 0.5em;
}

.image_editor_dialog_preview_wrap {
    flex: 0 0 20em;
	width: 20em;
    padding: 0.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.image_editor_dialog_preview {
    height: 20em;
	width: 20em;
	overflow: hidden;
	border-radius: 4px;
	border: 3px double #aaa;
}
.ed_group_tutor_page_portrait {
    max-width: 20rem;
}
.ed_group_tutor_page_sides {
    display: flex;
    gap: 1rem;
}
@media (max-width: 576px) {
    .ed_group_tutor_page_sides{
		flex-direction: column;
	}
	.ed_group_tutor_page_portrait {
		max-width: 10rem;
	}
}
.ed_group_tutor_page_nodes {
    flex: 1 1 0;
    max-width: 60rem;
}
.ed_group_tutor_page_portrait .person_image{
	width: auto;
	height: auto;
}

.ed_group_tutor_type_item .ed_group_tutor_type_item_cb_1 {
    display: none;
}

.ed_group_tutor_type_item.active .ed_group_tutor_type_item_cb_1 {
    display: block;
}

.ed_group_tutor_type_item.active .ed_group_tutor_type_item_cb_0 {
    display: none;
}

.ed_group_tutor_type_item_cb_wrap {
    font-size: 1.25em;
    margin-right: 0.25em;
}
.ed_group_tutor_type_item.active {
    color: #6b8435;
    text-shadow: 0 0 2px #e1ffa1;
    padding-left: 1em;
}
.ed_group_tutor_type_item {
    display: flex;
    align-items: center;
    justify-content: start;
    transition: 0.25s;
    cursor: pointer;
}
.ed_group_tutor_type_item:hover {
    padding-left: 1em;
}
.ed_group_tutor_types_panel {
    padding: 0.25em 1em;
    border: 1px solid #aaa;
    border-radius: 4px;
}
.ed_group_tutor_type {
    margin: 4em auto;
}
.ed_group_tutor_type_item_wrap{
	display: table;
}

.event_tickets_show_link{

}
@media (max-width: 768px) {
    .event_tickets_show_link{
		font-size: 0.75em;
	}
}
.unread_gen {
    box-shadow: 0 0 1em 0.15em #dc3545;
}


.collapsible_page_node_content_inner {
    padding: 0.725em 0 1em 1.275em;
}

.collapsible_page_node_trigger {
    display: block;
    cursor: pointer;
}

.collapsible_page_node_trigger_text {
    display: table;
    font-size: 1.75em;
    line-height: 1.15em;
    border-bottom: 1px dashed;
    font-weight: 300;
    padding: 0.25em 0;
}

.collapsible_page_node .page_node_clearfix{
    margin: 0;
    padding: 0;
}

.collapsible_page_node_icon {
    margin-right: 0.25em;
}

.collapsible_page_node {
    margin-bottom: 1.5em;
}

.html_content h1,
.html_content h2,
.html_content h3,
.html_content h4,
.html_content h5,
.html_content h6{

}

@media (max-width: 768px) {
	.html_content h1,
	.html_content h2,
	.html_content h3,
	.html_content h4,
	.html_content h5,
	.html_content h6{
		font-size: 1.5rem;
	}
}

.artist_page_portrait {
    max-width: 20rem;
}
.artist_page_sides {
    display: flex;
    gap: 1rem;
}
@media (max-width: 576px) {
    .artist_page_sides{
        flex-direction: column;
    }
    .artist_page_portrait {
        max-width: 10rem;
    }
}
.ed_group_tutor_page_nodes {
    flex: 1 1 0;
    max-width: 60rem;
}
.artist_page_portrait .person_image{
    width: auto;
    height: auto;
}

.event_tickets_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ballet_tale_alt_desc {
  white-space: pre-wrap;
}

a.btn.disabled.event_tickets_show_link{
	pointer-events: all;
}


.article_page_header_right.solid_bkg{
	background: #202a4e;
}

@media (max-width: 768px) {
	.article_page_header_right.solid_bkg{
		background: rgba(42, 42, 42, 0.78);
	}
}

@media (max-width: 576px) {
	.event_card {
		flex-direction: column;
	}
	.event_card_img_wrap {
	  height: auto;
	  flex: 1 1 auto;
	  width: 100%;
	  overflow: clip;
	}
}

.diamond_wrap {
  min-height: 40px;
}
.diamond_wrap_has_list .diamond.opened .diamond_link_list_over_header_wrap{
	height: 0;
	opacity: 0;
}
.diamond_link_list_over_header_wrap{
	opacity: 1;
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: 0.25s;
}

@media (min-width: 992px){
	.diamond_link_list_over_header_wrap {
	  display: none;
	}
}
.diamond_link_list_over_header_wrap, .diamond_link_list_header_wrap{
	cursor: pointer;
}

.diamond_link_list_wrap .stretched-link {
  z-index: 1000;
}

.article_page[data-artid="468"] .article_page_header_left {
  flex-basis: 75%;
}