/*
* Created By: MDC Web Services
* Description: Site stylesheet 
* Revised: 02/28/2018
*/

/*====== START: Sticky header ======*/
#siteNav.navbar {
    border: 0;
}

#siteNav.fixed {
    position: fixed;
    top: 51px;
    height: 52px;
    z-index: 101;
    width: 100%;
    /*background-color: #005dab;*/
}

#siteNav.fixed .navbar-header {
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.5);
}

#siteNav .navbar-collapse {
    background-color: #005dab;
}

.sticky-title {
    display: none;
}

#siteNav button.dropdown-toggle {
    background: none;
    border: none;
    box-shadow: none;
    padding: 14.5px 15px;
}

/*Flash Alerts*/

#flash-alert {
    display: none;
}

/*Scroll to top button*/

body #back-to-top {
    cursor: pointer;
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
    padding: 10px 14px;
    z-index: 1;
}

figure.caption-panel {
    margin-bottom: 1em;
}

figure[class*="col-"].caption-panel .caption-container:not(.caption-fadein) {
    position: static;
}

.thumbnail img {
    width: 100%;
    max-width: 100%;
}

.title-indent {
    padding-right: 15px;
    padding-left: 15px;
}

img.img-responsive {
    width: 100%;
}

/*Multi level sidebar*/

#column_left {
    background-color: #515151;
}

.nav-list li a {
    text-decoration: none;
    display: block;
    padding: 10px;
    cursor: pointer;
    border-bottom: 1px solid #515151 !important;
    color: #9d9d9d;
}

.nav-list>li>a {
    color: #C4C4C4;
    font-size: 14px;
    padding-left: 13px !important;
    border-bottom: 1px solid #585858;
}

.nav-list>li>a:hover {
    background-color: #444444;
}

/*.thumbnail-grid figure {
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}
*/

/* CAROUSEL OVERRIDE */

.play-pause {
    position: absolute;
    top: 20px;
    right: 45px;
    color: white;
    border: 1px solid;
    height: 32px;
    width: 40px;
    background-color: rgba(0, 0, 0, 0.5);
    margin: auto;
    z-index: 20;
}

.play-pause:hover {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.9);
}
/* ======= Helper styles ====== */

/*Img Alignment*/

.float-center img {
    position: absolute;
    top: 0;
    left: 25%;
    right: 25%;
    /* margin-left: -125px; */
    width: 50%;
}

.float-center {
    position: relative;
    background: red;
    width: 90%;
    margin: 80px auto;
}

.float-center .col {
    width: 49%;
}

.float-center .col:before {
    content: "";
    width: 125px;
    height: 250px;
}

/*.float-center:after {
    content: "";
    display: table;
    clear: both;
}
*/


.tight-to-footer {
    margin-bottom: -30px;
}

/*allows you to replace the .row class in order to make the layout narrow*/
.slimfit {
    margin-left: auto;
    margin-right: auto;
}
.slimfit:after {
  content: "";
  display: table;
  clear: both;
}


/*Carousel options*/

.carousel-caption.bottom-right {
    right: 0;
    bottom: 10px;
    left: 40%;
}

.carousel-caption.bottom-left {
    right: 40%;
    bottom: 10px;
    left: 0;
}

.carousel-caption.ct-align {
    /*padding: 50px 15px;*/
}

.carousel-caption.ct-align.bottom-right {
    top: 50%;
    bottom: 10%;
    /*bottom: 5%;*/
    left: 50%;
    right: 10%;
}

.carousel-caption.ct-align.bottom-left {
    top: 50%;
    bottom: 10%;
    /*bottom: 5%;*/
    left: 10%;
    right: 50%;
}

.carousel-caption.ct-align.top-left {
    top: 10%;
    bottom: 40%;
    /*bottom: 30%;*/
    left: 10%;
    right: 50%;
}

.carousel-caption.ct-align.top-right {
    top: 10%;
    bottom: 40%;
    /*bottom: 30%;*/
    left: 50%;
    right: 10%;
}

.carousel-caption strong {
    display: block;
    margin: 0 0 5px;
    line-height: 20px;
    color: #fff;
    font-size: 17.5px
}

.carousel-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 2em;
    background: #333;
    background: rgba(0, 0, 0, 0.75);
}

.floating-captions .carousel-caption {
    text-align: left;
}

.floating-captions h3 {
    font-size: 22px;
    border-bottom: 4px solid #005994;
    margin-bottom: 20px;
    color: #005994;
    line-height: 34px
}

.floating-captions h4 {
    margin-top: 0;
    margin-bottom: 4px;
    font-size: 16px;
    line-height: 24px
}

.floating-captions .carousel-control {
    background: none;
    width: 50px;
    height: 50px;
    border: 3px solid #fff;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
    opacity: .5;
}

.floating-captions .carousel-control.left {
    left: 15px;
}

.floating-captions .carousel-control.right {
    right: 15px;
    left: auto;
}

