*{
    outline: none;
    box-sizing: border-box;
}

html, body {height: 100%;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: subpixel-antialiased !important;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility:    hidden;
    -ms-backface-visibility:     hidden;
}

.gosus {
  padding: 0 0.5em;
  max-width: calc(1280px);
  margin: 0 auto 10rem;
}

hr {
    border: none;
    border-bottom: 3px double #00000022;
}

body {
    background: url("../image/bg.png") 0 top repeat-x #efefef;
}

.empty.columns, .empty.column{
    height: 1px;
}

#wrap {

    flex-direction: column;
    height: 100%;
}


#main {
    flex: 1 1 auto;
    display: flex;
    margin: 0 auto;
    flex-direction: column;
    max-width: 1280px;
    width: 100%;
}
#top {
    background: #eee;
    border-bottom: 1px solid #bbb;
    box-shadow: 0 2px 3px rgba(0,0,0,0.15);
}
#top_inner {
    max-width: 1280px;
    margin: 0 auto;
    height: 100%;
}
#main_top {
    height: 6em;
}
#main_bottom {
    flex: 1 1 auto;
    display: flex;
}
#main_bottom_sides {
    flex: 1 1 auto;
    display: flex;
}
#main_left {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 0 0.5em;
}
#main_right_content {
    width: 16em;
    padding: 1em;
}
.topwrap{
    /*border-bottom: 1px solid #e1e1e1;*/
    /*background: #f9f9f9;*/
    /*z-index: 10;*/
}
.topwrap_cols{
    display: flex;
    align-items: center;
    justify-content: center;
}
.topwrap_col_right {
    flex-basis: 65%;
}
.branding_wrap {
    font-size: 0.85em;
    text-align: center;
    max-width: 40em;
}
.branding{
    font-family: FiraSans;
    color: #bd1c2b;
    padding: 1em 0.5em;
}
.branding_title {
    font-weight: 600;
    margin: 0.15em 0;
    line-height: 1em;
    font-size: 3.25em;
}
.branding_suptitle_wrap {
    font-weight: 500;
    font-size: 1.75em;
    line-height: 1em;
}
.branding_subtitle_wrap {
    font-weight: 400;
    font-size: 1.25em;
    line-height: 1.25em;
    margin-top: 0.5em;
}
.topwrap_col_left {
    padding: 1em;
    padding-left: 0;
}
.topwrap_col_right{
    padding: 1em;
    padding-right: 0;
}
.admin_panel_header,
.admin_panel_header:hover,
.admin_panel_header:focus{
    font-size: 2em;
    font-weight: 600;
    text-decoration: none;
    color: #555;
}

a.branding_link {
    text-decoration: none;
}

.PageContent{
    margin: 2rem 0;
    flex-grow: 1;
}
.PageContentWrap.PageContentWrapTransparent .PageContent {
    margin: 4rem 0;
}
.PageContent.PageContentCentered{
    display: flex;
    align-items: center;
    justify-content: center;
}
.PageContent.PageContentNoTopMargin {
    margin-top: 0 !important;
}

#footer {
    flex-shrink: 0;
    border-top: 1px solid #1e1e1e;
    background: #323232;
    padding: 1em 1em 2em 1em;
}

.footer_col_wrap {
    padding: 0 1em;
}

.footer_cols {
    display: flex;
    margin: 1.25em auto;
	margin-bottom: 0;
    flex-direction: row;
    max-width: 1280px;
    font-size: 0.85em;
}
.footer_link{
    border: 2px solid transparent;
	display: inline-block;
	padding: 0 1em 0 0;
	border-radius: 4px;
	transition: 0.25s;
	flex: 1 1 auto;
}
.footer_link:not(.footer_link_header):hover, .footer_link:not(.footer_link_header):active, .footer_link:not(.footer_link_header):focus {
    border: 2px solid #4d4d4d;
	padding: 0 0.5em;
}
.footer_link, .footer_link:hover, .footer_link:active, .footer_link:focus {
    text-decoration: none;
	color: #fff;
}

.footer_link.footer_link_header {
    font-size: 1.25em;
    font-weight: 600;
    color: #ffd42f;
}
.footer_link_wrap {
    margin-bottom: 0.25em;
	display: flex;
}


.footerCopyRightWrap {
    width: 100%;
    display: table;
}
.footerCopyRight {
    width: 100%;
    display: table-cell;
    color: #eee;
    text-align: center;
    vertical-align: middle;
    padding: 1em;
    font-weight: 300;
    background: #2D2D2D;
    font-size: 0.875em;
    border-top: 1px solid #363636;
    text-shadow: 1px 1px 1px #000;
}

@media only screen and (max-width: 800px) {
    .topwrap {
        font-size: 0.55em;
    }
    .branding {
        font-size: 1.5em;
    }

    #main_bottom_sides {
        flex-direction: column;
    }

    #main_top {
        height: 1em;
    }

    #main_right_content{
        padding: 1em;
        width: 100%;
        display: block;
    }
    .right_panel_box_wrap {
        margin: 0 !important;
        height: 100%;
        padding: 0.5em;
    }
    .right_panel_box_info {
        font-size: 0.75em;
    }
    #footer{
        padding: 0;
    }
    .footer_cols{
        display: block;
    }
    .footer_col_wrap {
        border-bottom: 1px solid #666;
        box-shadow: 0 1px #222;
        padding: 1em 0.5em;
    }

    .footer_col_wrap.footer_col_wrap_static{
        border-bottom: 0;
        box-shadow: unset;
        text-align: center;
        font-size: 0.85em;
    }
    .topwrap_cols {
        display: block;
    }
    .generic_collection_content {
        font-size: 0.65em;
    }
    .html_content_wrap {
        font-size: 0.85em;
    }
}

.html_content table {
    width: 100% !important;
}

.PageContentWrap {
    background: #fff;
    padding: 1em;
    margin-bottom: 2em;
    border: 1px solid #acacac;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.PageContentWrap.PageContentWrapTransparent {
    background: unset;
    padding: unset;
    margin: unset;
    border: unset;
}
.not_found_wrap {
    padding: 0.5em;
}
.not_found {
    border: 3px double #888;
    background: #fafafa;
    text-align: center;
    padding: 2.75em;
}
.not_found_code, .not_found_text {
    margin: 0;
    padding: 0.15em;
}
.not_found_code {
    font-weight: 900;
    font-size: 8em;
    padding: 0.05em;
    line-height: 1em;
}
.not_found_text {
    font-size: 2em;
    line-height: 1em;
}

/*Opera Fix*/
body:before {
    content:"";
    height:100%;
    float:left;
    width:0;
    margin-top:-32767px;/
}


