/* ------------------------------ Containers, bins, modals, and scrollbars ------------------------------ */

/* ---------- Containers ---------- */
.mainContentContainer{
    display: flex;
    flex-direction: column;
    /* align-items: center; */

    height: fit-content; min-height: calc(100vh - 300px);

    padding: 0;

    /* background-color: white; */
    /* border: 1px solid blue; */
}
.dashboardContentContainer{
    display: flex;
    flex-direction: column;
    /* align-items: center; */

    height: fit-content;

    /* background-color: white; */
    /* border: 1px solid blue; */
}
.subContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    overflow-x: hidden;

    width: calc(100%);
    height: fit-content; min-height: 300px;

    padding: 80px 0;
    margin: 0;
    /* border: 1px solid green; */
}
.mainHorizContainer{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: calc(100%);
    height: fit-content;
    min-height: 500px;
    padding: 40px 0;
    /* border: 1px solid red; */
}
.horizContainer{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    height: fit-content;
    /* border: 1px solid red; */
}
.vertContainer{
    display: flex;
    flex-direction: column;
    /* flex-wrap: wrap; */
    width: 100%;
    height: fit-content;
}
.hiddenContainer{
    display: none;
}
.contentContainerFull{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    /* overflow-y: scroll; */

    width: 100%;
    min-height: 100vh; height: fit-content;

    /* border: 1px solid red; */
}

.fullPageContainer{
    display: flex;
    flex-direction: column;
    
    align-items: center;
    justify-content: center;

    width: 100%; 
    height: fit-content; min-height: 100vh;

    /* overflow-y: scroll; */

    padding: 0;
    margin: 0;
}


.bodyTextContainer{
    text-align: left;

    line-height: 1.75rem;

}
.bodyTextContainer p{
    margin: 20px 0;
}



/* ---------- Bins ---------- */
.objectBinFullCentered{
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;

    padding: 0;
    margin: 0;

    /* border: 1px solid blue; */

}
.objectBinFullLeft{
    display: flex;
    flex-direction: column;
    align-items: start;

    width: 100%;

    padding: 20px 0;
    margin: 0;

    /* border: 1px solid blue; */

}
.objectBinFullRight{
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    width: 100%;

    padding: 10px 0;
    margin: 0;

    /* border: 1px solid blue; */

}
.objectBinFullCentered_padded{
    display: flex;
    flex-direction: column;
    align-items: center;

    width: calc(100% - 20px);

    padding: 20px 10px;
    margin: 0;

    /* border: 1px solid blue; */

}
.horizBinFull{
    display: flex;
    flex-wrap: wrap;

    max-width: calc(100% - 4px);
    height: fit-content;

    padding: 2px;
    margin: 0;

}






.vertBinSmall{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
    width: 45%; min-width: 450px; max-width: 650px;
    height: fit-content;
    /* border: 1px solid green; */
}
.vertBinSmallLeftAlign{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    
    width: fit-content; min-width: 450px; max-width: 1000px;
    height: fit-content;
}
.vertBinLarge{
    display: flex;
    flex-direction: column;
    align-items: center;
    
    width: fit-content; max-width: 1400px;
    height: fit-content;
    /* border: 1px solid green; */
}

.profileBin{
    display: flex;
    /* display: none; */
    flex-direction: column;
    align-items: start;
    justify-content: center;
    
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;

    width: 70%;

    padding: 20px 10px;
    margin: 20px 0;


    background-color: white;
    /* border: 1px solid red; */
}

/* For text */
.containerTitleBin{
    text-align: center;

    width: 90%; max-width: 1400px;
    height: fit-content;

    padding: 2px;
    margin: 10px 0;
    /* border: 1px solid blue; */
}

.paragraphBin{
    /* display: flex;
    flex-direction: column;
    align-items: center; */
    text-align: left;

    width: 90%; max-width: 1000px;
    height: fit-content;

    padding: 2px 0;
    margin: 0;
}

.headerTextBin{
    width: calc(100% - 20px); max-width: 1000px;
    height: fit-content;

    line-height: 10rem;
}
.bodyTextBin{

    /* font-size: 18px; */

    width: calc(100% - 20px); max-width: 1000px;
    height: fit-content;

    line-height: 2rem;

}
.bodyTextBin_Small{
    width: calc(100% - 20px); max-width: 800px;
    height: fit-content;

    line-height: 2rem;
}
.bodyText_Tiny{
    font-size: 10px;
}
.bodyText_VerySmall{
    font-size: 12px;
}
.bodyText_Small{
    font-size: 14px;
}
.bodyText_Regular{
    font-size: 16px;
}
.bodyText_Large{
    font-size: 20px;
}

