@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&.css);

/*
@font-face {
    font-family: Raleway;
    src: url(fonts/raleway-bold-webfont.eot);
    src: url(fonts/raleway-bold-webfont.eot?#iefix) format('embedded-opentype'),url(fonts/raleway-bold-webfont.woff2) format('woff2'),url(fonts/raleway-bold-webfont.woff) format('woff'),url(fonts/raleway-bold-webfont.ttf) format('truetype'),url(fonts/raleway-bold-webfont.svg#ralewaybold) format('svg');
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: realm;
    src: url(fonts/realm.eot);
    src: url(fonts/realm.eot?#iefix) format("embedded-opentype"),url(fonts/realm.woff) format("woff"),url(fonts/realm.ttf) format("truetype"),url(fonts/realm.svg#realm) format("svg");
    font-weight: 400;
    font-style: normal
}*/

.clearfix::after, .container::after, .horizontal-fields::after, .page::after, .panel::after, .preliminary::after, .two-thirds-left::after, fieldset li::after {
    content: "";
    display: table;
    clear: both
}

a, body, details, div, fieldset, form, h2, html, i, input, label, li, select, span, summary, table, tbody, td, th, thead, tr, ul {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    font: inherit;
    font-family: Lato,sans-serif
}

html {
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    background: #fff;
    color: #333
}

body {
    width: 100%;
    overflow-x: hidden
}

h2 {
    font-family: Lato, sans-serif
}

h2 {
    font-size: 2.0rem
}

details {
    display: block
}

li, td {
    line-height: 18px
}

input:not([type=button]):focus, select:focus {
    outline: 0
}

a {
    color: #319acf;
    text-decoration: none
}

body, html {
    height: 100%
}

#wrapper {
    min-height: 100%;
    overflow: hidden;
    text-align: center
}

.container {
    max-width: 970px;
    text-align: left
}

#header, #main-content {
    opacity: 0
}

.overlay {
    -webkit-transition: .25s opacity ease;
    transition: .25s opacity ease;
    z-index: 11;
    width: 100%;
    height: 100%;
    background-color: #000;
    position: fixed;
    top: 0;
    opacity: 0;
    pointer-events: none
}

.overlay-visible {
    opacity: .3;
    pointer-events: all
}

.centered {
    color: #777;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 12;
}

.header-panel {
    position: fixed;
    top: 0;
    width: 100%;
    min-height: 48px;
    background-color: #319acf;
    z-index: 11
}

    .header-panel h2 {
        line-height: 36px
    }

    .header-panel h2 {
        padding-right: 108px;
        color: #fff;
        white-space: nowrap
    }

@media only screen and (max-width:1024px) {
    .header-panel h2 {
        padding-right: 444px
    }
}

@media only screen and (max-width:768px) {
    .header-panel h2 {
        padding-right: 156px
    }
}

@media only screen and (max-width:1024px) {
    .header-panel h2 {
        font-size: 1.5rem;
        line-height: 48px
    }
}

.preliminary {
    position: relative;
    max-width: 930px;
    margin-left: 260px;
    padding: 0 48px;
    text-align: left;
    color: #fff
}

#main-content {
    position: relative;
    margin: 48px 0 0 260px
}

#main {
    position: relative;
    margin: 0 28px
}

.page {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    position: relative;
    border-radius: 4px 4px 0 0;
    background-color: #fff
}

    .page .content {
        position: relative
    }

.content {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    min-height: 450px;
    padding: 10px 20px 20px 20px;
    font-size: 1.05rem
}

@media (max-width:1024px) {
    #main-content, .preliminary {
        margin-left: 0
    }
}

@media (max-width:767px) {

    #main {
        margin: 0 4px
    }
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0
}

thead {
    border-bottom: 2px solid #ddd
}

th {
    padding: 6px 10px;
    color: #777;
    font-size: .9rem;
    text-align: left;
    vertical-align: bottom
}

td {
    padding: 12px 10px;
    border-top: 1px solid #ddd;
    vertical-align: top
}

tbody tr:first-child td {
    border-top: none
}

/*.checkbox-column {
    width: 30px
}*/

