/* COLORS */
:root {
    --color-menu-primary: #f4f5f6;
    --color-menu-secondary: #393939;
    --color-menu-tertiary: #2f2f2f;
    --color-menu-quaternary: darkorange;

    --color-menu-element: lightblue;

    --color-bg: #2c1939;
    --color-highlight: #2FA694;

    --color-text-main: #595959;
    --color-text-secondary: #f4f5f6;
    --color-text-alt: #8F8F8F;
    --color-text-error: red;

    --color-table-row: lightgrey;
    --color-table-alt-row: lightblue;
    --color-table-header-row: darkgrey;
    --color-table-highlight-row: darkorange;
}

body {
    background-color: var(--color-bg);
    background-image: url(../images/AHNickless_Background.jpg);
    background-repeat: repeat;
    background-size: cover;
    background-position: top left;

    font: 13px / 1.4 "Trebuchet MS", Arial, Helvetica, sans-serif;
    color: var(--color-text-main);

    /* overflow-y: hidden; */

    margin: 0;
}

a {
    text-decoration: none;
    color: var(--color-highlight);
}

fieldset {
    border-color: var(--color-menu-secondary);
}

:focus {
    outline: none;
}

:focus-visible {
    outline: 3px solid var(--color-highlight);
    outline-offset: 1px;
    border-radius: 15px;
}

/* UTILITY STYLES */
.visuallyHidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.linkText {
    color: var(--color-highlight);
}

.Wide100 {
    width: 100% !important;
}

.noLogo {
    margin-bottom: 10px;
}

.noLogo #Logo {
    display: none;
}

.centeredText {
    text-align: center;
}

.imageAuto {
    max-width: 100%;
    height: auto;
}

.linkTextPadding {
    padding-right: 10px;
}

.linkTextPaddingActive {
    padding-right: unset;
}

.pageTitle {
    width: 100%;

    text-align: center;
    word-break: break-word;
}

.pageDescription {
    width: 100%;

    text-align: center;
    word-break: break-word;
}

/* LAYOUT */
#Wrapper {
    display: flex;
    justify-content: flex-start;
}

#PageWrapper {
    /* width: fit-content; */
    width: 100%;

    max-height: 97vh;
    max-width: 95vw;
    min-width: 655px;

    display: flex;
    flex-direction: column;
    align-items: center;

    background-color: var(--color-menu-primary);
    margin-top: 10px;
    border-radius: 5px
}

/* HEADER LAYOUT */
#HeaderInclude {
    width: 100%;
}

#Header {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#Header a {
    color: var(--color-text-secondary);
}

#LogoSizing {
    height: 60px;
}

/* PAGE TOP LAYOUT */
#pageTop {
    width: 100%;
}

#pageTopMenu {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 15px;
    justify-content: space-evenly;
}

/* RIBBON LAYOUT */
#MainMenu {
    position: relative;
    
    margin-top: -15px;
    z-index: 10;

    min-width: 635px;
}

#MmLeft {
    float: left;
    width: 25px;
    height: 62px;
    background: transparent url(../images/mainMenuLeft.png) no-repeat 0 0;
}

#MmRight {
    float: left;
    width: 20px;
    height: 62px;
    background: transparent url(../images/mainMenuRight.png) no-repeat 0 0;
}

#MmBody {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;

    float: left;
    min-width: 500px;
    height: 62px;
    background: transparent url(../images/mainMenuRepeat.png) repeat-x 0 0;
}

/* HEADER MENU */
.sf-menu {
    list-style: none;
    padding: 0;
    display: flex;
}

.sf-menu > li {
    position: relative;
}

.sf-menu > li > a {
    display: block;
    padding: 10px 14px;
}

/* HEADER SUBMENU */
.sf-menu li ul {
    list-style: none;
    padding: 0;
    position: absolute;
    top: 100%;

    background: var(--color-menu-secondary);
    border-radius: 5px;
    box-shadow: 0 8px 18px rgba(0,0,0,.08);

    /* hidden state */
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);

    transition: opacity 150ms ease, transform 150ms ease;
    z-index: 10;
}

/* submenu links */
.sf-menu li ul a {
    display: block;
    padding: 8px 14px;
    text-decoration: none;
}

