/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Merriweather&display=swap');

html {
    box-sizing: border-box;
    height: 100%;
}

*, *:before, *:after {
    box-sizing: inherit;
}


body {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    background-color: #F3F5F6;
}

.page-header {
    border-bottom: 1px solid #004C97;
}

    .page-header.story {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
        font-family: "Merriweather", serif;
    }

        .page-header.story h2 {
            justify-self: right;
        }

.page-content {
    max-width: 1200px;
    background: white;
    box-shadow: 0px 0px 13px -2px rgba(204,204,204,1);
    margin: 20px 20px 10px;
    padding: 20px;
    width: 95%;
    position: relative;
    border-radius: 2px;
}

.page-body {
    min-height: 400px;
}

    .page-body.story {
        font-family: "Merriweather", serif;
        font-weight: 400;
        font-style: normal;
        margin-bottom: 16px;
        line-height: 1.85;
    }

        .page-body.story p {
            margin-bottom: 20px;
        }


footer {
    color: #cbcbcb;
    position: relative;
    width: 100%;
    text-align: center;
    bottom: 0;
    font-size: .8em;
    padding: 2px 0;
    z-index:100;
}

input, select, textarea {
    padding: 5px;
    border: 1px solid #cbcbcb;
    background: #fbfbfb;
    border-radius: 2px;
}

    input:focus, select:focus, textarea:focus {
        outline: none;
        /*border: 1px solid #004C97;*/
    }

    input[type=radio], input[type=checkbox] {
        width: 20px;
        height: 20px;
        border-radius: 2px;
        transform: translateY(-2px);
    }

        input[type=radio].small, input[type=checkbox].small {
            width: 12px;
            height: 12px;
            border-radius: 2px;
        }

    input[type="number"]::-webkit-outer-spin-button,
    input[type="number"]::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    input[type="number"] {
        -moz-appearance: textfield;
    }

::-webkit-input-placeholder {
    color: #c7c6c6;
}

::-moz-placeholder { /* Firefox 19+ */
    color: #c7c6c6;
}

:-ms-input-placeholder { /* IE10–11 */
    color: #c7c6c6 !important;
}

button:focus {
    outline: none;
}

fieldset {
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    margin-bottom: 15px;
}

    fieldset legend {
        font-size: .9em;
        padding: 0 5px;
        letter-spacing: 1px;
        font-weight: bold;
        color: #5a5b5d;
    }

h1, h2 {
    font-size: 1.3em;
    margin: 5px 0 5px;
    color: #004C97;
}



h3 {
    padding: 30px 0 0px;
    margin: 0;
    color: #002640;
    font-size: 1em;
}

h4 {
    font-size: 0.95em;
    color: #5a5b5d;
    font-weight: 400;
    margin: 5px 0 5px;
}



/* GENERAL CLASSES */

.hidden {
    display: none !important;
}



.form-section h3:before {
    content: '//';
    padding: 0 5px;
    color: #BA0C2F;
    font-size: 1.1em;
}


.help-section {
    background: #f1f1f1;
    border-radius: 3px;
    padding: 5px 15px;
    color: #5a5b5d;
    font-size: .9em;
    margin: 25px 10px 10px;
    border-left: 30px solid #5a5b5d;
    position: relative;
}

.help-section-title {
    font-weight: bold;
}

.help-section i {
    position: absolute;
    left: -24px;
    color: white;
    font-size: 1.3em;
}

.select-button {
    background-color: #EBEBEB;
    padding: 5px;
    color: #444444;
    cursor: pointer;
    width: 100%;
    transition: .4s;
    border-radius: 2px;
}

    .select-button:hover {
        background-color: #e8e6e6;
    }

    .select-button.selected {
        background-color: #5A9F4B;
        color: white;
    }

        .select-button.selected i {
            color: white;
        }

    .select-button i {
        padding: 2px 5px 0;
        font-size: 1.5em;
        color: #d9d9d9
    }

    .select-button span {
        display: inline-block;
        vertical-align: middle;
        transform: translateY(-5px);
    }

    .select-button select {
        width: 100%;
        margin-top: 3px;
    }

.input-validation-error {
    border: 1px solid red !important;
}

.required label:first-child:after {
    content: "*";
    color: red;
    padding: 4px;
}

label.radio-button-group, label.checkbox-group {
    letter-spacing: 0;
    text-transform: capitalize;
    color: black;
    font-size: 1em;
    font-weight: 100;
    display: block;
    cursor: pointer;
    padding: 6px 5px 3px 5px;
    margin: 5px 0 0;
}

    label.radio-button-group:hover, label.checkbox-group:hover {
        background-color: #e6e6e6;
        border-radius: 3px;
    }

    label.radio-button-group.inline, label.checkbox-group.inline {
        display: inline-block;
    }

    label.radio-button-group.small, label.checkbox-group.small {
        font-size: .75em;
        font-weight: 100;
        padding: 5px 3px 1px 3px;
        margin: 3px 0 0;
    }