input[type=text], select {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 28px;
    line-height: 26px;
    margin-top: 2px;
    padding: 0 6px;
    border: 1px solid #ccc;
    background-color: #fff;
    color: #333;
    font-size: 14px
}

input[type=text] {
    -mox-appearance: none;
    -webkit-appearance: none;
    appearance: none
}

    input[type=text]::-ms-clear {
        display: none
    }

select {
    display: inline-block;
    padding: 0 0 0 4px
}

option {
    padding: 0 6px
}

input[type=checkbox], label[for] {
    cursor: pointer
}

input[type=checkbox] {
    margin: 0 3px 0 0
}

input[type=checkbox] ~ label {
    float: none;
    width: auto;
    margin-top: 0;
    text-align: left;
    font-weight: 400 !important;
    line-height: inherit
}

input[type=checkbox] {
    vertical-align: -2px
}

input:not([type=button]):focus, select:focus {
    outline: 0;
    box-shadow: 0 0 0 2px #319acf
}

.button::-moz-focus-inner, input::-moz-focus-inner, select::-moz-focus-inner {
    border: none !important;
    outline: 0 !important
}

input::-moz-placeholder {
    color: #aaa;
    opacity: 1
}

input::-webkit-input-placeholder {
    color: #aaa
}

input:-ms-input-placeholder {
    color: #aaa
}

fieldset {
    margin-top: 20px
}

fieldset:first-child {
    margin-top: 0
}

fieldset li {
    margin-top: 10px
}

fieldset li:first-child {
    margin-top: 0
}

fieldset label {
    float: left;
    width: 200px;
    margin-top: 2px;
    line-height: 28px;
    text-align: right
}

.horizontal-fields > li {
    float: left;
    margin: 0 15px 0 0
}

    .horizontal-fields > li:last-child {
        margin-right: 0
    }

.button {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color .2s ease;
    transition: background-color .2s ease;
    background-color: #319acf;
    position: relative;
    display: inherit;
    height: 28px;
    margin-top: 2px;
    padding: 0 12px;
    border: 1px solid #319acf;
    border-radius: 2px;
    color: #fff;
    line-height: 24px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    cursor: pointer
}

    .button:hover {
        background-color: #2c8bbb;
        border-color: #2c8bbb
    }

.button-secondary {
    background-color: #e6e6e6;
    border-color: #e6e6e6;
    border-width: 2px;
    color: #333;
    font-weight: 400;
    text-shadow: none
}

    .button-secondary:hover {
        background-color: #e6e6e6;
        border-color: #d9d9d9
    }

.button-inline, .buttons .button {
    margin-right: 6px
}

.button-inline, .buttons .button {
    display: inline-block
}

.buttons {
    margin-top: 20px;
    line-height: 28px
}

#main a.icon-hover {
    color: #aaa
}

    #main a.icon-hover:hover, #main a.icon-hover:hover::before {
        color: #319acf
    }

ul {
    list-style: none
}

.two-thirds-left > li {
    float: left;
    margin-top: 10px
}

.two-thirds-left > li {
    width: 69.666%;
    margin-right: 3%
}

    .two-thirds-left > li:nth-child(-n+2) {
        margin-top: 0
    }

    .two-thirds-left > li:nth-child(even) {
        width: 27.333%;
        margin-right: 0
    }

.toolbar {
    position: relative;
    min-height: 30px;
    padding: 0 0 20px 0;
    background-color: #fff
}

.panel {
    display: none;
    margin-top: 5px;
    padding: 12px;
    border-radius: 2px;
    background: #f3f3f3
}

details {
    display: block;
    margin-bottom: 6px
}

    details summary {
        display: block;
        padding: 5px 10px;
        border: 1px solid #ddd;
        outline: 0;
        /*background-color: #f3f3f3;*/
        color: #319acf;
        /*cursor: pointer;*/
        line-height: 18px;
        background-color: #ddeef7;
        border-color: #319acf
    }

        details summary:hover {
            /*background-color: #ddeef7;
    border-color: #319acf*/
        }

        details summary::before {
            display: inline-block;
            margin: 0 5px;
            font-family: realm;
            /*content: "\e03e"*/
        }

        details summary::-webkit-details-marker {
            display: none
        }

