/* General Styles */

body {
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a, button {
    transition: all .3s;
}

a {
    text-decoration: underline dotted transparent;
}

a:hover, a:focus {
    text-decoration-style: dotted;
}

p {
    margin: 0 0 1.125rem 0;
}


/* Calendar Spud - Main Calendar Customization */

/* - Search Status Panel Customization */

div.twSearchInfoWrap {
    border-radius: 4px;
}

div.twSearchInfoWrap .twSearchInfoLabel {
    margin-left: 0;
}


/* Calendar Spud - List Calendar View Style Customization */

div.twSimpleListGroupHead {
    background-color: #73000a;
    color: white;
    line-height: 1.2;
    text-align: center;
    border-radius: 4px 4px 0 0;
}

div.twSimpleListSubGroupHead {
    text-align: center;
    line-height: 1.2;
    border-radius: 4px;
    background-color: #eee;
    margin-bottom: .25rem;
}

div.twSimpleListEvent0 {
    background-image: none;
    background-color: white;
}

div.twSimpleListEvent0 + div.twSimpleListEvent0 {
    border-top: 2px dotted #ddd;
}

div.twSimpleListEvent0 div.twDescription a {
    text-decoration: underline dotted transparent;
}

div.twSimpleListEvent0 div.twDescription a:hover, div.twSimpleListEvent0 div.twDescription a:focus {
    text-decoration-style: dotted;
}

div.twSimpleListEvent0 .twEventDetails .twRyoEventCellLeft input[type="checkbox"] {
    vertical-align: top;
    margin-top: 8px;
}

.twRyoTableWrapper {
    table-layout: fixed;
}

.twRyoEventCellLeft {
    width: 24px;
}

.twRyoEventCellRight {
    padding: 0;
}

.twRyoEventCellRight p {
    margin: 1rem 0 0 0;
}

.twRyoEventCellRight p:empty {
    display: none;
}


/* Calendar Spud - Event Detail View Enhanced Customization */

table.twEDHeader {
    border-bottom: 0;
}

.twEDDescription {
    display: block;
    margin-right: 0;
    margin-bottom: 6px;
    line-height: 1.2;
}

.twFieldsTable {
    width: 100%;
}

.twFieldsTable tr:nth-child(odd) {
    background-color: #f6f6f6;
}

.twEDNotes {
    margin-top: -1rem;
    margin-bottom: 1.5rem;
}

.twEDNotes p {
    margin: 1rem 0 0 0;
}

.twEDNotes p:empty {
    display: none;
}

.twFieldsTable td, .twFieldsTable th {
    padding: .65rem 10px !important;
    line-height: 1.2;
}

.twEDLabel span {
    line-height: 1.2;
}

div .twEventDetailEALinks {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 0;
    padding: 0;
    margin: 1.5rem 0 1rem 0;
}

div .twEventDetailEALinks > span {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    top: 0 !important;
    margin-right: 0 !important;
    margin-left: 15px !important;
}

.twEaActions {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.twEaActions button {
    font-weight: 700;
    margin-left: 0;
    margin-right: 5px;
}


/* Control Spud - Search Style Customization */

div.twSearchBody {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: .2rem;
}

div.twSearchBody * {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

div.twSearchBody a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: .2rem;
    bottom: .2rem;
    right: .2rem;
    width: 46px;
}

div.twSearchWrap .twSearchHead {
    font-weight: 300;
}

div.twSearchWrap div.twSearchBody input.twSearchTextbox {
    width: auto;
    min-width: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    background-color: #f6f6f6;
    border: 1px solid #ccc;
    padding: .75rem 46px .75rem 12px;
    min-height: 46px;
    line-height: 1.2;
    border-radius: 4px;
    -webkit-transition: background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    -o-transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
}

div.twSearchWrap div.twSearchBody input.twSearchTextbox:focus {
    background-color: white;
    border-color: #b59a57;
    outline: 0;
    -webkit-box-shadow: 0 0 0 .2rem #f0ebdd;
            box-shadow: 0 0 0 .2rem #f0ebdd;
}


/* Promotion Spud - Date Finder Customization */

td.twMiniCalMonthLabel {
    font-weight: 300;
}

table.twMiniCalTable .twMiniCalWeek {
    padding: 2px;
}

table.twMiniCalTable td {
    padding: 4px;
}

table.twMiniCalTable td.twMiniCalEventDay,
table.twMiniCalTable td.twMiniCalWeekendEventDay {
    background-color: #f3efe4;
}

table.twMiniCalTable td.twMiniCalOtherMonthEventDay {
    background-color: #e6e6e6;
}

table.twMiniCalTable td.twMiniCalToday {
    color: white;
    background-color: #73000a;
}

table.twMiniCalTable td.twMiniCalToday a {
    color: white;
}


/* Hosted View Page Customization */

#topBanner {
    padding: 0;
    box-sizing: border-box;
}

#topBanner * {
    box-sizing: border-box;
}

#aboveFace {
    padding: 0 0 1.25rem 0;
}

#topBanner table {
    text-align: center;
    background-color: #73000a;
}

#topBanner table .calPhotoCell, #topBanner table .calIntro {
    display: block;
    width: 100%;
}

#topBanner .calPhotoCell {
    padding: 1.25rem 20px .5rem 20px;
}

#topBanner .calPhotoCell a {
    display: inline-block;
}

#topBanner .calPhoto {
    width: 100% !important;
    height: auto !important;
    max-width: 300px;
    color: white;
}

#topBanner .calIntro h1 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

#topBanner .calIntro {
    padding: .5rem 20px 1.25rem 20px;
}

#topBanner .calIntro p {
    color: white;
    margin: 0;
    font-size: .875rem;
    font-style: italic;
}

#topBanner .calIntro .paren {
    display: none;
}

.leftContentPanel {
    width: 20%;
    min-width: 185px;
}

#sidebarColumn {
    padding-left: 40px;
}

#contentColumn {
    margin: 0 40px;
}

.mobileNavButton {
    margin: 5px 20px !important;
}

@media only screen and (max-width: 735px) {
    #sidebarColumn {
        padding-left: 20px !important;
    }
    
    #contentColumn {
        margin: 0 20px;
    }
}