.radio-button-group input[type=radio], .checkbox-group input[type=checkbox] {
    margin-top: 0;
    vertical-align: middle;
}

.column {
    padding: 5px;
    vertical-align: top;
    display: inline-block;
    margin: 0 -2px;
}

.footnote {
    margin: 0;
    padding: 10px 0 0;
    color: #4a4a4a;
}

    .footnote h6 {
        margin: 0;
        padding: 5px 0;
        font-size: .95em;
    }

    .footnote p {
        margin: 0;
        font-size: .9em;
    }

.clear-float {
    clear: both;
}

.float-container {
    content: " ";
    display: block;
    height: 0;
    clear: both;
}

/* BUTTONS */

button {
    cursor: pointer;
    border-radius: 3px;
    border: 1px solid #002640;
    padding: 7px 20px 5px;
    background-color: #002640;
    color: white;
    transition: .3s;
    letter-spacing: 1px;
}

    button:hover {
        background-color: #004C97;
        border: 1px solid #004C97;
    }

    button:disabled {
        background-color: gray !important;
        color: gainsboro !important;
        border-color: #979797 !important;
    }


    button.white {
        background-color: white;
        opacity: .9;
        color: #242424;
    }

        button.white:hover {
            background-color: white;
            opacity: 1;
        }

    button.outline {
        background-color: transparent;
        border: 1px solid #002640;
        color: #002640;
    }

        button.outline:hover {
            background-color: #002640;
            color: white;
        }

    button.success {
        background-color: #5cb85c;
        color: white;
        border-color: #5cb85c;
    }

        button.success:hover {
            background-color: #449d44;
            border-color: #419641;
        }

    button.danger {
        background-color: #bf5849;
        color: white;
        border-color: #bf5849;
    }

        button.danger:hover {
            background-color: #a7493b;
            border-color: #a7493b;
        }

    button.link {
        background-color: transparent;
        color: #0275d8;
        border-color: transparent;
        min-width: 10px;
        padding: 2px 5px;
        margin: 0;
    }

        button.link:hover {
            color: #014c8c;
            text-decoration: underline;
        }

    button.tiny {
        padding: 2px 8px 1px;
        font-size: .75em;
        letter-spacing: .8px;
    }

    button.small {
        padding: 3px 10px 2px;
        font-size: 1em;
        letter-spacing: .9px;
    }

    button.large {
        padding: 20px 50px 18px;
        font-size: 1.5em;
        letter-spacing: 1.5px;
    }

.button-icon-right {
    padding-left: 10px;
}

.button-icon-left {
    padding-right: 10px;
}

button.form-button {
    margin-top: 16px;
    margin-left: 8px;
}

/* BUTTON GROUP */
.button-group {
    /*    margin-top: 5px;*/
    border-radius: 4px;
    justify-self: center;
    margin-top: 12px;
    margin-bottom: -12px;
    position: relative;
}

    .button-group .beta {
        position: absolute;
        right: -15px;
        top: -10px;
        color: white;
        background-color: red;
        padding-left: 3px;
        padding-right: 3px;
        padding-top: 0px;
        border-radius: 5px;
        font-size: 13px;
        font-family: sans-serif;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
    }


.story > .button-group {
    margin-bottom: 0px;
}