.sticky-header-container {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: fixed;
    z-index: 10;
    background-color: #fff;
    box-shadow: 0 8px 17px 0 rgba(0,0,0,.2);
    text-align: left;
    font-size: 1.05rem
}

.calendar-select {
    border: 0 #fff solid;
    font-size: 17px;
    font-weight: bold;
    outline: 0;
    width: 185px;
    box-shadow: none;
}

    .calendar-select:focus {
        *
    border: 0 !important;
        box-shadow: none;
    }

.calendar {
    width: 253px
}

.calendar-header {
    margin-bottom: 5px;
}

    .calendar-header .nav-buttons {
        font-size: 20px;
        margin-top: 5px;
    }

    .calendar-header .horizontal-fields > li:first-child {
        margin-right: 3px
    }

.calendar-body table {
    width: auto;
    border-spacing: 1px;
    border-collapse: separate;
    font-size: 1.5rem
}

.calendar-body thead {
    padding-bottom: 5px
}

.calendar-body td, .calendar-body th {
    width: 35px;
    padding: 0;
    text-align: center
}

.calendar-body th {
    padding-bottom: 10px;
    font-size: .9rem;
    font-weight: 700;
    color: #aaa
}

.calendar-body tbody {
    background: #ddeef7;
    color: #319acf
}

    .calendar-body tbody td {
        height: 25px;
        padding-top: 18px;
        border-top: none;
        border-bottom: 3px solid transparent;
        cursor: pointer
    }

        .calendar-body tbody td.alt {
            background: #e8f3d6;
            color: #79b70e
        }

        .calendar-body tbody td.today {
            color: #1873ab;
            font-weight: 700
        }

        .calendar-body tbody td.selected {
            background: #8dc7e4;
            color: #fff;
            font-weight: 700
        }

    .calendar-body tbody .month-header {
        position: absolute;
        top: 0;
        width: 100%;
        margin-top: -18px;
        font-size: .9rem;
        font-weight: 700
    }

@media only screen and (max-height:320px) {
    .calendar-body tbody tr {
        display: none
    }

        .calendar-body tbody tr.visible-week {
            display: table-row
        }
}

details .detail-node, details summary {
    margin: 2px 0;
    padding: 4px 10px 4px 0;
    border: 1px solid transparent
}

    details .detail-node > *, details summary > * {
        vertical-align: middle
    }

.agenda-view {
    position: relative;
    overflow-y: auto;
    margin-top: 4px;
    height: 65vh
}

details.ministry-area-details {
    margin-bottom: 0
}

    details.ministry-area-details .detail-node:hover {
        /*background-color: #ddeef7;
    border-color: #319acf*/
    }

        details.ministry-area-details .detail-node:hover::after {
            border: none
        }

    details.ministry-area-details summary {
        background-color: #fff;
        color: #000;
        border-color: #fff;
        border-top: 1px solid #a6a6a6;
        font-size: 1.4em;
        margin: 0;
        padding: 14px 10px 10px 0
    }

        details.ministry-area-details summary::before {
            display: none
        }

        details.ministry-area-details summary:not(.draggable) {
            padding-left: 5px
        }

            details.ministry-area-details summary:not(.draggable)::after {
                width: 0
            }

.text-muted {
    font-weight: 400
}

.text-bold {
    font-weight: 700
}

i {
    font-style: italic
}

.text-muted {
    color: #aaa
}

[disabled] {
    opacity: .5 !important
}

[disabled] {
    cursor: default !important;
    pointer-events: none
}

.left {
    float: left !important
}

.right {
    float: right !important
}

.no-border, .no-border > tbody > tr > td {
    border: none !important
}

.hidden {
    display: none
}

.relative {
    position: relative !important
}

div.divider {
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #e6e6e6
}

@media only screen and (max-width:850px) {

    .two-thirds-left > li {
        width: 48.5%;
        margin-right: 3%
    }

        .two-thirds-left > li:nth-child(even) {
            width: 48.5%
        }
}