.noselect{
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

::selection {color:lightgray;background:#a0a0a0; text-shadow: 1px 1px 2px black}
::-moz-selection {color:lightgray;background:#a0a0a0; text-shadow: 1px 1px 2px black}


/* MENU ITEMS */
.MainMenuWrap{
    display: table;
    height: 100%;
    margin: 0 auto;
    width: 100%;
}
.mobileMenuBtn{
    width: 100%;
    height: 100%;
    cursor: pointer;
    color: #fff;
    font-size: 40px;
}
.MainMenu {
    display: table-cell;
    height: 100%;
    vertical-align: middle;
    position: relative;
    text-align: center;
}
.MobileMenu{
    display: none;
}
.MobileMenuTopLeft {
    width: 5em;
    text-align: center;
}
.MobileMenuItems .menuitem{
    display: block;
}
.MobileMenuItems{
    display: none;
}
.MobileMenuItems.opened{
    display: block;
}
@media only screen and (max-width: 800px) {
    .MainMenu{
        display: none;
    }
    .MobileMenu{
        display: block;
    }
}

.section-heading {
    font-size: 3em;
    text-align: center;
}
@media only screen and (max-width: 500px) {
    .section-heading {
        font-size: 2.25em;
    }
}


.section {
    /*
    padding: 4rem 0 2rem;
    */
}
.sections .section:first-child {
    padding-top: 0;
}

.InlineH{
    display: inline-block;
    margin: 0;
    font-weight: 600;
    font-size: 1.5em;
    line-height: 1em;
}

.ProfileFunction:hover, .AuthFunction:hover{
    color: #28b779
}

.GenericName {
    text-align: center;
    font-size: 1.25em;
    line-height: 1.25em;
    margin: 0.5em 0;
    font-weight: 900;
    color: #444;
}

.GenericPicWrapBorder {
    padding: 0.65em;
    border: 1px solid #00000027;
    transition: 0.3s;
    display: block;
    height: 260px;
    width: 100%;
}

.GenericPicWrap{
    overflow: hidden;
    height: 100%;
    width: 100%;
}
.GenericPic{
    display: table;
    height: 100%;
    width: 100%;
    object-fit: cover;
    box-sizing: border-box;
    background: #fff;
}
.GenericPic.animated{
    transition: 0.75s ease;
}

.GenericPic.animated:hover{
    transform: scale(1.25);
    transition: 1.5s ease;
}

.empty.columns, .empty.column{
    height: 1px;
}

.breadcrumbs {
    font-size: 0.85em;
    list-style: none;
    margin: 0;
    padding: 1em 0;
    font-weight: 400;
    margin-bottom: 1em;
    color: #231f20;
}
.breadcrumbs > li{
    display: inline;
}
.breadcrumbs > li span{
    color: #808080;
}
.breadcrumbs > li a,
.breadcrumbs > li a:hover{
    color: #231f20;
    text-decoration: none;
}

.breadcrumbs > li + li::before {
    content: "/";
    padding: 0 5px;
}


.gradOverlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
    background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
    background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );

    opacity: 0;
    transition: 0.2s;
    z-index: 10;
}

.gradOverlay:hover{
    opacity: 1;
}


.MainPic{
    width: 45%;
    float: right;
    margin-left: 1em;
    margin-right: 0;
    margin-bottom: 1em;
    margin-top: 2em;
    box-sizing: border-box;
    height: unset;
}

@media only screen and (max-width: 500px) {
    .MainPic{
        width: 100%;
        float: none;
        margin: 1em auto;
    }
}

.MainPic img{
    object-fit: cover;
    width: 100%;
    box-sizing: border-box;
    max-height: 50em;
    position: relative;
    display: block;
    /* height: 14em; */
}

.fullwbutton{
    width: 100%;
    padding: 0;
}

.FormField {
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    display: block;
    border-radius: 4px;
    color: #2a324d;
    font-size: 1em;
    font-family: 'OpenSans';
    transition: padding 0.2s ease-out, border 0.2s ease-out;
}

.LinkBtn {
    font-size: 0.85em;
    cursor: pointer;
    font-style: italic;
    text-decoration: none;
}
.LinkBtn:hover{
    text-decoration: underline;
}

.picDiv{
    position: relative;
    background-size: cover;
    background-position: center;
    width: 120px;
    height: 120px;
    display: inline-block;
    margin: 5px;
    border:1px solid #ffffff;
}
#MainPicDiv {
    position: relative;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 300px;
    display: inline-block;
    margin-bottom: 5px;
    margin-top: 5px;
}

.deleteIcon{
    position: absolute;
    background-image: url('../image/trashbin.png');
    background-repeat: no-repeat;
    background-position: right;
    background-color: #030303;
    bottom: 0;
    width: 100%;

    height: 32px;
    line-height: 32px;

    transition: 0.2s;
    cursor: pointer;

    font-family: Consolas;
    font-size: 14px;

    color: #fff;
    text-align: left;
    text-indent: 12px;

    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.deleteIcon:hover{
    background-color: #9c2e39;
    height: 36px;
    line-height: 36px;
}

.downloadIcon{
    background-image: url("../image/download.png");
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    position: absolute;
    background-color: #333333;
    top: -10px;
    right: -10px;
    width: 30px;
    height: 30px;

    z-index: 102;

    border: 1px solid #ffffff;
    border-radius: 100%;

    -webkit-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
}

.downloadIcon:focus{
    outline: 0;
}

.downloadIcon:hover{
    background-color: #9c2e39;
}

.FunctionLines {
    color: #aaa;
    font-size: 0.85em;
    margin-top: 0.5em;
}
.FunctionLine {
    color: #aaa;
    text-decoration: none;
    padding-left: 0.5em;
    font-style: italic;
    border-right: 1px solid #aaa;
    padding-right: 0.5em;
    cursor: pointer;
}
.FunctionLine:hover{
    color: #888;
    text-decoration: underline;
}
.FunctionLine:first-child{
    padding-left: 0;
}
.FunctionLine:last-child{
    border-right: none;
    padding-right: 0;
}

.EventTextWrap code {
    font-size: 0.95em;
    white-space: normal;
    display: table;
}

.PicDesc{
    text-align: center;
    font-size: 0.85em;
    margin-top: 1em;
    color: #888;
    font-style: italic;
}

.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;
}