.button-group button {
    margin: 0;
    display: block;
    display: inline-block;
    margin-left: -4.3px;
    background: transparent;
    color: black;
}

    .button-group button:not(:first-of-type):not(:last-of-type) {
        border-radius: 0;
        border-left: none;
    }

    .button-group button:first-of-type {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .button-group button:last-of-type {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-left: none;
    }

    .button-group button.selected {
        background-color: #002640;
        color: white;
    }

/* FORM GROUP */

.form-group {
    padding: 15px 10px 4px;
    width: 100%;
    position: relative;
    display: inline-block;
    margin: 0 -2px;
}

    .form-group > label:first-of-type {
        display: block;
        color: #004C97;
        font-size: .78em;
        text-transform: uppercase;
        letter-spacing: .6px;
        font-weight: bold;
        padding-bottom: 3px;
    }

    .form-group label.inline {
        display: inline-block;
    }

    .form-group > label.error {
        display: block;
        color: crimson;
        font-size: .75em;
        margin-top: 6px;
    }

    .form-group > label > span.error {
        color: crimson;
        font-size: .75em;
        margin-left: 6px;
        padding-bottom: 2px;
    }

    .form-group .char-limit {
        color: #b4b4b4;
        font-size: .85em;
        letter-spacing: .6px;
    }

    .form-group input[type=text], .form-group input:not([type=checkbox]):not([type=radio]), .form-group select {
        /*border: 1px solid #cbcbcb;
        background: #fbfbfb;
        padding-top: 4px;*/
        width: 100%;
        /*transition: .5s;
        border-radius:2px;*/
    }



    .form-group textarea {
        width: 100%;
        resize: none;
    }

    .form-group p {
        margin: 4px 0 0 0;
    }

/*.form-group:has(> Select) {
        padding-right: 12px;
    }*/


/* SELECT BUTTON GROUP */
.select-button-group {
    padding: 5px;
    display: inline-block;
    margin-left: -4px;
    vertical-align: top;
}

.select-button-group {
    width: 33.33%;
}

/* INPUT GROUP */
.input-group {
    display: flex;
}

    .input-group input {
        border-left: none;
        border-right: none;
        border-radius: 0;
    }

    .input-group input {
        flex: 1;
    }

        .input-group input:first-child, .input-group span:first-child {
            border-left: 1px solid #d6d6d6;
            border-top-left-radius: 2px;
            border-bottom-left-radius: 2px;
        }

        .input-group input:last-child, .input-group span:last-child {
            border-top-right-radius: 2px;
            border-bottom-right-radius: 2px;
            border-right: 1px solid #d6d6d6;
        }


    .input-group span {
        background-color: #e8e8e8;
        padding: 5px;
        border: 1px solid #d6d6d6;
        cursor: default;
    }



/* DROPDOWN MENU */

.dropdown-menu-parent {
    position: relative;
}

.dropdown-menu {
    display: none;
    min-width: 120px;
    background-color: #fff;
    border: 1px solid rgb(155, 155, 155);
    padding: 3px 0;
    position: absolute;
    top: 100%;
    margin: 4px 0;
    border-radius: 3px;
    z-index: 9999;
}

    .dropdown-menu.right {
        right: 0;
    }

.dropdown-menu-item {
    color: #0B2332;
    padding: 5px 10px;
    cursor: pointer;
    display: block;
    margin: 0;
    text-decoration: none;
    font-size: 1rem;
    white-space: nowrap;
    text-align: left;
}

    .dropdown-menu-item:hover {
        background-color: rgb(241, 241, 241);
    }

.dropdown-divider {
    height: 1px;
    margin: 2px 0;
    background-color: rgb(206, 206, 206);
}

/* ACCORDIAN */

.accordian {
}

.accordian-section.selected .accordian-head {
    background: #004C97;
}

.accordian-section .accordian-head i {
    padding: 1px 4px;
}

.accordian-section.selected .accordian-head i {
    transform: rotate(180deg);
    transition: .5s;
}

.accordian-section.unselected .accordian-head i {
    transform: rotate(0deg);
    transition: .5s;
}

/*.accordian-section .accordian-body {
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 1s;
}

.accordian-section.selected .accordian-body {
    transform: scaleY(1);
    transition: transform 1s;
}*/

.accordian-head {
    padding: 5px 9px;
    background: #002640;
    color: white;
    border-bottom: 1px solid white;
    cursor: pointer;
    border-radius: 3px;
}

    .accordian-head:hover {
        background: #004C97;
    }

.accordian-body {
    overflow: hidden;
    display: none;
    padding: 10px;
}

.error {
    border-color: mediumvioletred;
}


#save-button {
    position: absolute;
    right: 0;
    top: 0;
    width: 125px;
}


:disabled {
    cursor: not-allowed !important;
}

@media (max-width: 1000px) {
    .page-content {
        margin: 0px 0px 0px;
        width: 100%;
    }
}

@media (max-width: 672px) {
    h1, h2 {
        font-size: 1.25em;
    }
}

@media (max-width: 650px) {

    h1{
        font-size: 1.4em;
    }

    .page-header.story h2 {
        justify-self: start;
        grid-column: 1/2;
        color: #002640;
        font-size: 1em;
    }    
}


@media (max-width: 500px) {
    .page-header.story h2,
    .page-header.story h1{
        grid-column:1/3;
    }
    
}



    @media screen and (max-width:410px) {
        .story .button-group button {
            font-size: 12px;
        }

    }

@keyframes bounceWithPause {
    0% {
        transform: translateY(0);
        animation-timing-function: ease-in;
    }

    25% {
        transform: translateY(-15px);
        animation-timing-function: ease-out;
    }

    50% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(0); /* holds at the bottom */
    }
}

.bounce {
    animation: bounceWithPause 1.6s infinite steps(1);
}




