/**
 * @file
 * Alignment classes for text and block level elements.
 */

.text-align-left {
    text-align: left;
}
.text-align-right {
    text-align: right;
}
.text-align-center {
    text-align: center;
}
.text-align-justify {
    text-align: justify;
}

/**
 * Alignment classes for block level elements (images, videos, blockquotes, etc.)
 */
.align-left {
    float: left;
}
.align-right {
    float: right;
}
.align-center {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/**
 * @file
 * Float clearing.
 *
 * Based on the micro clearfix hack by Nicolas Gallagher, with the :before
 * pseudo selector removed to allow normal top margin collapse.
 *
 * @see http://nicolasgallagher.com/micro-clearfix-hack
 */

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}


/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
#cboxContent{margin-top:20px;background:#000;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{border:5px solid #000; background:#fff;}
#cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
#cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
#cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

#cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
#cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
#cboxPrevious:hover{background-position:bottom left;}
#cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
#cboxNext:hover{background-position:bottom right;}
#cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(images/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
#cboxClose:hover{background-position:bottom center;}


/**
 * @file
 * Inline items.
 */

.container-inline div,
.container-inline label {
    display: inline-block;
}
/* Details contents always need to be rendered as block. */
.container-inline .details-wrapper {
    display: block;
}


/**
 * @file
 * Collapsible details.
 *
 * @see collapse.js
 */

.js details:not([open]) .details-wrapper {
    display: none;
}


/**
 * @file
 * Fieldgroup border reset.
 */

.fieldgroup {
    border-width: 0;
    padding: 0;
}


/**
 * @file
 * Utility classes to hide elements in different ways.
 */

/**
 * Hide elements from all users.
 *
 * Used for elements which should not be immediately displayed to any user. An
 * example would be collapsible details that will be expanded with a click
 * from a user. The effect of this class can be toggled with the jQuery show()
 * and hide() functions.
 */
.hidden {
    display: none;
}

/**
 * Hide elements visually, but keep them available for screen readers.
 *
 * Used for information required for screen reader users to understand and use
 * the site where visual display is undesirable. Information provided in this
 * manner should be kept concise, to avoid unnecessary burden on the user.
 * "!important" is used to prevent unintentional overrides.
 */
.visually-hidden {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    height: 1px;
    width: 1px;
    word-wrap: normal;
}

/**
 * The .focusable class extends the .visually-hidden class to allow
 * the element to be focusable when navigated to via the keyboard.
 */
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
    position: static !important;
    clip: auto;
    overflow: visible;
    height: auto;
    width: auto;
}

/**
 * Hide visually and from screen readers, but maintain layout.
 */
.invisible {
    visibility: hidden;
}


/**
 * @file
 * Styles for item list.
 */

.item-list__comma-list,
.item-list__comma-list li {
    display: inline;
}
.item-list__comma-list {
    margin: 0;
    padding: 0;
}
.item-list__comma-list li:after {
    content: ", ";
}
.item-list__comma-list li:last-child:after {
    content: "";
}


/**
 * @file
 * Utility classes to assist with Javascript functionality.
 */

/**
 * For anything you want to hide on page load when JS is enabled, so
 * that you can use the JS to control visibility and avoid flicker.
 */
.js .js-hide {
    display: none;
}

/**
 * For anything you want to show on page load only when JS is enabled.
 */
.js-show {
    display: none;
}
.js .js-show {
    display: block;
}


/**
 * @file
 * Utility class to prevent text wrapping.
 */

.nowrap {
    white-space: nowrap;
}


/*
 * @file
 * Contain positioned elements.
 */

.position-container {
    position: relative;
}


/**
 * @file
 * Progress behavior.
 *
 * @see progress.js
 */

.progress {
    position: relative;
}
.progress__track {
    background-color: #fff;
    border: 1px solid;
    margin-top: 5px;
    max-width: 100%;
    min-width: 100px;
    height: 16px;
}
.progress__bar {
    background-color: #000;
    height: 16px;
    width: 3%;
    min-width: 3%;
    max-width: 100%;
}
.progress__description,
.progress__percentage {
    color: #555;
    overflow: hidden;
    font-size: 0.875em;
    margin-top: 0.2em;
}
.progress__description {
    float: left; /* LTR */
}
[dir="rtl"] .progress__description {
    float: right;
}
.progress__percentage {
    float: right; /* LTR */
}
[dir="rtl"] .progress__percentage {
    float: left;
}
.progress--small .progress__track {
    height: 7px;
}
.progress--small .progress__bar {
    height: 7px;
    background-size: 20px 20px;
}