/* hover state inside dropdown */
.sf-menu li ul a:hover {
    background-color: var(--color-highlight);
}

/* HEADER SUBMENU REVEAL */
.sf-menu li:hover > ul,
.sf-menu li:focus-within > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ribbon {
    position: absolute;
    transform: translate(-12px, -26px);

    display: flex;
    flex-direction: row;
    align-items: center;
}

.ribbonText {
    transform: translateY(-10px);
    color: var(--color-text-secondary);
}

.tab {
    transform: translateX(-1px);
}

.wrapAround {
    float: left;
    width: 52px;
    background: transparent url(../images/ribbonWrap.png) no-repeat 0 -104px;
}

.ribbon .tab {
    float: left;
    width: 586px;
    background: transparent url(../images/ribbon.png) no-repeat 0 0;
}

.ribbon, .ribbon .wrapAround, .ribbon .tab {
    height: 52px;
}

h1.ribbon {
    font-family: "Liberation Sans", Arial, Helvetica, Garuda, sans-serif;
    font-weight: bold;
    margin: 9px 0 0;
    color: var(--color-text-secondary);
}

/* BODY LAYOUT */
.pageMain {
    height: fit-content;
    width: 100%;

    min-height: 25vh;

    overflow-y: auto;
}

.pageMainNonScroll {
    height: fit-content;
    width: 100%;

    min-height: 25vh;
}

.blogPostSummary {
    height: fit-content;

    display: flex;
    flex-direction: column;
    align-items: center;

    min-height: 25vh;
}

.blogPostSummarySplit {
    height: fit-content;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    min-height: 25vh;
}

.blogPostSummaryText {
    height: fit-content;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 10px;

    min-height: 25vh;
}

.topSpacing {
    margin-top: 15px;
}

#largeSplitWidthWapper {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 1%;
}

#smallerLargeSplitWidthWapper {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 1%;
}

#smallSplitWidthWapper {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 1%;
}

#largerSmallSplitWidthWapper {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 1%;
}

.halfSplitWidthWrapper {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 1%;

}

.halfSplitWidthSideBySideWrapper {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-items: center;

    padding: 3%;

}

.SideBySideWrapper {
    width: 50%;
}

/* FOOTER LAYOUT */
#FooterInclude {
    width: 100%;
    background-color: var(--color-menu-secondary);
}

#Footer {
    color: var(--color-text-alt);
}

.fullpage {
    min-height: 50px;

    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
}

#FooterLinks {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

#FooterInfo {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
}

/* RESOURCES LAYOUT */
#ResourcesInclude {
    border-radius: 5px;
    background-color: var(--color-menu-secondary);
    color: var(--color-text-secondary);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#ResourcesInclude h1 {
    text-align: center;
}

.sideNavWrapper {
    padding-left: 23px;
    padding-bottom: 10px;
}

/* DYNAMIC SIZING */
@media screen and (min-width: 1110px) {
    #PageWrapper {
        width: 80%;
    }

    #Header {
        flex-direction: row-reverse;
        justify-content: space-around;
        align-items: unset;
    }

    .fullpage {
        display: flex;
        flex-direction: row;
        justify-content: space-evenly;
    }
}

@media screen and (min-width: 800px) {
    #PageWrapper {
        width: 90%;
    }

    #LogoSizing {
        height: 100px;
    }
}

@media screen and (min-height: 300px) {
    #LogoSizing {
        height: 100px;
    }
}

@media screen and (min-width: 650px) {
    body {
        margin: 8px;
    }

    #Wrapper {
        justify-content: center;
    }

    #pageTopMenu {
        flex-direction: row;
    }

    .blogPostSummarySplit {
        flex-direction: row;
    }

    #largeSplitWidthWapper {
        width: 80%;
    }

    #smallSplitWidthWapper {
        width: 20%;
    }

    #smallerLargeSplitWidthWapper {
        width: 70%;
    }

    #largerSmallSplitWidthWapper {
        width: 30%;
    }

    .halfSplitWidthSideBySideWrapper { 
        flex-direction: column;
    }

    .SideBySideWrapper {
        width: 100%;
    }

    .linkTextPaddingActive {
        padding-right: 10px;
    }
    
}