@media only screen and (max-width:768px) {

    fieldset {
        margin-top: 10px
    }

        fieldset label {
            float: none;
            width: auto;
            margin-top: 0;
            text-align: left;
            line-height: inherit
        }

    .two-thirds-left > li {
        float: none;
        width: auto;
        margin-right: 0
    }

        .two-thirds-left > li:nth-child(-n+2) {
            margin-top: 10px
        }

        .two-thirds-left > li:nth-child(even) {
            width: auto;
            margin-right: 0
        }

        .two-thirds-left > li:first-child {
            margin-top: 0
        }

    .page {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .content {
        width: auto;
        border: none
    }

    .horizontal-fields > li {
        margin-right: 7px
    }
}

@media only screen and (max-width:600px) {
    #main {
        margin: 0
    }

    .sticky-header-container {
        padding: 16px !important
    }

    .sticky-header-container, table:not(.not-responsive) {
        width: auto;
        /*margin: 0 -20px*/
    }

        table:not(.not-responsive), table:not(.not-responsive) tbody, table:not(.not-responsive) td, table:not(.not-responsive) tr {
            display: block;
            clear: both;
            float: none
        }

            table:not(.not-responsive) tr {
                position: relative;
                margin-top: 6px;
                padding: 16px;
                border-bottom: none
            }

            /*table:not(.not-responsive) thead th.checkbox-column.visible-on-mobile:after {
        content: 'Select All'
    }*/

            table:not(.not-responsive) tbody tr {
                margin-top: 0;
                padding: 16px;
                border-bottom: 1px solid #d1d1d1
            }

                table:not(.not-responsive) tbody tr:first-child {
                    border-top: 1px solid #d1d1d1
                }

                table:not(.not-responsive) tbody tr:nth-child(odd) {
                    background: #f3f3f3
                }

            table:not(.not-responsive) tbody td {
                padding: 3px 0;
                border: none
            }
}

@media screen and (max-width:480px) and (-webkit-min-device-pixel-ratio:0) {
    input[type=text]:focus, select:focus {
        font-size: 1.25rem
    }
}

@media print {
    .sticky-header-container, .toolbar {
        display: none
    }

    #wrapper {
        overflow: visible
    }

    #main-content {
        margin: 24px 0 0 0
    }

    .container {
        max-width: 100%
    }

    .content, .preliminary {
        padding-top: 0
    }
}

.toolbar > div {
    margin-top: 6px
}

tbody:not(:first-child) {
    border-top: 1px solid #ddd
}

/* EDITED STYLES */
/* Calendar Plugin */
.calendar-header {
    margin-bottom: 10px;
}

.calendar-header .horizontal-fields > li:first-child {
    margin-right: 6px;
}

.calendar-header .calendar-select {
    border: none;
    font-size: 20px;
    font-weight: bold;
    outline: 0;
    box-shadow: none;
    color: #777;
}

.calendar-header .calendar-select:hover {
    border-color: #ccc;
}

.calendar-header .calendar-select:focus {
    border: none !important;
    outline: none;
    box-shadow: none;
}

.calendar-header .calendar-select option {
    font-size: 1.15rem;
    font-weight: 400;
}

.calendar-header .nav-buttons {
    margin-top: 7px;
}

.event-time {
    font-size: 1.0rem;
}

.empty-date {
    padding: 0 0 10px 10px;
}

.event-name {
    font-size: 1.2rem;
    padding-right: 3px;
}

#filter-panel li {
    width: 100%;
}

#search-panel li {
    width: 100%;
}

.details {
}

.details-section {
    margin-top: 10px;
}

.details-toggle {
    color: #666;
    cursor: pointer;
    font-size: 0.8em;
}

.info {
    position: relative;
}

.info-box {
    position: absolute;
    top: 20px;
    border: solid 1px #333;
    background-color: #f3f3f3;
    color: #000;
    font-size: 0.9rem;
    padding: 3px;
    min-width: 350px;
    line-height: 1.0rem;
    z-index: 5;
}

    .info-box div:nth-child(2) {
        padding-top: 3px;
    }

.row-time {
    width: 25%;
}

.row-recurring {
    width: 5%;
}

.row-detail {
    width: 75%;
}

.checkbox-column {
    display: inline-block;
    padding: 3px 0;
    width: 33%;
}

.search-column-name {
    /*display: inline-block;*/
    padding: 3px 20px 0 0;
    width: 100%;
}

.search-column-name, #search-name, .close-icon {
    position: relative;
}

