/* CSS Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
    background-color: white;
    font-family: system-ui, sans-serif;
}

.placeholder-image img {
    background-color: black;
    min-width: 3em;
}

.hidden {
    display: none !important;
}

header {
    background-color: #ADB9CA;
    height: 16vh;
    display: flex;
}

#logo {
    align-self: center;
    height: 100%;
    padding: 3vh;
    padding-left: 2vh;
    border-right: 0.1rem solid black
}

#menu-container {
    width: 100%;
    height: 100%
}

#ribbon {
    border-bottom: 0.1rem solid black;
    height: 39%;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1em;
}

#ribbon h3 {
    font-size: 4vh;
    font-weight: 400;
    margin-left: 0.5em;
    color: black;
    text-shadow: 2px 1px 4px rgba(0,0,0,0.6);
    transition: ease 0.1s;
    cursor: pointer;
}

#ribbon h3:hover {
    background-color: #8497B0;
    border-radius: 0.5vw;
}

.ribbon-option-underlined {
    text-decoration: underline ;
    text-decoration-color: #FF0000;
    text-decoration-thickness: 0.4vh;
    text-underline-offset: 0.4vh;
}

#toolbar-container {
    width: 100%;
    height:61%;

}

.toolbar {
    height: 100%;
    display: flex;
    padding-left: 1vw;
    gap: 1vw;
    align-items: center;
}

.tool  {
    display: flex;
    flex-direction: column;
    padding: 0.75vh;
    height: 90%;
    max-width: fit-content;
    transition: ease 0.1s;
    cursor: pointer;
    border-radius: 0.5vw;
    align-items: center;
}

.tool:hover {
    background-color: #bec3c9;
}

.tool-chosen {
    background-color: #8497B0;
    transition: ease 0.1s;
}

.tool-chosen:hover {
    background-color: #90a4be;
}

.tool img {
    height: 75%;
    max-width: 80%;
    align-self: center;
}

.tool p {
    margin-top: 0.2em;
    font-weight: 200;
    font-size: 1.5vh;
}

main {
    background-color: #8FAADC;
    height: 84vh;
}

.workspace {
    width: 100%;
    height: 100%;
    display: flex;
    gap: 3%;
    box-sizing: border-box;
    padding-top: 1%;
    padding-bottom: 1%;
    padding-left: 2.5%;
    padding-right: 2.5%;
}

.load-election-section {
    height: 100%;
    width: 100%;
    
}

.load-election-section h2 {
    text-align: center;
    background-color: #8497B0;
    padding: 0.75rem;
    border-radius: 1vw;
    color: white;
    font-weight: 200;
    cursor: default;
}

#continent-section {
    width: 25%;
}

#country-section {
    width: 25%;
}

#election-section {
    width: 50%;
}

.continent-option {
    margin-top: 1.25rem;
    display: flex;
    width: 100%;
    height: 11%;
    align-items: center;
    box-sizing: border-box;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    transition: ease 0.1s;
    border-radius: 1vw;
    cursor: pointer;
}

.continent-option:hover {
    background-color: #acb6c3;
}

.continent-option-chosen {
    background-color: #8497B0 !important;

}

.continent-option img {
    height: 100%;
    object-fit: cover;
    margin-right: 2rem;
}

.continent-option h3 {
    font-size: 150%;
    flex: 1;
    text-align: center;
    color: white;
    font-weight: 200;
}

#country-scroll-section {
    height: 84.5%;
    overflow-y: auto;
}

#election-scroll-section {
    height: 84.5%;
    overflow-y: auto;
}

.country-option {
    margin-top: 1.25rem;
    display: flex;
    width: 100%;
    height: 13%;
    align-items: center;
    box-sizing: border-box;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    transition: ease 0.1s;
    border-radius: 1vw;
    cursor: pointer;
}

.country-option:hover {
    background-color: #acb6c3;
}

.country-option-chosen {
    background-color: #8497B0 !important;

}

.country-option img {
    height: 80%;
    aspect-ratio: 3/2;
    object-fit: cover;
    margin-right: 2rem;
    border-radius: 0.5vw;
}

.country-option h3 {
    font-size: 150%;
    flex: 1;
    text-align: center;
    color: white;
    font-weight: 200;
}

.election-option {
    margin-top: 1.25rem;
    display: flex;
    width: 100%;
    height: 13%;
    align-items: center;
    box-sizing: border-box;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    transition: ease 0.1s;
    border-radius: 1vw;
    cursor: pointer;
}

.election-option:hover {
    background-color: #acb6c3;
}

.election-option-chosen {
    background-color: #8497B0 !important;

}

.election-option h3 {
    font-size: 400%;
    object-fit: cover;
    margin-right: 2rem;
    border-radius: 1vw;
    color: white;
    font-weight: 1000;
    text-shadow: 2px 1px 4px rgba(0,0,0,0.6);
}

.election-option span {
    font-size: 150%;
    flex: 1;
    text-align: center;
    color: white;
    font-weight: 200;
}

#select-data-workspace {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

#select-data-election-name {
    width: 60%;
    padding: 1vh;
    font-size: 2.5vh;
    background-color: #8497B0;
    color: white;
    text-align: center;
    border-radius: 1vw;
    font-weight: 200;;
}



#datapoints-container {
    display: flex;
    height:70vh;
    width: 100%;
    justify-content: center;
    align-items: center;

}

.select-data-scroller-container {
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 1rem;
    width: 40%;
    height: 100%;
}

.select-data-scroller-container h2 {
    font-weight: 400;
    cursor: default;
    font-size: 3vh;
}

.datapoint-scroller {
    display: flex;
    flex-direction: column;
    border: 0.2rem solid #8497B0;
    width: 100%;
    height: 90%;
    margin-bottom: 2rem;
    border-radius: 2rem;
    padding:1rem;
    gap: 1rem;
    overflow-y: auto;
}

.datapoint-scroller p {
    font-size: 2rem;
    font-weight: 200;
    color: white;
    cursor: pointer;
}

.datapoint-option {
    transition: ease 0.1s;
    border-radius: 1vw;
}

.datapoint-option:hover {
    background-color: #a0b7d4;
}


#biArrow {
    width: 15%;
}

#no-datapoints-selected {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: default;
}

#no-datapoints-selected h2 {
    font-size: 7rem;
    font-weight: 400;
    color: #8497B0;
    text-shadow: 2px 1px 4px rgb(113, 113, 113);
    
}

#no-datapoints-selected p {
    font-weight: 400;
    color: #8497B0;
    cursor: default;
}

.visualise-chart {
    width: 39vh;
    aspect-ratio: 1/1;
    border: 0.3rem solid #8497B0;
    border-radius: 1rem;
}

.selected-visualise-chart {
      animation: flashBorder 0.5s infinite;
    }

    @keyframes flashBorder {
      0%, 100% {
        border-color: #8497B0;
      }
      50% {
        border-color: transparent;
      }
    }

#visualise-workspace {
    display: flex;
    flex-direction: column;
}

.chart-row {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

#election-toolbar-info-container {
    display: flex;
    flex-direction: column;
    height: 80%;
    gap: 1vh;
    border-left: 0.1rem solid black;
    padding-left: 1rem;
    
}

#election-toolbar-info-container p {
    background-color: #8497B0;
    color: white;
    font-weight: 200;
    padding: 0.5vh;
    border-radius: 0.25rem;
    font-size: 2vh;
}