/*
 * @file
 * Utility class to remove browser styles, especially for button.
 */

.reset-appearance {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0 none;
    background: transparent;
    padding: 0;
    margin: 0;
    line-height: inherit;
}



/**
 * @file
 * Resizable textareas.
 */

.resize-none {
    resize: none;
}
.resize-vertical {
    resize: vertical;
    min-height: 2em;
}
.resize-horizontal {
    resize: horizontal;
    max-width: 100%;
}
.resize-both {
    resize: both;
    max-width: 100%;
    min-height: 2em;
}

/**
 * @file
 * Table header behavior.
 *
 * @see tableheader.js
 */

table.sticky-header {
    background-color: #fff;
    margin-top: 0;
    z-index: 500;
    top: 0;
}

/**
 * @file
 * Styles for the system status counter component.
 */

.system-status-counter__status-icon {
    display: inline-block;
    height: 25px;
    width: 25px;
    vertical-align: middle;
}
.system-status-counter__status-icon:before {
    content: "";
    background-size: 16px;
    background-position: center 2px;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    display: block;
}

/**
 * @file
 * Styles for the system status report counters.
 */

.system-status-report-counters__item {
    width: 100%;
    padding: 0.5em 0;
    text-align: center;
    white-space: nowrap;
    background-color: rgba(0, 0, 0, 0.063);
    margin-bottom: 0.5em;
}

@media screen and (min-width: 60em) {
    .system-status-report-counters {
        flex-wrap: wrap;
        display: flex;
        justify-content: space-between;
    }
    .system-status-report-counters__item--half-width {
        width: 49%;
    }
    .system-status-report-counters__item--third-width {
        width: 33%;
    }
}


/**
 * @file
 * Default styles for the System Status general info.
 */

.system-status-general-info__item {
    border: 1px solid #ccc;
    margin-top: 1em;
    padding: 0 1em 1em;
}

.system-status-general-info__item-title {
    border-bottom: 1px solid #ccc;
}

/**
 * @file
 * Table sort indicator.
 *
 * @see tablesort-indicator.html.twig
 */

.tablesort {
    width: 16px;
    height: 16px;
    display: inline-block;
    background-size: 100%;
}
.tablesort--asc {
    background-image: url(../../../../misc/icons/787878/twistie-down.svg);
}
.tablesort--desc {
    background-image: url(../../../../misc/icons/787878/twistie-up.svg);
}


/**
 * @file
 * Visual styles for a nested tree child.
 */

div.tree-child {
    background: url(../../../../misc/tree.png) no-repeat 11px center; /* LTR */
}
div.tree-child-last {
    background: url(../../../../misc/tree-bottom.png) no-repeat 11px center; /* LTR */
}
[dir="rtl"] div.tree-child,
[dir="rtl"] div.tree-child-last {
    background-position: -65px center;
}
div.tree-child-horizontal {
    background: url(../../../../misc/tree.png) no-repeat -11px center;
}


.video-embed-field-responsive-video {
    position: relative;
}

.video-embed-field-responsive-video:after {
    content: '';
    display: block;
    padding-bottom: 56.25%;
}

.video-embed-field-responsive-video iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.video-embed-field-responsive-modal {
    max-width: 100%;
}

/* table style column align */
.views-align-left {
    text-align: left;
}
.views-align-right {
    text-align: right;
}
.views-align-center {
    text-align: center;
}
/* Grid style column align. */
.views-view-grid .views-col {
    float: left;
}
.views-view-grid .views-row {
    clear: both;
    float: left;
    width: 100%;
}



/**
 * @file
 * Webform Bootstrap styling.
 */

/**
 * Issue #2896773: Elements do not resize properly within flexbox.
 * Issue #2829634: Why is telephone field inline?
 */
.webform-flex--container .form-inline .form-control {
    width: 100%;
}

/**
  * Form composite title. (applies to radios and checkboxes)
 */
.form-composite legend {
    font-size: 1em;
    font-weight: bold;
    border: none;
    margin: 0;
}

/**
 * Element title inline.
 */
.webform-element--title-inline > div {
    display: inline;
}

/**
 * Form composite title inline. (applies to radios and checkboxes)
 */
.form-composite.webform-fieldset--title-inline legend {
    float: left;
    width: auto;
    font-size: 1em;
    font-weight: bold;
    border: none;
    margin: 10px 0.5em 10px 0;
}