.DimScreenWrap{
    display: table;
    background: rgba(0, 0, 0, 0.65) none repeat scroll 0% 0%;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

.DimScreen{
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    text-align: center;
    padding: 0.5em;
}


.DimScreenContent{
    margin: 0 auto;
    background: #fff;
    padding: 2em;
    border-radius: 0.5em;
    font-size: 0.75em;
    position: relative;
    overflow: hidden;
    display: table;
}
.DimScreenContent form{
    margin: 0;
    text-align: left;
}
.DimScreenContent form input{
    width: 100%;
}
input[type="submit"].SubmitBtt {
    font-size: 1em;
    padding: 0.5em;
    display: block;
    height: unset;
    line-height: unset;
}

.inputfile {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}
.inputfile + label {
    max-width: 80%;
    font-size: 1.25rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    padding: 0.625rem 1.25rem;
}

.inputfile:focus + label,
.inputfile.has-focus + label {
    outline: 1px dotted #000;
    outline: -webkit-focus-ring-color auto 5px;
}

.inputfile + label svg {
    width: 1em;
    height: 1em;
    vertical-align: middle;
    fill: currentColor;
    margin-top: -0.25em;
    /* 4px */
    margin-right: 0.25em;
    /* 4px */
}

.inputfile + label {
    color: #f1e5e6;
    background-color: #d3394c;
}

.inputfile:focus + label,
.inputfile.has-focus + label,
.inputfile + label:hover {
    background-color: #722040;
}

.Notice {
    font-size: 1.5em;
}

.ImmediateAuthFormHeaderMsgHeader {
    font-size: 2em;
    font-weight: 900;
}

.ImmediateAuthBtn {
    margin-top: 1em;
    background-color: #d3394c;
    font-size: 1.05em;
    color: #fff;
    text-align: center;
    padding: 0.35em;
    border-radius: 0.25em;
    cursor: pointer;
    border: 2px solid #00000022;
    line-height: 1.25em;
    font-weight: 500;
}

.modal-title {
    font-weight: 600;
    text-transform: uppercase;
    margin: 0 0 1em;
    color: #888;
    letter-spacing: 0.05em;
}

.CheckboxWrap {
    display: flex;
    margin-bottom: 0.75em;
}
.AuthForm .SubmitBtt {
    width: 100%;
}
.CheckboxLabelWrap label {
    cursor: pointer;
}

.VerificationResendComment {
    padding: 0.25em 1em;
    background: #00000022;
    border: 1px dashed #00000044;
    margin: 1em auto;
}

.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 {
    border: 1px solid #0001;
    border-left: none;
    border-right: none;
    display: table;
    margin: 0 auto;
    padding: 0 1em;
    width: 100%;
    text-align: center;
}

.Checkbox, .Radiobox{
    opacity: 0;
    position: absolute;
}

.Checkbox + label, .Radiobox + label,
.Checkbox + span, .Radiobox + span {
    display: flex;
    position: relative;
    cursor: pointer;
    margin: 0;
    font-size: 0.85em;
}

.Checkbox + label::before, .Radiobox + label::before,
.Checkbox + span::before, .Radiobox + span::before{
    content: "\f00c";
    height: 1.5em;
    width: 1.5em;
    border-radius: 4px;
    background: #eee;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: transparent;
    font-size: 1em;
    text-align: center;
    position: relative;
    display: inline-table;
    line-height: 1.5em;
    transition: 0.25s;
	margin-right: 0.5em;
	border: 2px solid #666;
	border: 2px solid #0003;
    margin-top: 0.25em;
}


.Radiobox + label::before,
.Radiobox + span::before{
	border-radius: 9999px;
}

.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: 9999;
}

#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: #fdfdfd;
    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;
}

.GenericCommentWrap .GenericComment {
    width: 100%;
    height: 6em;
    padding: 0.5em 0.5em 0.5em 2.5em;
    display: block;
    border-radius: 4px;
    border: 1px solid rgba(0,0,0,0.2);
    color: #444;
    font-size: 1em;
    resize: none;
    margin: 0;
}
.GenericCommentWrap .GenericComment:focus {
    padding: 0.5em 2.5em 0.5em 0.5em;
    outline: 0;
    border: 1px solid #28b779;
}

.GenericCommentWrap .IconWrap {
    position: absolute;
    display: table;
    color: #d4d4d4;
    font-size: 1.35em;
    margin-left: 0.5em;
    top: 0.5em;
    opacity: 1;
}
.GenericComment:focus + .IconWrap{
    opacity: 0;
}

.ProfilePanelMainIconWrap {
    width: 3em;
    height: 3em;
    background-color: #fff;
    border: 1px solid #ccc;
}

.ProfilePanelMainIcon {
    background-image: url('../image/user.png');
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
}

.ProfilePanelHeaderLeft{
    display: flex;
    align-items: center;
}
.ProfilePanelUsernameWrap {
    margin: 0.5em;
    font-size: 0.85em;
    font-weight: 500;
}
.ProfilePanelHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4em;
    border-radius: 4px;
    cursor: pointer;
	border: 1px solid #ccc;
}
.ProfilePanelHeader:hover{
    /*
    background: #00000008;
    */
}
.ProfilePanelHeaderCaret {
    font-size: 1.5em;
    width: 1.5em;
    line-height: 1.5em;
    height: 1.5em;
    text-align: center;
}
.ProfilePanelUsername {
    text-overflow: ellipsis;
    overflow: hidden;
    width: 10em;
}
.ProfilePanelDropdownMenu {
    position: absolute;
    background: #f9f9f9;
    border: 1px solid #00000022;
    border-top: none;
    width: 100%;
}
.ProfilePanelDropdownMenuWrap {
    position: relative;
    display: none;
}

.ProfilePanel.opened .ProfilePanelDropdownMenuWrap {
    display: block;
}
.ProfilePanel.opened .ProfilePanelHeader{
    border-radius: 4px 4px 0 0;
    border-bottom: 1px solid transparent;
}
.ProfilePanelDropdownItem {
    text-align: right;
    display: block;
    padding: 0.4em;
    border-top: 1px solid #ddd;
    cursor: pointer;
}
.ProfilePanelDropdownItem:hover{
    background: #ffffffaa;
}

.GenericLinkFunction, .GenericLinkFunction:hover{
    font-size: 1em;
    border: 1px solid #aaa;
    color: #555;
    box-shadow: 1px 1px 2px #00000066;
    display: table;
    text-decoration: none;
    background: #555;
}
.GenericLinkFunctionText {
    background: #fff;
    padding: 0.5em;
    transition: 0.15s;
}
.GenericLinkFunction:hover .GenericLinkFunctionText{
    color: #555;
    margin: 0 0 0 2em;
}
.GenericLinkFunctionWrap {
    margin: 1em 0;
}

.GenericPhotoBorder{
    padding: 0.65em;
    border: 1px solid #00000027;
    transition: 0.3s;
    display: block;
    width: 100%;
    height: 20em;
}
.GenericPhotoWrap{
    height: 100%;
    width: 100%;
    overflow: hidden;
}
.GenericPhoto{
    display: table;
    height: 100%;
    width: 100%;
    object-fit: cover;
    box-sizing: border-box;
    background: #fff;
}