.search-column-name label {
    position: relative;
    display: inline-block;
    width: 100%;
}

.search-column-name input {
    width: 65%;
}

.close-icon {
	border:1px solid transparent;
	background-color: transparent;
	display: inline-block;
	vertical-align: middle;
    outline: 0;
    cursor: pointer;
    margin-left: -25px;
    margin-top: -4px;
}

/*.close-icon:after {
	content: "X";
	display: block;
	width: 15px;
	height: 15px;
	position: absolute;
	z-index: 5;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	padding: 2px;
	text-align: center;
	color: #777;
	font-weight: normal;
	font-size: 12px;
	cursor: pointer;
    overflow: visible;
}*/

/*#search-name:not(:valid) ~ .close-icon {
	display: none;
}*/

#calendar-close {
    display: none;
}

#error-message > div {
    display: inline-block;
    padding-right: 10px;
    font-size: 1.3rem;
    line-height: 1.2em;
}

.date-header {

}

.cancelled {
    background: #666;
    color: #fff;
    font-size: 0.85rem;
    padding: 4px;
    border-radius: 5px;
}

.responsive {
    display: none;
}

[v-cloak] {
    display: none;
}

@media only screen and (max-width: 768px) {
    .content {
        padding-top: 3px;
    }

    .checkbox-column {
        width: 50%;
        padding: 7px 0;
    }

    .responsive {
        display: inline-block;
    }

    .toolbar {
        min-height: unset;
        padding: 0;
    }

    #top-button {
        display: none;
    }

    .responsive-cal {
        position: fixed;
        top: 47px;
        left: 0;
        right: 0;
        min-width: unset;
        max-height: 500px;
        background: #fff;
        border: solid 1px #ccc;
        z-index: 5;
    }

    #calendar {
        margin: 0 auto;
    }

    #calendar-close {
        display: block;
        padding: 0 15px 25px 0;
    }

    #filter-panel {
        position: fixed;
        top: 47px;
        margin: 0;
        left: 0;
        right: 0;
        min-width: unset;
        max-height: 75vh;
        border: solid 1px #ccc;
        z-index: 5;
    }

    #filter-close {
        padding-top: 10px;
    }

    #search-panel {
        position: fixed;
        top: 47px;
        margin: 0;
        left: 0;
        right: 0;
        min-width: unset;
        max-height: 42vh;
        border: solid 1px #ccc;
        z-index: 5;
    }

    .search-column-name input {
        width: 90%;
    }

    #search-close {
        padding-top: 10px;
    }

    .calendar-box {
        display: none;
        position: relative
    }
}

@media only screen and (max-width: 601px) {

    .fa-chevron-up, .fa-chevron-down {
        font-size: 1.3rem;
    }

    .row-time {
        width: 50%;
        display: inline-block !important;
        clear: none !important;
    }

    .row-recurring {
        width: 10%;
        display: inline-block !important;
        clear: none !important;
    }

    .row-detail {
        width: 100%;
    }

    .info-box {
        position: fixed;
        top: 47px;
        font-size: 1.1rem;
        margin: 0;
        left: 0;
        right: 0;
        line-height: 1.3rem;
        min-width: unset;
        padding: 10px;
        z-index: 5;
    }

    .checkbox-column {
        width: 100%;
        padding: 10px 0;
    }

    .checkbox-column > input[type=checkbox] ~ label {
        font-size: 1.0rem;
    }

    #calendar-filter-content {
        max-height: 65vh;
        overflow-y: auto;
    }

    .search-column-name {
        width: 100%;
    }
}

@media only screen and (max-width:480px) {
    .agenda-view {
        height: 85vh;
    }

    .header-panel h2 {
        padding: 3px 0;
        line-height: 20px;
        white-space: initial;
    }
}

@media only screen and (max-width:321px) {
    .agenda-view {
        height: 80vh;
    }
}

@media only screen and (max-height: 500px) {
    /*.agenda-view {
        max-height: 60vh;
    }*/
}

@media only screen and (max-height: 376px) {
    #filter-panel {
        max-height: 75vh;
    }

    #calendar-filter-content {
        height: 60vh;
        overflow-y: auto;
    }
}