.vertBinFull{
    display: flex;
    flex-direction: column;

    width: 100%;
}
.vertBinFit{
    display: flex;
    flex-direction: column;

    width: fit-content;
}

.vertContentBin1{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
    width: 60%; min-width: 350px; max-width: 700px;
    height: fit-content;

    margin: 0;
    /* border: 1px solid green; */
}
.vertBinMedium{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
    width: 45%; min-width: 450px; max-width: 600px;
    height: fit-content;
    /* border: 1px solid green; */
}
.horizBinFull{
    display: flex;
    flex-wrap: wrap;

    width: 100%; 
    height: fit-content;
    /* border: 1px solid red; */
}
.horizBin1200{
    display: flex;
    flex-wrap: wrap;

    width: 100%; max-width: 1200px;
    height: fit-content;
}

/* ----- Horizontal Hero (DUPLICATE - see cards.css) ----- */
.horizContentBin1{
    display: flex;
    flex-wrap: wrap;

    width: calc(90% - 80px);
    max-width: 1200px; 
    height: fit-content;
    min-height: 250px;

    margin: 20px 0;
    padding: 40px;

    /* border: 1px solid red; */
}



.horizBinFit{
    display: flex;
    flex-wrap: wrap;

    width: fit-content;
    height: fit-content;


    /* border: 1px solid red; */
}




.fullPageListItem{
    text-align: center;
    width: calc(100% - 40px - 4px);

    padding: 20px;
    margin: 10px 0;

    /* border: 1px solid lightgray; */
}
.fullPageListImageBin{
    display: flex;
    justify-content: center;

    width: 100%; max-width: 1200px;
    height: fit-content; 

    margin: 20px 0;

    object-fit: contain;

    /* border: 1px solid red; */
}
.fullPageListImage{
    object-fit: contain;

    max-height: 500px;
    max-width: calc(100% - 10px - 8px);

    padding: 5px;

    border: 4px solid var(--secondary);
    border-radius: 5px;
}


.floatingHintTextBox{
    display: none;
    position: absolute;

    /* bottom: 0; */

    background-color: white;
    font-size: 14px;

    width: calc(200px - 60px);
    height: fit-content;

    padding: 30px;

    border: 2px solid red;
}

/* ------------------------------ SECTION: Lists ------------------------------ */


/* -------------------- CONTENT: Basic Lists -------------------- */

/* ---------- Regular Lists ---------- */

/* ----- Basic List Bin ----- */
.basicListBin{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    list-style: none;

    width: calc(100% - 20px);

    padding: 20px 10px 10px;
    margin: 5px 0;
}

/* ----- List Item ----- */
.basicListBin .listItem{
    display: flex;
    flex-wrap: nowrap;
    
    align-items: center;
    justify-content: start;

    width: calc(100% - 10px);

    padding: 10px 5px;
    margin: 0;
    /* margin-bottom: 10px; */
}

/* ----- Label ----- */
.basicListBin .label {
    display: flex;
    align-items: center;

    width: 250px; min-width: 250px;

    margin-right: 20px;
}

/* ----- Content ----- */
.basicListBin .content{
    display: inline-block;
    width: calc(100% - 150px);
    text-align: center;
}



/* ---------- Small List ---------- */

/* ----- List Item ----- */
.basicListBin .listItemSmall{
    display: flex;
    flex-wrap: nowrap;
    
    align-items: center;
    justify-content: start;

    /* text-wrap: wrap; */

    width: calc(100% - 10px);

    padding: 10px 5px;
    margin: 0;
    /* margin-bottom: 10px; */
}

/* ----- Label ----- */
.basicListBin .labelSmall{
    display: flex;
    align-items: center;

    width: 150px; min-width: 150px;

    margin-right: 10px;
}

/* ----- Content ----- */
.basicListBin .contentSmall{
    display: flex;

    /* justify-content: center; */
    align-items: center;

    /* text-align: left; */

    /* padding: 5px 0; */


    width: calc(100% - 150px - 10px);


    /* overflow-x: scroll; */
}


/* ---------- Large List ---------- */

/* ----- Label ----- */
.basicListBin .labelLarge{
    display: inline-block;
    width: 250px;
    margin-right: 20px;
}

/* ----- Content ----- */
.basicListBin .contentLarge{
    display: flex;
    text-wrap: wrap;
    width: calc(100% - 250px - 20px);
    height: fit-content;
    text-align: left;

    overflow-x: scroll;
}



/* ---------- List "add-ons" ---------- */
.basicListBin .contentSplit{
    display: inline-block;
    width: calc(50% - 75px);
    text-align: center;
}