.push-button {
	display: table;
	background: linear-gradient(to bottom, #fcfcfc 0%,#eaeaea 100%);
	border: 1px solid #ccc;
	border-radius: 4px;
	color: #555;
	box-shadow: 0px 2px 1px #bbb;
	margin-bottom: 2px;
	cursor: pointer;
}
.push-button-icon, .push-button-text {
	display: table-cell;
	vertical-align: middle;
}
.push-button-icon {
	padding: 0.25em 0.75em 0.25em 1em;
	background: linear-gradient(to bottom, #eeeeee 0%,#dadada 100%);
}
.push-button-text{
	padding: 0.25em 1em 0.25em 0.5em;
	letter-spacing: -0.5px;
	font-weight: 500;
	line-height: 1.35em;
}

.clearfix{
	clear: both;
}

.EditableFieldInput {
	margin: 0;
}
.EditableField {
	cursor: pointer;
	background: #0000001a;
	border: 1px solid #0003;
	padding: 0 1em;
	width: 100%;
	border-radius: 6px;
    min-height: 1.25em;
}

.greensortableghost{
	background: #3bff6d !important;
	opacity: 0.75;
}

table.GenericListTable {
	border: 1px solid #00000022;
	font-size: 0.85em;
}
table.GenericListTable a.UserLink {
	font-size: 1.25em;
	font-weight: 600;
	text-decoration: none;
}
table.GenericListTable tr:first-child {
	background: #00000006;
}
table.GenericListTable tr td, table.GenericListTable tr th {
	padding: 0.5em 1em;
}



.SurveyItemEditor .SurveyItem {
	border: 1px solid #0000004d;
	margin: 1em;
	display: flex;
	background: #fff;
}
.SurveyItemEditor .SurveyItemRight{
	padding: 0.25em 0.5em;
}
.SurveyItemEditor .SurveyItemTitle {
	font-weight: 500;
}
.SurveyItemEditor .SurveyItemInputIcon{
	margin-right: 0.25em;
}
.SurveyItemEditor .SurveyItemInputIcon,
.SurveyItemEditor .SurveyItemInputLabel{
	display: block;
}
.SurveyItemEditor .SurveyItemInputLabel .InputLabelText{
	display: block;
}
.SurveyItemInputLabelWrap {
    display: flex;
    margin: 0.25em 0;
}
.SurveyItemEditor .AddSurveyItemInput {
	display: table;
	font-size: 0.9em;
	font-style: italic;
	margin-top: 0.5em;
	cursor: pointer;
	color: #6e7ded;
}
.SurveyItemEditor .SurveyItemInputs {
	padding: 0.5em;
	margin-top: 0.5em;
	border: 3px double #0000004d;
}
.SurveyItemEditor .SurveyItemInputWrap{
	position: relative;
}
.SurveyItemEditor .SurveyItemInput {
	display: flex;
	align-items: center;
	position: relative;
}
.SurveyItemEditor .SurveyItemInputWrap:hover .DeleteSurveyItemInput{
	display: table;
}
.SurveyItemEditor .DeleteSurveyItemInput {
	position: relative;
	margin-left: 2.25em;
	font-size: 0.75em;
	cursor: pointer;
	display: none;
	padding: 0 0.5em;
}
.SurveyItemEditor .SurveyItemInputValueWrap {
	padding: 0 0.5em;
}
.SurveyItemEditor .DeleteSurveyItemWrap {
	padding-left: 0.5em;
}
.SurveyItemEditor .DeleteSurveyItem {
	border: 1px solid #0000004d;
	width: 2em;
	text-align: center;
	background: #0000001a;
	border-radius: 4px;
	cursor: pointer;
}
.SurveyItemEditor .SurveyItemRight {
	width: 100%;
}
.SurveyItemEditor .SurveyItemLeft {
	display: flex;
	align-items: center;
}
.SurveyItemEditor .SurveyItemOrderHandleWrap {
	height: 100%;
}
.SurveyItemEditor .SurveyItemOrderHandle {
	cursor: move;
	font-size: 1.75em;
	padding: 0.5em;
	height: 100%;
	display: flex;
	align-items: center;
	background: #0000001a;
}
.SurveyItemEditor .SurveyItemInputIcon {
	cursor: move;
}
.SurveyItemEditor .SurveyItemHead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.5em;
}
.SurveyItemEditor .SurveyItemHeadLeft {
	width: 100%;
}

.StandByScreenWrap {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 5000;
    display: table;
}
.StandByScreen {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    height: 100%;
    width: 100%;
    background: #ffffff88;
}
.StandByScreenInnerWrap {
    display: table;
    margin: auto;
    padding: 1em;
}
.StandByScreenInner {
    display: flex;
    align-items: center;
    padding: 1em 0.75em;
    border: 1px solid #00000044;
    background: #ffffff;
    border-radius: 4px;
}
.StandByScreenTextWrap {
    font-size: 1.35em;
    margin-left: 0.25em;
}
.full-height{
	height: 100%;
}
.red-text {
    color: #f22130;
}
.FormulaNodeFieldArray {
    padding: 0.5em;
    border: 1px dashed #0004;
    border-radius: 6px;
    margin: 0.5em auto;
    background: #0001;
}
.FormulaNodeTargetValueEditor_value, .FormulaNodeTargetValue_value {
    font-weight: 600;
    border: 1px solid #0002;
    padding: 0.25em 1em;
    margin: 0.25em auto;
    background: #fff;
}

.SurveyItemTitle{
	white-space: pre-wrap;
}

.cheatNoteWrap {
    position: fixed;
    bottom: -60px;
    opacity: 0;
    right: 0;
    padding: 0.5em;
	z-index: 5000;
}

.cheatNote {
    padding: 0.35em 2em;
    border: 1px solid #000;
    font-family: Courier;
    background: #fff;
    color: #000;
    font-size: 14px;
}
.ProgressBar {
	border: 1px solid #00000022;
	background: #00000011;
	border-radius: 4px;
}
.ProgressFill {
	height: 2em;
	width: 0;
	background: #8094fe;
	transition: 0.2s;
}
.ProgressBarWrap {
	margin: 0.5em auto;
}
.ProgressDetails {
	font-size: 0.85em;
}
.ProgressPanel{
	width: 100%;
	border: 3px double #00000066;
	padding: 1em;
	text-align: center;
	background: #00000008;
	max-width: 50em;
	margin: 1em auto;
}
.ProgressPanel h3 {
	font-size: 1.75em;
}

table.GenericTable{
	margin: unset;
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

table.GenericTable td, table.GenericTable th{
	border: unset;
	border: 1px solid #666;
	padding: 0.35em;
}
table.GenericTable tr th{
	font-weight: 600;
}
.external_widget_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.25em;
}
.social_media_links {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
}
.social_media_link {
    display: block;
    font-size: 2em;
    padding: 0.25em;
}
.website_search_form_input_box {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3em;
}
.website_search_form_input_btn_wrap {
    height: 100%;
}
.website_search_form_input_wrap {
    height: 100%;
    flex-grow: 1;
}
input.website_search_form_input:focus,
input.website_search_form_input {
    height: 100%;
    width: 100%;
    margin: 0;
    border: 0;
    font-size: 0.85em;
}
button.website_search_form_input_btn {
    height: 100%;
    border: 0;
    padding: 0 0.5em;
    margin: 0;
    font-size: 1.5em;
    border-left: 1px solid #aaa;
    border-radius: 0;
    background: #eee;
}
.right_panel_box.right_panel_box_transparent {
    background: unset;
    border: unset;
}
.right_panel_box_wrap {
    margin-bottom: 1.35em;
}
.right_panel_box_info_wrap {
    font-size: 1.375em;
    font-weight: 500;
}
.right_panel_box {
    background: #fff;
    border: 1px solid #1e1e1e;
}
.right_panel_box_content {
    padding: 0.35em;
}
.right_panel_box_title {
    padding: 0.5em;
    border-bottom: 1px solid #888;
    font-weight: 500;
}

.rss_feed_item_img_wrap {
    width: 3.75em;
    height: 3.75em;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid #666;
}
.rss_feed_item_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rss_feed_item_sides {
    display: flex;
    align-items: center;
}
.rss_feed_item_title_wrap {
    margin-bottom: 0.5em;
}
.rss_feed_item_title {
    font-weight: 600;
    line-height: 1.25em;
    word-break: break-word;
}
.rss_feed_item_desc_wrap {
    font-size: 0.75em;
}
.rss_feed_item_desc {
    font-size: 0.95em;
    line-height: 1.5em;
}

.rss_feed_item,
.rss_feed_item:hover{
    color: #444;
    text-decoration: none;
    display: block;
    margin-top: 1em;
    padding-bottom: 0.5em;
}
.rss_feed_item_right {
    font-size: 0.75em;
    padding-left: 0.55em;
}

.rss_feed .rss_feed_item_wrap {
    border-bottom: 1px solid #ccc;
}

.rss_feed .rss_feed_item_wrap:last-child {
    border-bottom: none;
}
.rss_feed_item_date_wrap{
    padding-right: 0.5em;
    font-size: 0.75em;
}
.rss_feed_item_date{
    text-align: right;
    color: #666;
}

.footer_col_static {
    color: #fff;
}
.footer_col_static_schedule {
    font-size: 1.65em;
    line-height: 1.25em;
    font-weight: 600;
    margin-bottom: 0.75em;
}
.footer_col_static_field {
    white-space: nowrap;
    font-size: 1.15em;
}
.footer_col_static_field_key {
    margin-right: 0.35em;
}
.footer_col_static_field_key, .footer_col_static_field_val {
    display: inline-block;
}
.footer_col_static_address {
    margin-top: 1.35em;
    font-size: 1.25em;
    color: #aaa;
    line-height: 1.35em;
}

.generic_box_wrap {
    height: 100%;
}
.generic_box{
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.generic_box_content,
.generic_box_content:hover,
.generic_box_content:active,
.generic_box_content:focus {
    width: 100%;
    height: 100%;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: stretch;
    padding: 1em;
    color: #fff;
    position: absolute;
    text-decoration: none;
}
.homepage_box_slideshow_slide .homepage_box {
    padding-bottom: 3em;
}

.homepage_box_slideshow {
    width: 100%;
    height: 100%;
    position: relative;
}
.homepage_box_slideshow_slides {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.homepage_box_slideshow_slide {
    width: 100%;
    height: 100%;
    position: absolute;
}
.homepage_box_slideshow_slide_active_slot{
    z-index: 5;
}
.homepage_box_slideshow_slide_fade_stack{
    z-index: 10;
    pointer-events: none;
}
.homepage_box_slideshow_slide_active_slot,
.homepage_box_slideshow_slide_fade_stack{
    width: 100%;
    height: 100%;
    position: absolute;
}

.homepage_box_slideshow_slide_stack{
    display: none;
}
.homepage_box_slideshow_pagination_elem.active {
    background: #ffd42f;
}
.box_bkg_wrap{
    position: absolute;
    width: 100%;
    height: 100%;
}

.box_bkg{
    background: #000;
    position: absolute;
    width: 100%;
    height: 100%;
}

.box_bkg.box_bkg_img.box_bkg_img_contain {
    background: transparent;
}

.box_bkg.box_bkg_img.box_bkg_img_contain img {
    object-fit: contain;
}

.box_bkg_color:not(.box_bkg_color_static){
    transition: 0.5s ease;
}
.box_bkg_color_back.box_bkg_color_top:not(.box_bkg_color_static) {
    bottom: 100%;
}
.generic_box:hover .box_bkg_color_back.box_bkg_color_top:not(.box_bkg_color_static){
    bottom: 0;
}

.box_bkg_color_back.box_bkg_color_bottom:not(.box_bkg_color_static) {
    top: 100%;
}
.generic_box:hover .box_bkg_color_back.box_bkg_color_bottom:not(.box_bkg_color_static){
    top: 0;
}

.box_bkg_color_front.box_bkg_color_top:not(.box_bkg_color_static) {
    bottom: 0;
}
.generic_box:hover .box_bkg_color_front.box_bkg_color_top:not(.box_bkg_color_static){
    bottom: 100%;
}

.box_bkg_color_front.box_bkg_color_bottom:not(.box_bkg_color_static) {
    top: 0;
}
.generic_box:hover .box_bkg_color_front.box_bkg_color_bottom:not(.box_bkg_color_static){
    top: 100%;
}

.generic_box_title {
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.35em;
}

.homepage_box_slideshow .homepage_box_title {
    font-size: 3em;
    font-weight: 600;
    line-height: 1.25em;
    color: #ffd42f;
    text-shadow: 2px 2px 1px #000;
    display: inline-table;
}

.homepage_box_slideshow_pagination {
    bottom: 0;
    position: absolute;
    width: 100%;
    text-align: center;
    z-index: 20;
}
.homepage_box_slideshow_pagination_elem {
    height: 1.5em;
    width: 1.5em;
    display: inline-block;
    background: #fff;
    border-radius: 50%;
    margin-right: 0.5em;
    box-shadow: 1px 1px 2px #000;
    cursor: pointer;
}
.box_bkg_shade{
    pointer-events: none;
    opacity: 0.35;
    background: #000;
}
.box_bkg_img img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.homepage_box_grid {
    display: grid;
}
@media only screen and (max-width: 600px) {
    .homepage_box_grid {
        display: block;
    }
    .homepage_box_grid_elem_wrap {
        display: block;
        max-width: 20em;
        height: 20em;
        margin: 1em auto;
    }
    .homepage_box_slideshow .homepage_box_title{
        font-size: 2em;
    }
    .box_bkg_wrap_has_image .box_bkg_color{
        display: none;
    }
}

.generic_page_title {
    font-weight: 600;
    margin-bottom: 0.25em;
}
@media only screen and (max-width: 800px) {
	.generic_page_title {
		font-size: 1.5em;
	}
}
.news_item_date_wrap {
    margin-bottom: 0.75em;
}
.news_item_date {
    font-weight: 500;
}
.generic_page_bkg_image_wrap {
    padding: 0.65em;
    border: 1px solid #d8d8d8;
    transition: 0.3s;
    display: block;
    width: auto;
    max-height: 30em;
    margin: 2em auto;
    max-width: 100%;
}
.generic_page_bkg_image {
    width: 100%;
    margin: 0;
    outline: none;
    border: none;
    padding: 0;
    height: auto;
    display: block;
}

.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;
}
.generic_collection_title_wrap {
    padding: 0.75em;
    /*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:last-child{
    border-bottom: none;
}
.html_content iframe {
    max-width: 100%;
}

.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;
	word-break: break-word;
}

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;
}

.generic_page_box{
    height: 12em;
}
.generic_page_box_wrap {
    margin-bottom: 1em;
}
.generic_page_boxes {
    width: 100%;
}

.generic_cat_filter {
    background: #fff;
    border: 1px solid #1e1e1e;
    margin: 1em auto;
    margin-top: 0;
}
.generic_cat_filter_apply {
    width: 100%;
    padding: 0.5em;
}
.generic_cat_filter_active .generic_cat_filter_bottom {
    background: #fff9c1;
}
.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;
}
.generic_cat_filter_cancel_wrap {
    margin-top: 0.5em;
}

.calendar_table tr{

}
.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_btn,
.calendar_btn:hover,
.calendar_btn:focus{
    color: #fff;
}
.calendar_btn:hover,
.calendar_btn:focus{
    background: #c41a1f;
}
.calendar_year_wrap, .calendar_month_wrap {
    background: #ec1c23;
    font-weight: 500;
    color: #fff;
}
.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: 800;
}
.calendar_day {
    text-align: center;
    padding: 0 0.25em;
    min-width: 2em;
}
.calendar_day.calendar_day_significant {
    font-weight: 600;
    cursor: pointer;
}
.calendar {
    margin-bottom: 2em;
    overflow: auto;
    border: 1px solid #bbb;
}
.calendar_table {
    background: #fff;
    margin: 0 auto;
    width: 100%;
}
.calendar_head {
    background: #ec1c23;
    color: #fff;
}
.calendar_day_selected {
    background: #ec1c23;
    color: #fff;
}
.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;
}
.split_page_sides {
    display: flex;
    flex-direction: row;
}
.split_page_side{
    padding: 0 0.5em;
}
.split_page_side_wide {
    flex-grow: 1;
}
.split_page_side_narrow {
    flex-basis: 16em;
    flex-shrink: 1;
    margin-bottom: 2em;
}
@media only screen and (max-width: 600px) {
    .split_page_sides {
        display: block;
    }
}

.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;
}

.age_restriction_wrap {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid;
    background: #0002;
    font-size: 1.35rem;
    margin: 0.5em 0px;
}

.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_content {
    background: #fff;
    border: 3px double #666;
    width: 100%;
    max-height: 100%;
    overflow: auto;
    box-shadow: 0px 0px 2px 1px #000;
    padding: 2em;
}
.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;
}
.html_content p {
    word-break: break-word;
}

.homepage_box_grid_elem_wrap_editor {
    border: 3px double #555;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #aaa;
}

.homepage_box_link_editor_btns {
    padding: 0.5em 0.25em;
    margin: 0.25em;
    border: 1px solid #555;
    background: #999;
    box-shadow: inset 2px 2px 3px #555;
    border-radius: 6px;
}

.homepage_box_link_editor_btn {
    border: 1px solid #888;
    background: #fafafa;
    font-size: 0.75em;
    margin: 0.5em;
}
.homepage_box_link_editor_btn_sides {
    display: flex;
    justify-content: start;
    align-items: stretch;
}
.homepage_box_link_editor_btn_handle_wrap {
    height: 100%;
    display: flex;
    align-items: center;
}

.homepage_box_link_editor_btn_handle {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0.25em;
    background: #555;
    color: #eee;
    cursor: move;
    font-size: 1.5em;
}

.homepage_box_link_editor_btn_title {
    line-height: 1.35em;
}
.homepage_box_link_editor_btn_right{
    padding: 0.25em 0.5em;
    flex-grow: 1;
}
.homepage_box_link_editor_btn_btns {
    padding: 1em 0 0.25em 0;
}
.homepage_box_link_editor_btn_btn {
    border: 1px solid #666;
    padding: 0 0.25em;
    border-radius: 4px;
    background: #ccc;
    cursor: pointer;
    color: #555;
    box-shadow: 0px 2px 0 #666;
    margin-bottom: 0.5em;
    font-weight: 600;
}
.homepage_box_link_editor_btn_btn_delete {
    font-size: 0.85em;
    float: right;
}

.homepage_box_link_editor_add_btn_wrap {
    padding: 0.25em;
}
.homepage_box_link_editor_add_btn {
    border: 1px solid #58715c;
    padding: 0.15em;
    border-radius: 6px;
    background: #d8ffdb;
    cursor: pointer;
    color: #436846;
    font-weight: 500;
    text-align: center;
    font-size: 0.85em;
}
.homepage_box_link_editor_btns {
    padding: 0.25em;
}

.homepage_box_link_editor_sides {
    display: flex;
    align-items: center;
    justify-content: center;
}
.homepage_box_link_editor_left {
    flex-basis: 20em;
}
.homepage_box_link_editor_right {
    flex-grow: 1;
    padding: 1em;
}
.homepage_box_link_editor {

}
.homepage_box_link_editor_import {
    margin-top: 0.75em;
}
.homepage_box_link_editor_fields {
    padding: 0.5em;
    border: 1px solid #888;
    background: #fff;
    box-shadow: 2px 2px 2px #888;
}

.box_wrap_mini {
    width: 8em;
    height: 6em;
    margin: 0;
    border-radius: 0.75em;
    overflow: hidden;
}
.box_mini {
    height: 100%;
    width: 100%;
}

.mini_box_sides {
    display: flex;
    align-content: center;
    align-items: start;
}
.mini_box_left {
    padding: 0.25em;
}
.mini_box_right {
    padding: 0.75em 0.5em;
}
.mini_box_wrap .newsitem_box_date {
    font-size: 0.85em;
    font-style: italic;
}
.mini_box_wrap .generic_box_title {
    font-weight: 600;
    color: #555;
    font-variant: small-caps;
    font-size: 1em;
}
.generic_picker_item {
    border: 1px solid #ccc;
    padding: 0.5em 2em;
    margin-bottom: 1em;
}
.generic_import_picker_item_pick_btn_wrap {
    margin-top: 0.75em;
}
.generic_import_picker_item_pick_btn {
    background: #eee;
    border: 1px solid #888;
    text-align: center;
    text-transform: uppercase;
    border-radius: 0.25em;
    cursor: pointer;
}

.generic_page_box_ctrl_btn {
    display: inline-block;
    background: #fff;
    color: #666;
    padding: 0.25em 1.5em;
    border-radius: 0.35em;
    text-transform: uppercase;
    border: 1px solid #888;
    cursor: pointer;
    font-size: 0.75em;
    font-weight: 400;
}

.generic_page_box_wrap_admin {
    border: 3px double #aaa;
}
.generic_page_box_ctrl_btns {
    padding: 0.5em;
}

.generic_unpublished_note{
    background: #ec1c23;
    border: 2px solid #6f1b1e;
    padding: 0.25em;
    font-weight: 600;
    text-shadow: 1px 1px 1px #000;
    text-align: center;
    font-size: 1.25em;
}

.generic_page_top_sides {
    display: flex;
    align-items: baseline;
}
.generic_page_top_left {

}
.generic_page_top_right {
    flex-grow: 1;
}
.generic_page_top .age_restriction_wrap {
    font-size: 1.25em;
    width: 2.75em;
    height: 2.75em;
    background: #fff;
    margin: 0;
    margin-right: 0.5em;
    font-weight: 300;
}

.event_specific_page_fields {
    padding: 0.75em 0.5em;
    margin: 0.5em auto;
    border: 1px solid #bbb;
    font-size: 1.15em;
    line-height: 1.75em;
    background: #f8f8f8;
}

.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_icon {
    margin-right: 0.35em;
}


.generic_cat_assignation_gencat {
	display: flex;
    margin: 1em auto;
}
.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;
    flex-basis: 36em;
}
.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%;
}

.generic_page_cats {
    font-size: 0.75em;
    margin: 0.35em auto;
}
.generic_page_cat_name {
    border: 1px solid #ccc;
    padding: 0 0.35em;
    border-radius: 0.5em;
    display: inline-block;
    margin-right: 0.15em;
    background: #f2f2f2;
}
.generic_page_cat {
    display: inline-block;
    margin-right: 0.5em;
}
.generic_page_cats .generic_page_cat::after {
    content: ',';
}
.generic_page_cats .generic_page_cat:last-child::after {
    content: '';
}
.generic_page_cat_title {
    display: inline-block;
    margin-right: 0.35em;
    font-weight: 500;
}
.generic_page_cats .generic_page_cat_title::after{
    content: ':';
}

.footer_link_editor,
.top_link_editor {
    border: 3px double #0000004d;
    background: #fff;
    margin-bottom: 1em;
}
.footer_link_editor_sides,
.top_link_editor_sides {
    display: flex;
}
.footer_link_editor_right,
.top_link_editor_right {
    flex-grow: 1;
    padding: 0.25em 1em;
}
.top_link_editor_import_btns {
    display: flex;
}
.footer_link_editor_import_btn,
.top_link_editor_import_btn {
    margin: 0;
    width: 100%;
}
.footer_link_editor_import,
.top_link_editor_import {
    flex-grow: 1;
}
.footer_link_editor_import,
.top_link_editor_import {
    flex-grow: 1;
    padding: 0.25em;
}
.footer_link_editor_import:first-child,
.top_link_editor_import:first-child{
    padding-left: 0;
}
.footer_link_editor_import:last-child,
.top_link_editor_import:last-child{
    padding-right: 0;
}
.footer_link_editor_delete_wrap,
.top_link_editor_delete_wrap {
    text-align: right;
    margin: 0.75em auto 0.25em auto;
}
.footer_link_editor_delete_btn,
.top_link_editor_delete_btn {
    display: inline-block;
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    background: #ccc;
    padding: 0 0.5em;
    border: 1px solid #aaa;
}

.footer_cols_editor {
    display: flex;
}

.footer_col_editor {
    flex-grow: 1;
    padding: 0.5em;
}

.footer_link_editors {
    border: 1px dashed #aaa;
    padding: 0.5em;
    background: #eee;
    margin-bottom: 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;
}

.event_dates_editor {
    border: 3px double #888;
    margin: 3em auto;
    padding: 1em;
}

.button{
    margin: 0;
}

.event_date_editor_delete_btn {
    font-size: 1.05em;
    padding: 0.25em 1em;
}

.gencat_type_editor_gencats {
    padding: 0.5em;
    background: #f9f9f9;
    border: 1px dashed #aaa;
    border-radius: 0.25em;
    margin-bottom: 0.5em;
}
.gencat_editor_options {
    padding: 0.5em;
    font-size: 0.85em;
    border: 1px solid #888;
    background: #fff;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.gencat_editor_name_wrap {
    margin-bottom: 0.25em;
}
.gencat_option_editor {
    margin-bottom: 0.25em;
}
.gencat_editor {
    border: 3px double #aaa;
    padding: 0.25em;
    background: #fff;
    margin: 0.5em auto;
}

.gencat_type_editor_title {
    font-size: 1.5em;
    color: #666;
    font-weight: 900;
    margin-bottom: 0.35em;
}

.gencat_type_editor {
    margin: 1.5em auto;
}
.gencat_editor_delete_btn_wrap {
    padding: 0 0.25em;
}
.gencat_editor_delete_btn {
    padding: 0.25em 1em;
    font-size: 1em;
}
.gencat_option_editor_delete_btn_wrap {
    padding: 0 0.25em;
}
.gencat_option_editor_delete_btn {
    padding: 0.25em 1em;
    font-size: 1em;
}

.gencat_editor_top {
    display: flex;
    align-items: center;
}
.gencat_editor_top_left {
    flex-grow: 1;
}
.gencat_option_editor_top {
    display: flex;
    align-items: center;
}
.gencat_option_editor_top_left {
    flex-grow: 1;
}

img.img-fit{
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.w-100{
    width: 100%;
}

.h-100{
    height: 100%;
}

.text-center{
    text-align: center;
}

.educator_editor_photo_preview_wrap {
    height: 20em;
    padding: 0.5em;
    border: 1px solid #aaa;
}

.educator_editor_photo_wrap{
    width: 20em;
}

.educator_editor_set_photo_wrap {
    margin: 0.25em 0;
}

.educator_editor_sides {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1em;
}

.educator_editor_sides_right {
    flex: 1 1 auto;
    padding: 0.5em;
}

.educator_card_admin .educator_card_sides {
    display: flex;
    align-items: center;
    justify-content: center;
}
.educator_card_admin .educator_card_right {
    flex: 1 1 auto;
    padding: 0.5em;
}

.educator_card_admin .educator_card_photo_wrap {
    width: 16em;
    height: 16em;
}
.educator_card_mini .educator_card_photo_wrap{
    width: 8em;
    height: 8em;
}

.educator_card_photo_preview_wrap {
    padding: 0.5em;
    border: 1px solid #aaa;
}

.small-btn,
.small-btn:hover,
.small-btn:active,
.small-btn:focus{
    display: inline-block;
    background: #fff;
    color: #666;
    padding: 0.25em 1.5em;
    border-radius: 0.35em;
    text-transform: uppercase;
    border: 1px solid #888;
    cursor: pointer;
    font-size: 0.75em;
    font-weight: 400;
    text-decoration: none;
}

.edit_educator_btn_wrap {
    margin: 0.25em auto;
}

.educator_card_admin {
    margin: 1em auto;
}

.educator_card_admin .educator_card_name {
    font-size: 1.35em;
    font-weight: 400;
    line-height: 1.5em;
    text-align: left;
}

.educator_card_mini .educator_card_name {
    font-size: 1em;
    font-weight: 500;
}

.educator_card_admin .educator_card_desc {
    padding: 0.25em 0.75em;
    border: 1px solid #aaa;
    font-size: 0.85em;
    background: #eee;
    border-radius: 4px;
    text-align: left;
}

.collective_educator_assigner_sides {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.collective_educator_assigner_left {
    text-align: center;
    padding: 1em;
    background: #ddd;
    box-shadow: inset 2px 2px 2px #aaa;
    border: 2px solid #999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.collective_educator_assigner_right {
    flex: 1 1 auto;
    padding: 0 1em;
}

.unset_educator_btn_wrap {
    margin-top: 0.25em;
}

.collective_educator_assigner {
    border: 3px double #888;
    padding: 1em;
    background: #f9f9f9;
}

.collective_educator_assigner_educators {
    border: 1px dashed #aaa;
    padding: 0.5em;
    background: #eee;
    border-radius: 4px;
}
.educator_card_mini {
    background: #fff;
    padding: 0.5em;
    border: 3px double #aaa;
}

.collective_educator_assigner_educators_title {
    padding: 0.25em;
    text-align: center;
    font-size: 1.35em;
    margin-bottom: 0.5em;
    background: #eee;
    border: 2px solid #ccc;
    font-weight: 500;
    color: #666;
}

.collective_item_sides {
    height: 100%;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap-reverse;
}
.collective_item_side {
    padding: 0.25em;
    flex: 0 1 14em;
}

.collective_item_side_inner {
    background: #fff;
    border: 1px solid #acacac;
    height: 100%;
}

.collective_item_left .collective_item_side_inner{
    padding: 0.25em;
    padding-top: 1.25em;
}

.collective_item_right .collective_item_side_inner{
    padding: 1em;
}

.collective_item .generic_page_title {
    font-size: 2.25em;
    margin-top: 0.75em;
}

.educator_card_photo_wrap {
    width: 100%;
    height: 12em;
}
.educator_card_name {
    font-size: 0.95em;
    font-weight: 700;
    text-align: center;
    line-height: 1.25em;
    margin-top: 0.5em;
}
.collective_item_right {
    flex: 1 1 0;
}
.educator_card_desc {
    line-height: 1.25em;
    font-size: 0.85em;
    color: #888;
    padding: 0 0.25em;
    text-align: center;
}

.educator_card {
    margin-bottom: 1em;
    padding: 0.35em;
}

.collective_item{
    height: 100%;
}
.collective_item_educators_title {
    font-weight: 600;
    margin-bottom: 0.25em;
    font-size: 1.75em;
    padding: 0 0.25em;
}

.educator_page {
    max-width: 80em !important;
}
.educator_page_sides {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    flex-wrap: wrap;
}
.educator_page_left {
    padding: 0 0.75em;
    flex: 0 1 16em;
    text-align: center;
}
.educator_page_right {
    flex: 1 1 0;
}

.educator_page_name {
    line-height: 1.15em;
    font-weight: 600;
    font-size: 1.25em;
    padding: 0.25em 0;
}
.educator_page_desc {
    font-size: 1.15em;
    line-height: 1.25em;
    color: #888;
    margin-top: 0.5em;
}
.educator_page_photo_preview_wrap {
    font-size: 0;
}
.educator_page_photo_wrap {
    border: 1px solid #aaa;
    padding: 0.35em;
}

.educator_card_link {
    padding: 0.25em 0.5em;
    width: 100%;
    margin-top: 0.5em;
}

.submission_msg {
    font-size: 0.95em;
    text-align: center;
    border: 2px solid #ccc;
    background: #f2f2f2;
    box-shadow: inset 1px 1px 1px #888;
    padding: 1em 0.5em;
}
.submission_msg_wrap{
    display: none;
}
.captcha_wrap {
    text-align: center;
}

.captcha_body {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1em;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0 auto;
}
.captcha_input_wrap {
    margin: 0 auto;
    flex: 1 1 0;
    display: block;
    padding: 0 0.25em;
}
.captcha_pic_wrap {
    flex: 0 1 0;
    margin: 0 auto;
    display: block;
    padding: 0 0.25em;
}
.captchainput {
    height: 50px;
    margin: 0;
    min-width: 100px;
    display: block;
    width: 100%;
}
.captcha_header {
    font-size: 0.85em;
}
.captcha_wrap {
    text-align: center;
    background:
    #ececec;
    border: 2px solid
    #ccc;
    box-shadow: inset 0px 0px 1px 1px
    #aaa;
    margin: 0.5em auto;
}
.captcha_header label {
    margin: 0;
    font-weight: 500;
    text-shadow: 1px 1px
    #555;
}
.captcha_header {
    font-size: 1em;
    border-bottom: 2px solid
    #ccc;
    background:
    #888;
    margin-bottom: 0.5em;
    color:
    #fff;
    box-shadow: inset 0 0 2px
    #555;
}

.footer_col_static_misc_logo {
    margin-top: 1em;
}
