.gecco-page {
    min-height:100vh;
    display:flex;
    flex-direction:column;
}
.gecco-page > .main {
    background-color:var(--lightestGrey);
    flex-grow:1;
}

#PageContainer {
    padding: 2rem calc(var(--bs-gutter-x) * .5);
}

/* body {
    background:rebeccapurple;
} */
.navbar-white-shadow {
    background:#fff;
    box-shadow:var(--navbarShadow)
}

/* deprecated */
#ProfileNav .nav-item.active .underline {
    /* content:''; */
    width:100%;
    height:3px;
    position:absolute;
    bottom:0;
    background:rebeccapurple;
    background:currentColor;
}
/* end deprecated: to be replaced by below */

#ProfileNav {
    z-index:1010
}
.profile-content {
    background-color:var(--lightestGrey)
}
.profile-nav-item {
    position:relative;
    margin:0 8px;
}
.profile-nav-item a {
    white-space:nowrap
}


.profile-pic {
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}
.profile-pic.w-border {
    border:0.1em solid #fff
}
.profile-pic.stacked-pics {
    box-shadow:none;
}
.profile-pic.stacked-pics {
    margin-left:-0.6em;
}
.profile-pic {
    --profpicSize:12px;
    --profpicFont:calc(var(--profpicSize) / 2);
    width: var(--profpicSize);
    height: var(--profpicSize);
    min-width: var(--profpicSize);
    font-size: var(--profpicFont);
    border-radius:50%;
    text-shadow:0 3px 12px rgba(0,0,0,0.3);
    box-shadow:0 3px 16px rgba(0,0,0,0.1);
    cursor:default;
    text-decoration:none !important;
    /* font-size:2rem */
}
.profile-pic * {
    text-decoration:none !important;
}
a>.profile-pic {
    cursor:pointer;
}
.profile-pic-12  { --profpicSize: 12px; }
.profile-pic-16  { --profpicSize: 16px; }
.profile-pic-24  { --profpicSize: 24px; }
.profile-pic-32  { --profpicSize: 32px; }
.profile-pic-40  { --profpicSize: 40px; }
.profile-pic-48  { --profpicSize: 48px; }
.profile-pic-56  { --profpicSize: 56px; }
.profile-pic-64  { --profpicSize: 64px; }
.profile-pic-72  { --profpicSize: 72px; }
.profile-pic-80  { --profpicSize: 80px; }
.profile-pic-88  { --profpicSize: 88px; }
.profile-pic-96  { --profpicSize: 96px; }
.profile-pic-104 { --profpicSize:104px; }
.profile-pic-112 { --profpicSize:112px; }
.profile-pic-120 { --profpicSize:120px; }
.profile-pic-128 { --profpicSize:128px; }
.profile-pic-136 { --profpicSize:136px; }
.profile-pic-144 { --profpicSize:144px; }
.profile-pic-152 { --profpicSize:152px; }
.profile-pic-160 { --profpicSize:160px; }
.profile-pic-168 { --profpicSize:168px; }
.profile-pic-176 { --profpicSize:176px; }
.profile-pic-184 { --profpicSize:184px; }
.profile-pic-192 { --profpicSize:192px; }
.profile-pic-200 { --profpicSize:200px; }
.profile-pic.no-pic {
    display:flex;
    justify-content:center;
    align-items: center;
    font-weight:700;
}
.profile-pic.no-pic > span {
    color:#fff;
    margin-bottom:-2px;
}
.profile-pic {
    font-family: 'Rubik', sans-serif
}


/**
=================================
NAVIGATION
=================================
*/
.activeborder {
    color:var(--accentColor)
}
.nav-item.current .activeborder.bottom {
    width:100%;
    height:3px;
    position:absolute;
    bottom:0;
    background:rebeccapurple;
    background:currentColor;
}
/* move active border to left if. Used if in sidebar OR moved to dropdown */
.dropdown-menu .nav-item.current .activeborder {
    width: 3px;
    height: 100%;
    left: -8px;
}
.nav-item.current .activeborder.left {
    width:3px;
    height:100%;
    position:absolute;
    bottom:0;
    left:0;
    background:rebeccapurple;
    background:currentColor;
}


.list-group-item.current .activeborder.left {
    width: 3px;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rebeccapurple;
    background: currentColor;
}

#NavContainer > .list-group >.list-group-item {
    background-color:transparent;
    border-left:none;
    border-right:none;
    border-top:none;
    border-bottom:none;
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left:0.25rem;
}

#NavContainer > .list-group >.list-group-item.current {
    background-color:white;
}





/*
=================================
SEARCH
=================================
 */