.listItemLargeHoriz{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;

    width: calc(100% - 10px);
    height: 100px;

    padding: 5px;
    margin: 0;
    margin-bottom: 20px;

    border: 1px solid var(--primary);
    border-radius: 5px;

    transition: 0.2s ease-in-out;
}
.listItemLargeHoriz:hover{
    /* cursor: pointer; */
    /* background-color: #aaa; */
    border: 1px solid var(--primary_dark);
}

.listItemLargeHoriz .sectionLarge{
    display: flex;

    justify-content: center;
    align-items: center;

    width: 60%;
    height: 100%;
}
.listItemLargeHoriz .sectionSmall{
    display: flex;

    justify-content: center;
    align-items: center;

    width: calc(20% - 20px);
    height: 100%;

    padding: 0 10px;
}

.bottomBorder{
    border-bottom: 1px solid lightgray;
}
.topBorder{
    border-top: 1px solid lightgray;
}
.basicListBin .bottomMarginSmall{
    margin: 0;
    margin-bottom: 5px;
}

/* ------------------------------------------------------------ SECTION: Modals ------------------------------------------------------------ */

/* -------------------- Standard Mykro Modals -------------------- */
.modalStyleFull1{
    display: none;
    position: fixed;
    z-index: 900;

    justify-content: center;
    align-items: center;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
    margin: 0;

    overflow-y: hidden;

    background-color: rgba(0, 0, 0, 0.4);
    /* background-color: black; */
}
.modalContentBinLarge1{
    display: none; 
    flex-direction: column;
    align-items: center;

    width: 94%;
    height: fit-content;
    min-height: 60%;
    max-height: 90%;

    padding: 0 5px;
    margin: 10px auto;

    overflow-y: scroll;

    background-color: white;
}
.modalContentBinSmall1{
    display: none; 
    flex-direction: column;
    align-items: center;

    width: calc(40% - 20px);
    height: fit-content;
    min-height: 20%;
    max-height: 40%;

    padding: 10px;
    margin: auto;

    overflow-y: hidden;

    border-radius: 10px;
    background-color: white;
}

.roundedModalContentBin{
    border-radius: 10px;
}

/* .modalstyle1 .modalContent{
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 90%;  max-width: 1400px;

    height: 90vh;

    overflow-y: scroll;


    background-color: #fefefe;
    
    padding: 10px;


    border: 1px solid #888;

}
.modalstyle1 .modalHeader{
    display: flex;
    justify-content: start;
    align-items: center;
    width: 90%;
    margin: 0;
    padding: 0;
    border: 1px solid green;
}
.modalstyle1 .modalIcon{
    width: 75px;
    height: 75px;
}
.modalstyle1 .modalHeader h3{
    font-size: 38px;
    text-align: left;

    margin: 0 0 0 20px;

    width: 100%;
}
.modalstyle1 .modalBody{
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: space-between;

    width: 90%;
    padding: 0;

}
.modalstyle1 .modalBody p{
    padding: 5px;
}
.modalstyle1 .details{
    display: flex;
    flex-direction: column;

    width: 100%;
    min-height: 300px;

}
.modalstyle1 .details p{
    font-size: 18px;
    text-align: left;
}
.modalstyle1 .modalImage{
    width: 50%; max-width: 500px;
    max-height: 500px;
    object-fit: contain;
}
.modalstyle1 .modalFeatures{
    display: flex;
    flex-direction: column;
    align-items: center;

    height: fit-content;
    width: 100%;

}
.modalstyle1 .modalFeatures ul{
    list-style: none;

    width: 70%;

    padding: 20px;

    border-radius: 10px;
    background-color: var(--primary_lite);
}
.modalstyle1 .modalFeatures li{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    width: 100%;

    margin: 15px 5px;
}
.modalstyle1 .modalFeatures li h6{
    width: 60%;
    
}
.modalstyle1 .modalFeatures li h5{
    width: 30%;
 
}
.modalstyle1 .infoIcon{
    max-width: 20px;
    max-height: 20px;
    object-fit: contain;

}
.modalstyle1 .infoIcon:hover{
    cursor: pointer;
}
.modalstyle1 .featDescr{
    display: flex;



    height: 0px;
    width: 90%;



    background-color: white;
    border-radius: 10px;


}
.modalstyle1 .featDescr div{
    display: none;
    
    height: 0px;

    padding: 10px;
}
.modalstyle1 .featDescr div p{
    font-size: 16px;
    text-align: left;
} */