.floating-captions .carousel-control:hover {
    opacity: 1;
}

/* ====== START: craftCal Calendar Embed ======*/
.columnflow > br{
    /*removes line breaks that are placed by default from calendar plugin*/
    display: none;
}
/* ====== END: craftCal Calendar Embed ======*/

/* Multi-Level Accordion Sidebar Menu

-------------------------------- */

.cd-accordion-menu {
    width: 100%;
    background: #26323e;
    padding-left: 0;
    list-style: none;
    margin-bottom: 20px;
}

.cd-accordion-menu ul {
    /* by default hide all sub menus */
    display: none;
    list-style: none;
    padding-left: 0;
}

.cd-accordion-menu li {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.cd-accordion-menu li.has-children label,
.cd-accordion-menu li.has-children .label,
.cd-accordion-menu li:not(.has-children) {
    border-bottom: 1px solid #6e8caa;
    /*border-bottom: 1px solid #eee;*/
}

.cd-accordion-menu input[type=checkbox] {
    /* hide native checkbox */
    position: absolute;
    opacity: 0;
}

.cd-accordion-menu label,
.cd-accordion-menu .label,
.cd-accordion-menu a {
    position: relative;
    display: block;
    padding: 18px 18px 18px 64px;
    background: #005dab;
    font-size: 1em;
    color: #ffffff;
    text-align: left;
}

.cd-accordion-menu ul label,
.cd-accordion-menu ul .label,
.cd-accordion-menu ul a {
    /*color: #333;*/
}


/*.cd-accordion-menu label:hover,
.cd-accordion-menu .label:hover,
.cd-accordion-menu label:focus,
.cd-accordion-menu .label:focus*/

.cd-accordion-menu li a:hover,
.cd-accordion-menu li a:focus {
    background: #1b4a7a;
}

.no-touch .cd-accordion-menu label:hover,
.no-touch .cd-accordion-menu .label:hover,
.no-touch .cd-accordion-menu a:hover {
    background: #52565d;
}

.cd-accordion-menu label::before,
.cd-accordion-menu label::after,
.cd-accordion-menu .label::before,
.cd-accordion-menu .label::after,
.cd-accordion-menu a::after {
    /* icons */
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.cd-accordion-menu label,
.cd-accordion-menu .label {
    cursor: pointer;
    margin-bottom: 0;
}

.cd-accordion-menu label::before,
.cd-accordion-menu label::after,
.cd-accordion-menu .label::before,
.cd-accordion-menu .label::after {
    background-image: url(../img/cd-icons.svg);
    background-repeat: no-repeat;
}

.cd-accordion-menu label::before,
.cd-accordion-menu .label::before {
    /* arrow icon */
    left: 18px;
    background-position: 0 0;
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -moz-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    -o-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
}

.cd-accordion-menu label::after,
.cd-accordion-menu .label::after {
    /* folder icons */
    left: 41px;
    background-position: -16px 0;
    background-image: none;
}

.cd-accordion-menu a::after {
    /* image icon */
    /*left: 36px;
    background: url(../img/cd-icons.svg) no-repeat -48px 0;*/
}

/*.cd-accordion-menu input[type=checkbox]:checked+label::before*/

.cd-accordion-menu label.expanded::before,
.cd-accordion-menu .label.expanded::before {
    /* rotate arrow */
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

/*.cd-accordion-menu input[type=checkbox]:checked+label::after*/

.cd-accordion-menu label.expanded::after,
.cd-accordion-menu .label.expanded::after {
    /* show open folder icon if item is checked */
    background-position: -32px 0;
}

/*.cd-accordion-menu input[type=checkbox]:checked+label+ul,
.cd-accordion-menu input[type=checkbox]:checked+label:nth-of-type(n)+ul*/

.cd-accordion-menu .label.expanded+ul,
.cd-accordion-menu .label.expanded:nth-of-type(n)+ul {
    /* use label:nth-of-type(n) to fix a bug on safari (<= 8.0.8) with multiple adjacent-sibling selectors*/
    /* show children when item is checked */
    display: block;
}

/*
.cd-accordion-menu li.has-children ul li > label {
    background-color: #607285;
}
*/

.cd-accordion-menu ul label,
.cd-accordion-menu ul .label,
.cd-accordion-menu ul a {
    background: transparent;
    box-shadow: inset 0 -1px #41444a;
    /*padding-left: 82px;*/
}

.no-touch .cd-accordion-menu ul label:hover,
.no-touch .cd-accordion-menu ul .label:hover,
.no-touch .cd-accordion-menu ul a:hover {
    /*background: #3c3f45;*/
}

.cd-accordion-menu>li:last-of-type>label,
.cd-accordion-menu>li:last-of-type>.label,
.cd-accordion-menu>li:last-of-type>a,
.cd-accordion-menu>li>ul>li:last-of-type label,
.cd-accordion-menu>li>ul>li:last-of-type .label,
.cd-accordion-menu>li>ul>li:last-of-type a {
    box-shadow: none;
}

.cd-accordion-menu ul label::before,
.cd-accordion-menu ul .label::before {
    left: 36px;
}

.cd-accordion-menu ul label::after,
.cd-accordion-menu ul .label::after,
.cd-accordion-menu ul a::after {
    left: 59px;
}

.cd-accordion-menu ul ul label,
.cd-accordion-menu ul ul .label,
.cd-accordion-menu ul ul a {
    padding-left: 100px;
}

.cd-accordion-menu ul ul label::before,
.cd-accordion-menu ul ul .label::before {
    left: 54px;
}

.cd-accordion-menu ul ul label::after,
.cd-accordion-menu ul ul .label::after,
.cd-accordion-menu ul ul a::after {
    left: 77px;
}

.cd-accordion-menu ul ul ul label,
.cd-accordion-menu ul ul ul .label,
.cd-accordion-menu ul ul ul a {
    padding-left: 118px;
}

.cd-accordion-menu ul ul ul label::before,
.cd-accordion-menu ul ul ul .label::before {
    left: 72px;
}

.cd-accordion-menu ul ul ul label::after,
.cd-accordion-menu ul ul ul .label::after,
.cd-accordion-menu ul ul ul a::after {
    left: 95px;
}

@media only screen and (min-width: 1025px) {
    .cd-accordion-menu label,
    .cd-accordion-menu .label,
    .cd-accordion-menu a {
        /*padding: 24px 24px 24px 82px;*/
        /*font-size: 1.9rem;*/
    }
    .cd-accordion-menu ul label::before,
    .cd-accordion-menu ul .label::before {
        /*left: 48px;*/
        left: 3em;
    }
}

@media (min-width: 992px) and (max-width: 1024px) {
    .cd-accordion-menu label,
    .cd-accordion-menu .label,
    .cd-accordion-menu a {
        /*padding: 24px 24px 24px 42px;
        padding: 18px 18px 18px 64px;*/
        padding: 10px 10px 10px 64px;
    }
}

@media only screen and (min-width: 600px) {
    .cd-accordion-menu label::before,
    .cd-accordion-menu .label::before {
        left: 24px;
    }
    .cd-accordion-menu label::after,
    .cd-accordion-menu .label::after {
        left: 53px;
    }
    .cd-accordion-menu ul label,
    .cd-accordion-menu ul .label,
    .cd-accordion-menu ul a {
        /*padding-left: 106px;*/
    }
    .cd-accordion-menu ul label::after,
    .cd-accordion-menu ul .label::after,
    .cd-accordion-menu ul a::after {
        left: 77px;
    }
    .cd-accordion-menu ul ul label,
    .cd-accordion-menu ul ul .label,
    .cd-accordion-menu ul ul a {
        /*padding-left: 130px;*/
        padding-left: 90px;
    }
    .cd-accordion-menu ul ul label::before,
    .cd-accordion-menu ul ul .label::before {
        left: 72px;
    }
    .cd-accordion-menu ul ul label::after,
    .cd-accordion-menu ul ul .label::after,
    .cd-accordion-menu ul ul a::after {
        left: 101px;
    }
    .cd-accordion-menu ul ul ul label,
    .cd-accordion-menu ul ul ul .label,
    .cd-accordion-menu ul ul ul a {
        padding-left: 154px;
    }
    .cd-accordion-menu ul ul ul label::before,
    .cd-accordion-menu ul ul ul .label::before {
        left: 96px;
    }
    .cd-accordion-menu ul ul ul label::after,
    .cd-accordion-menu ul ul ul .label::after,
    .cd-accordion-menu ul ul ul a::after {
        left: 125px;
    }
}

.cd-accordion-menu.animated label::before,
.cd-accordion-menu.animated .label::before {
    /* this class is used if you're using jquery to animate the accordion */
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    transition: transform 0.3s;
}

@media (max-width: 399px) {
    .floating-captions .carousel-control {
        top: 15%;
        border: none;
    }
}

@media (min-width: 400px) and (max-width: 599px) {
    .floating-captions .carousel-control {
        top: 20%;
    }
}


@media (min-width: 600px) and (max-width: 640px) {
    .floating-captions .carousel-control {
        top: 27%;
    }
}

/* Small devices (tablets, 768px and up) */

@media (min-width: 640px) and (max-width: 767px) {
    .floating-captions .carousel-control {
        top: 27%;
    }
}

@media (max-width: 767px) {
    .navbar-default .navbar-nav li {
        border-bottom: 1px solid #eee;
    }
    .navbar-default .navbar-nav li:last-child {
        border-bottom: none;
    }
    .navbar-default .navbar-nav .open .dropdown-menu>li>a {
        color: inherit;
    }
    #siteNav button.dropdown-toggle {
        width: 100%;
        text-align: left;
    }
    #siteNav.fixed .sticky-title {
        display: inline-block;
        font-weight: bold;
        color: #000;
        float: left;
        width: 80%;
        padding-top: 10px;
    }
    .page-navigation .dropdown-menu a:before {
        position: relative;
        top: 1px;
        display: inline-block;
        font-family: 'Glyphicons Halflings';
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\e250";
        padding-left: 1em;
        padding-right: 0.5em;
    }
    .dropdown-menu>li>a {
        font-weight: 600;
    }
    .mdc-carousel .carousel-control .icon-prev,
    .mdc-carousel .carousel-control .icon-next,
    .mdc-carousel .carousel-control .glyphicon-chevron-left,
    .mdc-carousel .carousel-control .glyphicon-chevron-right {
        top: 35%;
    }
    .carousel-control .icon-prev,
    .carousel-control .icon-next,
    .carousel-control .glyphicon-chevron-left,
    .carousel-control .glyphicon-chevron-right {
        top: 25%;
    }
}

@media (min-width: 768px) {
    .tile-gallery .image-block.hover-transition>p {
        height: auto;
        width: 100%;
        bottom: -30px;
        line-height: 25pt;
        text-align: center;
        padding-top: 0;
        transition: all 300ms ease-out;
        position: absolute;
    }
    .tile-gallery .image-block.hover-transition.multilines>p {
        bottom: -51px;
    }
    .tile-gallery .image-block.hover-transition:hover>p,
    .tile-gallery .image-block.hover-transition:focus>p {
        -moz-transform: translateY(-60%);
        -o-transform: translateY(-60%);
        -webkit-transform: translateY(-60%);
        transform: translateY(-60%);
    }
    .mdc-carousel .carousel-control .icon-prev,
    .mdc-carousel .carousel-control .icon-next,
    .mdc-carousel .carousel-control .glyphicon-chevron-left,
    .mdc-carousel .carousel-control .glyphicon-chevron-right {
        top: 40%;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    body .tile-gallery .image-block>p {
        font-size: 14px;
        padding-top: 120px;
    }
    .floating-captions .carousel-control {
        top: 30%;
    }
}

@media (max-width: 991px) {
    .hang {
        margin-bottom: 1em;
    }
    .cta-section-content {
        padding: 30px;
    }

    .floating-captions .carousel-caption {
        position: static;
    }
}

/* Medium devices (desktops, 992px and up) */

@media (min-width: 992px) {
    .hang.left {
        float: left;
        margin-right: 1em;
    }
    .hang.right {
        float: right;
        margin-left: 1em;
    }
    .cta-section {
        width: 100%;
        position: relative;
    }
    .cta-section-container {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        display: table;
    }
    .cta-section-content {
        display: table-cell;
        vertical-align: middle;
    }
    .cd-accordion-menu {
        /*margin: 4em auto;*/
        max-width: 600px;
    }
    /*Vertical align center*/
    .vcenter {
      /*  display: inline-block;
        vertical-align: middle;
        float: none;*/
         display: flex;
    justify-content: center;
    align-items: center;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .tile-gallery .image-block>p {
        font-size: 16px;
    }
    .cta-section {
        /*height: 338px;*/
        height: 411px;
    }
    .cta-section-container {
        /*height: 338px;*/
        height: 411px;
    }
    .col-sm-10 .cta-section {
        height: 338px;
    }
    .col-sm-10 .cta-section-container {
        height: 338px;
    }
    .floating-captions .carousel-control {
        top: 45%;
    }
}

/* Large devices (large desktops, 1200px and up) */

@media (min-width: 1200px) {
    .tile-gallery .image-block>p {
        font-size: 19px;
    }
    .navbar-default .navbar-nav li a,
    .navbar-default .navbar-nav li a:focus,
    #siteNav button.dropdown-toggle {
        font-size: 1.1em;
    }
    .cta-section {
        /*height: 413px;*/
        height: 500px;
    }
    .cta-section-container {
        /*height: 413px;*/
        height: 500px;
    }
    .col-sm-10 .cta-section {
        height: 413px;
    }
    .col-sm-10 .cta-section-container {
        height: 413px;
    }

    .floating-captions .carousel-control {
        top: 40%;
    }
}

.featured-panel {
    background-color: #f1f1f1;
}

.cta-section hr {
    border-top: 1px solid #313131;
}

/*.cta-section a {
    color: #ffffff;
}*/

.cta-section-content {
    padding-right: 30px;
}

.cta-section-content h4 {
    font-weight: 400;
    font-size: 26px;
}

/*login area*/

/* reference: /MDC-Templates-14/components/carousel-fs-login-box.aspx*/

.login-box {
    position: absolute;
    right: 0;
    top: 1px;
    z-index: 999999;
    background: rgba(255, 255, 255, 0.80);
    padding: 30px;
}

.user-info {
    padding-top: 20px;
    padding-bottom: 14px;
}

.branding {
    background: #02478a;
    /* Old browsers */
    background: -moz-linear-gradient(top, #02478a 0%, #00adff 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #02478a), color-stop(100%, #00adff));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #02478a 0%, #00adff 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #02478a 0%, #00adff 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #02478a 0%, #00adff 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, #02478a 0%, #00adff 100%);
    /* W3C */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#02478a', endColorstr='#00adff', GradientType=0);
    /* IE6-9 */
}

.branding img {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}

/*Style*/

.color-primary {
    background-color: #2196f3;
    color: #ffffff;
    height: 120px;
    padding: 30px;
}

.color-primary-hue1 {
    background-color: #bbdefb;
    height: 120px;
    padding: 30px;
}

.color-primary-hue2 {
    background-color: #0d47a1;
    color: #ffffff;
    height: 120px;
    padding: 30px;
}

.color-accent {
    background-color: #C9302C;
    color: #ffffff;
    height: 120px;
    padding: 30px;
}

.caption-teaser2 {
    height: 100%;
    width: 100%;
    display: block;
    bottom: -80%;
    text-align: center;
}

.caption-panel:hover .caption-teaser2 {
    background-color: rgba(0, 0, 0, 0.90);
    -moz-transform: translateY(-80%);
    -o-transform: translateY(-80%);
    -webkit-transform: translateY(-80%);
    transform: translateY(-80%);
}

.org-detail {
    padding: 20px;
}

.org-title {
    height: 20%;
}

.caption-container2 {
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    color: #fff;
    z-index: 100;
    -webkit-transition: all 300ms ease-out;
    -moz-transition: all 300ms ease-out;
    -o-transition: all 300ms ease-out;
    -ms-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
    left: 0;
}

/*Affix*/

.affix {
    top: 60px;
    width: 239px;
    position: fixed;
}

.affix-bottom {
    position: relative
}

/*Image Tile */

.tile-gallery .image-block {
    background-color: black;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    border: 3px solid white;
    padding: 0px;
    margin: 0px;
    height: 200px;
    text-align: center;
    vertical-align: bottom;
    position: relative;
    overflow: hidden;
}

.tile-gallery .image-block>p {
    width: 100%;
    height: 100%;
    font-weight: normal;
    padding-top: 130px;
    visibility: hidden;
    transition: background-color 300ms ease-out;
}

.tile-gallery .image-block:hover>p,
.tile-gallery .image-block:focus>p {
    background-color: rgba(3, 3, 3, 0.77);
    color: white;
    visibility: visible;
}

.tile-gallery .image-block>a {
    width: 100%;
    height: 100%;
    font-weight: normal;
    background-color: transparent;
    display: block;
    color: #fff;
}

.tile-gallery .image-block>a span {
    background-color: black;
    display: block;
    text-decoration: underline;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 4px;
}

.tile-gallery .image-block>a:hover span {
    color: #2196f3;
}

/*! Tablesaw - v3.0.0-beta.4 - 2016-10-12
* https://github.com/filamentgroup/tablesaw
* Copyright (c) 2016 Filament Group; Licensed MIT */


/*! Tablesaw - v3.0.6 - 2017-11-20
* https://github.com/filamentgroup/tablesaw
* Copyright (c) 2017 Filament Group; Licensed MIT */

.tablesaw {
    width: 100%;
    max-width: 100%;
    empty-cells: show;
    border-collapse: collapse;
    border: 0;
    padding: 0;
}

.tablesaw * {
    box-sizing: border-box;
}

.tablesaw-btn {
    border: 1px solid #ccc;
    border-radius: .25em;
    background: none;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 1);
    color: #4a4a4a;
    cursor: pointer;
    display: inline-block;
    margin: 0;
    padding: .5em .85em .4em .85em;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-transform: capitalize;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

a.tablesaw-btn {
    color: #1c95d4;
}

.tablesaw-btn:hover {
    text-decoration: none;
}


/* Default radio/checkbox styling horizonal controlgroups. */

.tablesaw-btn:active {
    background-color: #ddd;
}

@supports (box-shadow: none) {
    .tablesaw-btn:focus {
        background-color: #fff;
        outline: none;
    }

    .tablesaw-btn:focus {
        box-shadow: 0 0 .35em #4faeef !important;
    }
}

.tablesaw-btn-select select {
    background: none;
    border: none;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    min-height: 1em;
    opacity: 0;
    color: transparent;
}

.tablesaw-btn select option {
    background: #fff;
    color: #000;
}

.tablesaw-btn {
    display: inline-block;
    width: auto;
    height: auto;
    position: relative;
    top: 0;
}

.tablesaw-btn.btn-small {
    font-size: 1.0625em;
    line-height: 19px;
    padding: .3em 1em .3em 1em;
}

.tablesaw-btn.btn-micro {
    font-size: .8125em;
    padding: .4em .7em .25em .7em;
}

.tablesaw-btn-select {
    padding-right: 1.5em;
    text-align: left;
    display: inline-block;
    color: #4d4d4d;
    padding-right: 2.5em;
    min-width: 7.25em;
    text-align: left;
}

.tablesaw-btn-select:after {
    content: " ";
    position: absolute;
    background: none;
    background-repeat: no-repeat;
    background-position: .25em .45em;
    content: "\25bc";
    font-size: .55em;
    padding-top: 1.2em;
    padding-left: 1em;
    left: auto;
    right: 0;
    margin: 0;
    top: 0;
    bottom: 0;
    width: 1.8em;
}

.tablesaw-btn-select.btn-small:after,
.tablesaw-btn-select.btn-micro:after {
    width: 1.2em;
    font-size: .5em;
    padding-top: 1em;
    padding-right: .5em;
    line-height: 1.65;
    background: none;
    box-shadow: none;
    border-left-width: 0;
}

/* Column navigation buttons for swipe and columntoggle tables */

.tablesaw-advance .tablesaw-btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    text-shadow: 0 1px 0 #fff;
    border-radius: .25em;
}

.tablesaw-advance .tablesaw-btn.btn-micro {
    font-size: .8125em;
    padding: .3em .7em .25em .7em;
}

.tablesaw-advance a.tablesaw-nav-btn:first-child {
    margin-left: 0;
}

.tablesaw-advance a.tablesaw-nav-btn:last-child {
    margin-right: 0;
}

.tablesaw-advance a.tablesaw-nav-btn {
    display: inline-block;
    overflow: hidden;
    width: 1.8em;
    height: 1.8em;
    background-position: 50% 50%;
    margin-left: .25em;
    margin-right: .25em;
    position: relative;
    text-indent: -9999px;
}

.tablesaw-advance a.tablesaw-nav-btn.left:before,
.tablesaw-advance a.tablesaw-nav-btn.right:before,
.tablesaw-advance a.tablesaw-nav-btn.down:before,
.tablesaw-advance a.tablesaw-nav-btn.up:before {
    content: "\0020";
    overflow: hidden;
    width: 0;
    height: 0;
    position: absolute;
}

.tablesaw-advance a.tablesaw-nav-btn.down:before {
    left: .5em;
    top: .65em;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #808080;
}

.tablesaw-advance a.tablesaw-nav-btn.up:before {
    left: .5em;
    top: .65em;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #808080;
}

.tablesaw-advance a.tablesaw-nav-btn.left:before,
.tablesaw-advance a.tablesaw-nav-btn.right:before {
    top: .45em;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}

.tablesaw-advance a.tablesaw-nav-btn.left:before {
    left: .6em;
    border-right: 5px solid #808080;
}

.tablesaw-advance a.tablesaw-nav-btn.right:before {
    left: .7em;
    border-left: 5px solid #808080;
}

.tablesaw-advance a.tablesaw-nav-btn.disabled {
    opacity: .25;
    cursor: default;
    pointer-events: none;
}


/* Table Toolbar */

.tablesaw-bar {
    clear: both;
}

.tablesaw-bar * {
    box-sizing: border-box;
}

.tablesaw-bar-section {
    float: left;
}

.tablesaw-bar-section label {
    font-size: .875em;
    padding: .5em 0;
    clear: both;
    display: block;
    color: #888;
    margin-right: .5em;
    text-transform: uppercase;
}

.tablesaw-btn,
.tablesaw-enhanced .tablesaw-btn {
    margin-top: .5em;
    margin-bottom: .5em;
}

.tablesaw-btn-select,
.tablesaw-enhanced .tablesaw-btn-select {
    margin-bottom: 0;
}


/* TODO */

.tablesaw-bar .tablesaw-bar-section .tablesaw-btn {
    margin-left: .4em;
    margin-top: 0;
    text-transform: uppercase;
    border: none;
    box-shadow: none;
    background: transparent;
    font-size: 1em;
    padding-left: .3em;
}

.tablesaw-bar .tablesaw-bar-section .btn-select {
    min-width: 0;
}

.tablesaw-bar .tablesaw-bar-section .btn-select:after {
    padding-top: .9em;
}

.tablesaw-bar .tablesaw-bar-section select {
    color: #888;
    text-transform: none;
    background: transparent;
}

.tablesaw-bar-section~table {
    clear: both;
}

.tablesaw-bar-section .abbreviated {
    display: inline;
}

.tablesaw-bar-section .longform {
    display: none;
}

@media (min-width: 24em) {
    .tablesaw-bar-section .abbreviated {
        display: none;
    }

    .tablesaw-bar-section .longform {
        display: inline;
    }
}

.tablesaw th,
.tablesaw td {
    padding: .5em .7em;
    text-align: left;
    vertical-align: middle;
}

.tablesaw-sortable-btn {
    /* same as cell padding above */
    padding: .5em .7em;
}

.tablesaw thead th {
    text-align: left;
}


/* Table rows have a gray bottom stroke by default */

.tablesaw-row-border tr {
    border-bottom: 1px solid #dfdfdf;
}


/* Zebra striping */

.tablesaw-row-zebra tr:nth-child(2n) {
    background-color: #f8f8f8;
}

.tablesaw caption {
    text-align: left;
    margin: .59375em 0;
}

.tablesaw-swipe .tablesaw-swipe-cellpersist {
    border-right: 2px solid #e4e1de;
}

.tablesaw-swipe-shadow .tablesaw-swipe-cellpersist {
    border-right-width: 1px;
}

.tablesaw-swipe-shadow .tablesaw-swipe-cellpersist {
    box-shadow: 3px 0 4px -1px #e4e1de;
}

.tablesaw-stack td .tablesaw-cell-label,
.tablesaw-stack th .tablesaw-cell-label {
    display: none;
}


/* Mobile first styles: Begin with the stacked presentation at narrow widths */


/* Support note IE9+: @media only all */

@media only all {
    /* Show the table cells as a block level element */
    .tablesaw-stack {
        clear: both;
    }

    .tablesaw-stack td,
    .tablesaw-stack th {
        text-align: left;
        display: block;
    }

    .tablesaw-stack tr {
        clear: both;
        display: table-row;
    }

    /* Make the label elements a percentage width */
    .tablesaw-stack td .tablesaw-cell-label,
    .tablesaw-stack th .tablesaw-cell-label {
        display: inline-block;
        padding: 0 .6em 0 0;
        width: 30%;
    }

    /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */
    .tablesaw-stack th .tablesaw-cell-label-top,
    .tablesaw-stack td .tablesaw-cell-label-top {
        display: block;
        padding: .4em 0;
        margin: .4em 0;
    }

    .tablesaw-cell-label {
        display: block;
    }

    /* Avoid double strokes when stacked */
    .tablesaw-stack tbody th.group {
        margin-top: -1px;
    }

    /* Avoid double strokes when stacked */
    .tablesaw-stack th.group b.tablesaw-cell-label {
        display: none !important;
    }
}

@media (max-width: 39.9375em) {
    /* Table rows have a gray bottom stroke by default */
    .tablesaw-stack tbody tr {
        display: block;
        width: 100%;
        border-bottom: 1px solid #dfdfdf;
    }

    .tablesaw-stack thead td,
    .tablesaw-stack thead th {
        display: none;
    }

    .tablesaw-stack tbody td,
    .tablesaw-stack tbody th {
        display: block;
        float: left;
        clear: left;
        width: 100%;
    }

    .tablesaw-cell-label {
        vertical-align: top;
    }

    .tablesaw-cell-content {
        display: inline-block;
        max-width: 67%;
    }

    .tablesaw-stack .tablesaw-stack-block .tablesaw-cell-label,
    .tablesaw-stack .tablesaw-stack-block .tablesaw-cell-content {
        display: block;
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    .tablesaw-stack td:empty,
    .tablesaw-stack th:empty {
        display: none;
    }
}


/* Media query to show as a standard table at 560px (35em x 16px) or wider */

@media (min-width: 40em) {
    .tablesaw-stack tr {
        display: table-row;
    }

    /* Show the table header rows */
    .tablesaw-stack td,
    .tablesaw-stack th,
    .tablesaw-stack thead td,
    .tablesaw-stack thead th {
        display: table-cell;
        margin: 0;
    }

    /* Hide the labels in each cell */
    .tablesaw-stack td .tablesaw-cell-label,
    .tablesaw-stack th .tablesaw-cell-label {
        display: none !important;
    }
}

.tablesaw-fix-persist {
    table-layout: fixed;
}

@media only all {
    /* Unchecked manually: Always hide */
    .tablesaw-swipe th.tablesaw-swipe-cellhidden,
    .tablesaw-swipe td.tablesaw-swipe-cellhidden {
        display: none;
    }
}

.tablesaw-overflow {
    position: relative;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* More in skin.css */
}

.tablesaw-overflow>.tablesaw {
    margin-top: 2px;
    /* sortable focus rings are clipped */
}


/* Used for a11y text on button: "Columns" */

.tablesaw-columntoggle-btn span {
    text-indent: -9999px;
    display: inline-block;
}

.tablesaw-columntoggle-btnwrap {
    position: relative;
    /* for dialog positioning */
}

.tablesaw-columntoggle-btnwrap .dialog-content {
    padding: .5em;
}

.tablesaw-columntoggle tbody td {
    line-height: 1.5;
}


/* Remove top/bottom margins around the fieldcontain on check list */

.tablesaw-columntoggle-popup {
    display: none;
}

.tablesaw-columntoggle-btnwrap.visible .tablesaw-columntoggle-popup {
    display: block;
    position: absolute;
    top: 2em;
    right: 0;
    background-color: #fff;
    padding: .5em .8em;
    border: 1px solid #ccc;
    box-shadow: 0 1px 2px #ccc;
    border-radius: .2em;
    z-index: 1;
}

.tablesaw-columntoggle-popup fieldset {
    margin: 0;
}


/* Hide all prioritized columns by default */

@media only all {
    .tablesaw-columntoggle th.tablesaw-priority-6,
    .tablesaw-columntoggle td.tablesaw-priority-6,
    .tablesaw-columntoggle th.tablesaw-priority-5,
    .tablesaw-columntoggle td.tablesaw-priority-5,
    .tablesaw-columntoggle th.tablesaw-priority-4,
    .tablesaw-columntoggle td.tablesaw-priority-4,
    .tablesaw-columntoggle th.tablesaw-priority-3,
    .tablesaw-columntoggle td.tablesaw-priority-3,
    .tablesaw-columntoggle th.tablesaw-priority-2,
    .tablesaw-columntoggle td.tablesaw-priority-2,
    .tablesaw-columntoggle th.tablesaw-priority-1,
    .tablesaw-columntoggle td.tablesaw-priority-1,
    .tablesaw-columntoggle th.tablesaw-priority-0,
    .tablesaw-columntoggle td.tablesaw-priority-0 {
        display: none;
    }
}

.tablesaw-columntoggle-btnwrap .dialog-content {
    top: 0 !important;
    right: 1em;
    left: auto !important;
    width: 12em;
    max-width: 18em;
    margin: -.5em auto 0;
}

.tablesaw-columntoggle-btnwrap .dialog-content:focus {
    outline-style: none;
}

/* Preset breakpoints if "" class added to table */


/* Show priority 1 at 320px (20em x 16px) */

@media (min-width: 20em) {
    .tablesaw-columntoggle th.tablesaw-priority-1,
    .tablesaw-columntoggle td.tablesaw-priority-1 {
        display: table-cell;
    }
}


/* Show priority 2 at 480px (30em x 16px) */

@media (min-width: 30em) {
    .tablesaw-columntoggle th.tablesaw-priority-2,
    .tablesaw-columntoggle td.tablesaw-priority-2 {
        display: table-cell;
    }
}


/* Show priority 3 at 640px (40em x 16px) */

@media (min-width: 40em) {
    .tablesaw-columntoggle th.tablesaw-priority-3,
    .tablesaw-columntoggle td.tablesaw-priority-3 {
        display: table-cell;
    }

    .tablesaw-columntoggle tbody td {
        line-height: 2;
    }
}


/* Show priority 4 at 800px (50em x 16px) */

@media (min-width: 50em) {
    .tablesaw-columntoggle th.tablesaw-priority-4,
    .tablesaw-columntoggle td.tablesaw-priority-4 {
        display: table-cell;
    }
}


/* Show priority 5 at 960px (60em x 16px) */

@media (min-width: 60em) {
    .tablesaw-columntoggle th.tablesaw-priority-5,
    .tablesaw-columntoggle td.tablesaw-priority-5 {
        display: table-cell;
    }
}


/* Show priority 6 at 1,120px (70em x 16px) */

@media (min-width: 70em) {
    .tablesaw-columntoggle th.tablesaw-priority-6,
    .tablesaw-columntoggle td.tablesaw-priority-6 {
        display: table-cell;
    }
}

@media only all {
    /* Unchecked manually: Always hide */
    .tablesaw-columntoggle th.tablesaw-toggle-cellhidden,
    .tablesaw-columntoggle td.tablesaw-toggle-cellhidden {
        display: none;
    }

    /* Checked manually: Always show */
    .tablesaw-columntoggle th.tablesaw-toggle-cellvisible,
    .tablesaw-columntoggle td.tablesaw-toggle-cellvisible {
        display: table-cell;
    }
}

.tablesaw-columntoggle-popup .btn-group>label {
    display: block;
    padding: .2em 0;
    white-space: nowrap;
    cursor: default;
}

.tablesaw-columntoggle-popup .btn-group>label input {
    margin-right: .8em;
}

.tablesaw-sortable-head {
    position: relative;
    vertical-align: top;
}


/* Override */

.tablesaw .tablesaw-sortable-head {
    padding: 0;
}

.tablesaw-sortable-btn {
    min-width: 100%;
    color: inherit;
    background: transparent;
    border: 0;
    text-align: inherit;
    font: inherit;
    text-transform: inherit;
}

.tablesaw-sortable-arrow:after {
    display: inline-block;
    width: 10px;
    height: 14px;
    content: " ";
    margin-left: .3125em;
}

.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after,
.tablesaw-sortable-descending .tablesaw-sortable-arrow:after {
    content: "\0020";
}

.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after {
    content: "\2191";
}

.tablesaw-sortable-descending .tablesaw-sortable-arrow:after {
    content: "\2193";
}

.tablesaw-advance {
    float: right;
}

.tablesaw-advance.minimap {
    margin-right: .4em;
}

.tablesaw-advance-dots {
    float: left;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tablesaw-advance-dots li {
    display: table-cell;
    margin: 0;
    padding: .4em .2em;
}

.tablesaw-advance-dots li i {
    width: .25em;
    height: .25em;
    background: #555;
    border-radius: 100%;
    display: inline-block;
}

.tablesaw-advance-dots-hide {
    opacity: .25;
    cursor: default;
    pointer-events: none;
}