.dynasearch {
    position:relative
}
#dynasearch-input {
    padding:12px;
    font-size:18px;
    font-style:italic;
}
.dynasearch-container {
    display:block;
    position:absolute;
    z-index:-1;
    visibility:hidden;
    display: none;
    opacity:0;
    transform:translateY(12px);
    -webkit-transform: translateY(12px);
    -moz-transform: translateY(12px);
    -ms-transform: translateY(12px);
    -o-transform: translateY(12px);
    transform: translateY(12px);
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
.dynasearch-container.show {
    z-index:1000;
    visibility:visible;
    display: block;
    opacity:1;
    transform:translateY(0)
}
.dynasearch-scroll {
    height:100%;
    position:relative;
    overflow:auto;
    max-height:480px !important;
    width:360px;
    box-shadow:0 4px 32px -8px rgba(0,0,0,0.5);
}
.dynasearch-container .default-item {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    text-align:center;
    min-height:120px;
}
.dynasearch-container .default-item > * {
    width:100%;
}
.dynasearch-container .member-item {
    overflow:hidden;
}

        .member-item.inactive {
            background:var(--lightGrey);
        }
        .member-item.inactive * {
            color:var(--darkGrey) !important;
        }
        .member-item.inactive .profile-pic {
            background: var(--lightestGrey) !important;
            filter: grayscale(100%);
        }
.dynasearch-container .member-item > .group-identifier {
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:8px;
    height:100%;
    transform:translateX(-4px);
    transition:all 0.2s;
}
.dynasearch-container .member-item.admin > .group-identifier {
    background:rebeccapurple;
}
.dynasearch-container .member-item.admin .group-identifier:hover {
    transform:translateX(-1px);
}


.member-header {
    padding-top:3rem;
    padding-bottom:3rem;
}
.member-header *, .member-header {
    transition:all 0.2s;
}
.member-header.smaller {
    padding-top:0;
    padding-bottom:0;
}
.member-header.smaller .profile-pic {
    transform:scale(0.5);
    margin-left:-25%;
}
.member-header.smaller .profile-name-holder {
    margin-left:-40px;
}
.member-header.smaller h1 {
    font-size:1.8rem
}



.full-header {
    min-height:220px;
    background-size:cover;
    background-position:center;
    position:relative;
}
.full-header > .container {
    position:relative;
}
.full-header::before {
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(183deg, transparent, rgba(0,0,0,0.5) 80%);
}

/*pagenav*/
.page-nav {
    z-index:1010;
}
.page-nav .navbar-nav {
    min-height:56px;
}
.page-nav {
    min-width:0;
}


/*sitetree nav for the Gecco dashboard*/
.menu-1, .menu-2, .menu-3, .menu-4 { border:none } /*fixes issue with border not appearing unless on hover */
.menu-2::before,
.menu-3::before,
.menu-4::before {
    content:'';
    position:absolute;
    left:16px;
    bottom:50%;
    height:100%;
    width:12px;
    /*border-left: 2px solid;*/
    border-bottom:2px solid;
    border-color:var(--lightGrey)
}
/*.menu-2:not(:last-of-type)::after,*/
/*.menu-3:not(:last-of-type)::after,*/
/*.menu-4:not(:last-of-type)::after {*/
    /*content:'';*/
    /*position:absolute;*/
    /*left:16px;*/
    /*height:100%;*/
    /*bottom:0;*/
/*}*/
.menu-2:first-of-type::before {
    height:50%;
}
.menu-2 > * { margin-left:20px; }
.menu-3::before { left:28px; }
.menu-3 > * { margin-left:36px; }
.menu-4::before { left:40px; }
.menu-4 > * { margin-left:48px; }

.site-tree-children {
    position:relative;
}
.site-tree-children::before {
    content:'';
    position:absolute;
    z-index:1010;
    left:16px;
    border-left:2px solid var(--lightGrey);
    bottom:28.5px;
    height:calc(100% - 28.5px);
}
/*.site-tree-children::before {*/
    /*z-index:1000;*/
    /*background:red;*/
    /*width:20px;*/
/*}*/
.site-tree-children.level-3::before { left: 28px; }
.site-tree-children.level-4::before { left: 40px; }
.site-tree-children.level-5::before { left: 52px; }

.site-tree-children.level-3::before,
.site-tree-children.level-4::before,
.site-tree-children.level-5::before {
    height:100%;
}

[aria-expanded="true"] > .fa-caret-down {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}




/*custom fields*/
form .field.FULL {
    background:var(--lightGrey);
    padding:1.5rem 1rem 1rem 1rem;
    border:1px solid var(--darkGreyAlpha);
    border-radius:0.25rem;
}
form .field.FULL::before {
    content:'Visible to users with FULL access privileges';
    color:var(--darkGrey);
    display:block;
    font-size:0.8rem;
    text-align:right;
}
form .field.PARTIAL {
    background:var(--lightestGrey);
    padding:1.5rem 1rem 1rem 1rem;
    border:1px solid var(--midGreyAlpha);
    border-radius:0.25rem;
}
form .field.PARTIAL::before {
    content:'Visible to users with PARTIAL access privileges';
    color:var(--midGrey);
    display:block;
    font-size:0.8rem;
    text-align:right;
}



/*cards*/
.card .card-body .card-break {
    background-color:var(--lightestGrey);
    margin: 0 -1.25rem;
    padding:1.25rem;
}

.card-full-height {
    height:100%;
}

.card-full-height.mb-1 {
    height:calc(100% - .25rem);
}
.card-full-height.mb-2 {
    height:calc(100% - .5rem);
}
.card-full-height.mb-3 {
    height:calc(100% - 1rem);
}
.card-full-height.mb-4 {
    height:calc(100% - 1.5rem);
}
.card-full-height.mb-5 {
    height:calc(100% - 6rem);
}

a.card, .card.card-link, label.card:not(.disabled) {
    cursor:pointer;
    text-decoration: none;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
a.card:hover, .card.card-link:hover, label.card:not(.disabled):hover, input:checked+label.card, label.card:has(input:checked) {
    text-decoration: none;
    transform: translateY(-0.1rem);
    border-color:var(--primary)
}
input:checked+label.card, label.card:has(input:checked) {
    background:rgba(60,120,210,0.1)
}
label.card.disabled {
    background:rgba(0,0,0,0.05)
}
.addressoptionset input {
    display: none
}
.field.addressoptionset.card-deck {
    display:block !important;
}
.addressoptionset.card-deck:not(.field) {
    flex-flow:nowrap;
    overflow-x:scroll;
    padding: 12px 0;
}
.addressoptionset .card {
    min-width:120px;
}
.addressoptionset .card:not(.is-address) .card-body {
    display: flex;
    align-items: center;
    justify-content: center;
}
.addressoptionset .card.is-address {
    min-width:180px;
}

/* Form messages */
.message {
    position: relative;
    display: inline-block;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    margin-top: 0.25rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}
.message.required,
.message.error {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}


/* branch profiles */

.branch-profile .branch-banner {
    height:320px;
    background-size: cover;
    background-position: center;
    border-radius: 0 0 0.5rem 0.5rem;
    box-shadow: 0 3px 20px -4px rgba(0,0,0,0.4);
    margin:0 -15px;
}
.branch-profile .branch-banner ~ .branch-header .header .profile-pic {
    margin-top: -80px;
}
.branch-profile .header .profile-pic {
    margin-right:1.25rem;
}


/*filepond override*/
/*.filepond--panel.filepond--item-panel,*/
[data-filepond-item-state] .filepond--item-panel {
    background-color:transparent !important;
}
[data-filepond-item-state="idle"] .filepond--item-panel {
    background-color:#64605e !important;
}

.filepond--root {
    overflow-y:auto;
}



/*geccopermissioncheckboxset */

.geccopermissioncheckboxset li {
    display: flex;
    align-items: start;
}
.geccopermissioncheckboxset li > input {
    margin-top:0.4rem
}


/*badge*/

.badge {
    height:22px;
}
.stacked-badges {
    position:relative;
    display: inline-block;
    margin-right:.5rem;
}
.stacked-badges::before {
    content:'';
    height:100%;
    display:inline-block;
}
.stacked-badges--title {
    opacity:0;
    position:absolute;
    top:0;
    left:2px;
    font-size: 0.6rem;
    transition: all 0.3s ease;
}
.stacked-badges .badge {
    position:absolute;
    z-index:11;
    box-shadow:
        inset 0 0 2px white,
        6px 0 8px -4px rgba(60,60,60, 0.2);
    transition: left 0.3s ease, transform 0.3s ease;
    width: 120px; /* match JS */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.stacked-badges .badge::after {
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background-color:white;
    opacity:0.8;
}
.stacked-badges .badge:first-child {
    margin-left:0;
}
.stacked-badges .badge:nth-of-type(1)::after {
    opacity:0;
}
.stacked-badges .badge:nth-of-type(2) {
    z-index:10;
}
.stacked-badges .badge:nth-of-type(2)::after {
    opacity:0.2;
}
.stacked-badges .badge:nth-of-type(3) {
    z-index:9;
}
.stacked-badges .badge:nth-of-type(3)::after {
    opacity:0.4;
}
.stacked-badges .badge:nth-of-type(4) {
    z-index:8;
}
.stacked-badges .badge:nth-of-type(4)::after {
    opacity:0.6;
}
.stacked-badges .badge:nth-of-type(5) {
    z-index:7;
}
.stacked-badges .badge:nth-of-type(6) {
    z-index:6;
}
.stacked-badges .badge:nth-of-type(7) {
    z-index:5;
}
.stacked-badges .badge:nth-of-type(8) {
    z-index:4;
}
.stacked-badges .badge:nth-of-type(9) {
    z-index:3;
}
.stacked-badges .badge:nth-of-type(10) {
    z-index:2;
}
.stacked-badges .badge:nth-of-type(11) {
    z-index:1;
}
.stacked-badges:hover {
    margin-right:0;
    transform: translateY(2px)
}
.stacked-badges:hover .stacked-badges--title {
    opacity:1;
    transform:translateY(-8px);
}
.stacked-badges:hover .badge {
    opacity:1;
    box-shadow:
        inset 0 0 2px white;
    transform:translateY(-2px)
}
.stacked-badges:hover .stacked-badges--title ~ .badge {
    transform:translateY(4px)
}
.stacked-badges:hover .badge::after {
    opacity:0;
}


.hover-swap > *:first-child {
    display:block;
}
.hover-swap:hover > *:first-child {
    display:none;
}

.hover-swap > *:first-child ~ * {
    display:none;
}

.hover-swap:hover > *:first-child ~ * {
    display:block;
}