.modalstyle2{
    display: none;
    position: fixed;
    top: 0;

    justify-content: center;
    align-items: center;

    width: 100%; 
    min-height: 100%; 

    padding: 0;
    margin: 0;

    z-index: 100;
    overflow-y: scroll;
    /* background-color: var(--bg2); */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0, 0, 0, 0.6);
}
.modalstyle2 .modalContent{
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 90%;  max-width: 1400px;
    /* height: fit-content; min-height: 450px; max-height: 1000px; */

    height: 90vh;

    /* margin: 0 5%; */
    overflow-y: scroll;


    background-color: #fefefe;
    
    padding: 10px;


    border: 1px solid #888;

}
.modalstyle2 .modalHeader{
    display: flex;
    justify-content: flex-end;
    align-items: center;

    height: fit-content;
    width: 95%;
    margin: 0;
    padding: 0;
    /* border: 1px solid red; */
}
.modalstyle2 .modalHeader .closeGridModal{
    display: block;
    font-size: 48px;
    line-height: 48px;
    padding: 0;
    margin: 0;
    /* border: 1px solid black; */
}
.modalstyle2 .modalHeader .closeGridModal:hover{
    cursor: pointer;
}
.modalstyle2 .modalHeader h3{
    /* position: relative;
    right: 37.5px;
    text-align: center; */
    font-size: 38px;
    text-align: left;

    margin: 0 0 0 20px;

    width: 100%;

    /* border: 1px solid blue; */
}
.modalstyle2 .modalBody{
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: space-between;

    width: 90%;
    /* min-height: 250px; */
    padding: 0;

    /* border: 1px solid red; */
}
.modalstyle2 .modalBody p{
    padding: 5px;
    /* border: 1px solid blue; */
}
.modalstyle2 .details{
    display: flex;
    flex-direction: column;

    list-style: none;

    width: 100%;
    height: fit-content;
    min-height: 150px;

    padding: 0;

    /* border: 1px solid blue; */
}
.modalstyle2 .details p{
    font-size: 18px;
    text-align: left;
}
.modalstyle2 .modalImage{
    width: 50%; max-width: 500px;
    max-height: 500px;
    object-fit: contain;
    /* background-color: lightgray; */
    /* border: 1px solid yellow; */
}
.modalstyle2 .modalFeatures{
    display: flex;
    flex-direction: column;
    align-items: center;

    height: fit-content;
    width: 100%;

    /* border: 1px solid red; */
}
.modalstyle2 .modalFeatures ul{
    list-style: none;

    width: 70%;

    padding: 20px;

    border-radius: 10px;
    /* color: white; */
    background-color: var(--primary_lite);
}
.modalstyle2 .modalFeatures li{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    width: 100%;

    margin: 15px 5px;
    /* border: 1px solid lightgray; */
}
.modalstyle2 .modalFeatures li h6{
    width: 60%;
    /* border: 1px solid red; */
}
.modalstyle2 .modalFeatures li h5{
    width: 30%;
    /* border: 1px solid red; */
}
.modalstyle2 .infoIcon{
    max-width: 20px;
    max-height: 20px;
    object-fit: contain;
    /* border: 1px solid blue; */
}
.modalstyle2 .infoIcon:hover{
    cursor: pointer;
}
.modalstyle2 .featDescr{
    display: flex;
    /* flex-direction: column; */


    height: 0px;
    width: 90%;



    background-color: white;
    border-radius: 10px;

    /* transition: 0.2s ease-in-out; */
}
.modalstyle2 .featDescr div{
    display: none;
    
    height: 0px;

    padding: 10px;
}
.modalstyle2 .featDescr div p{
    font-size: 16px;
    text-align: left;
}




/* Modal close button */
.closeModal {

    font-size: 48px;
    font-weight: 500;
    line-height: 40px;

    /* width: 100%; */
    height: fit-content;

    margin: 0;
    padding: 0;

    color: #aaa;
    /* border: 1px solid red; */
    transition: 0.2s ease-in-out;
  }
.closeModal:hover,
.closeModal:focus {
    color: red;
    text-decoration: none;
    cursor: pointer;
}
.dropdownBin{
    transition: all 0.25s ease-in-out;
}
.dropdownBinTab{
    transition: 0.25s ease-in-out;
}
.dropdownBinTab:hover{
    background-color: whitesmoke;
    /* border: 2px solid lightgray; */
    cursor: pointer;
}
.dropdownBinContent{
    transition: 0.25s ease-in-out;

    background-color: whitesmoke;
}

.hiddenContainer{
    display: none;
}


::-webkit-scrollbar{
    height: 8px;
    width: 8px;
}
::-webkit-scrollbar-thumb:vertical{
    background-color: var(--primary);
    border-radius: 10px;
}
::-webkit-scrollbar-track:vertical{
    background: lightgray;
}


::-webkit-scrollbar-track:horizontal{
    background: none;

}
::-webkit-scrollbar-track:horizontal:hover{
    background: none;
}
::-webkit-scrollbar-thumb:horizontal{
    background-color: var(--primary);
    border-radius: 10px;
}