﻿:root .theme-dark {
    --series-1: #80E3F0;
    --series-2: #F0EC80;
    --series-3: #DEF080;
    --series-4: #B0A8FE;
    --series-5: #FFB28C;
    --series-6: #A8F0D6; /* Soft mint */
    --series-7: #F0B7A8; /* Light coral */
    --series-8: #D6A8F0; /* Lavender */
    --series-9: #A8D2F0; /* Sky blue */
    --series-10: #F0D680; /* Light goldenrod */
    --series-11: #A8F0A2; /* Mint green */
    --series-12: #F0A8A8; /* Peachy pink */
    --series-13: #C8A8F0; /* Soft violet */
    --series-14: #A8F0F0; /* Aqua */
    --series-15: #F0A8C0; /* Light pink */

    --font-size: 16px;
    --font-family: Mulish, sans-serif;
    --font-style: normal;
    --font-weight: 400;
}


:root .theme-light {
    --series-1: #89D5C9; /* Soft teal */
    --series-2: #FAC172; /* Light orange */
    --series-3: #FF8357; /* Coral */
    --series-4: #E25B45; /* Bright red-orange */
    --series-5: #AEC865; /* Lime green */
    --series-6: #7FC5A5; /* Muted mint green */
    --series-7: #FFD27F; /* Soft yellow-orange */
    --series-8: #FF9680; /* Peach */
    --series-9: #F06050; /* Warm vermillion */
    --series-10: #C4DC72; /* Soft yellow-green */
    --series-11: #68BBA0; /* Deep sea green */
    --series-12: #F9A55C; /* Light apricot */
    --series-13: #FF9F8F; /* Salmon pink */
    --series-14: #D24740; /* Fiery red */
    --series-15: #9EC154; /* Earthy green */
}



/* Body, container (real content) and background */
body {
    height: 100vh;
    margin: 0;
    font-size: var(--font-size);
    font-family: Mulish, sans-serif;
    font-style: normal;
    font-weight: 400;
}

/* Container */
dpp-container {
    height: 100%;
    margin:0;
    display: grid;
    grid-template: "header    "
                   "main      ";
    grid-template-columns: auto;
    grid-template-rows: min-content auto;
    grid-auto-flow: row;
}

dpp-background {
    width: 100vw;
    height: calc(120vh);
    margin:0;
    background-size: cover;
    background-repeat: no-repeat; /* Prevent the background from repeating */
    background-attachment: fixed;
    position: fixed;
    top:-10vh;
    left:0;
    z-index: -100;
}

.theme-dark  {
    color: #FFF;
    color: var(--)
    font-size: max(1vw, 16px);
    dpp-background{
        background-image: url("images/Background_Desktop_Dark.png");
    }
}

.theme-light {
    color: #122920;
    font-size: max(1vw, 16px);
    dpp-background {
        background-image: url("images/Background_Desktop_Light.png");
    }
}

@media screen and (width < 600px) {
    .theme-light {
        dpp-background {
            background-image: url("images/Background_Mobile_Light.png");
        }
    }
    .theme-dark {
        dpp-background {
            background-image: url("images/Background_Mobile_Dark.png");
        }
    }
}



/* Header */
dpp-header {
    grid-area: header;
    display:grid;
    margin: 0.2em 1em 0.2em 1em;
    grid-template: "logo space avatar theme";
    grid-template-columns: min-content auto max-content max-content;
    align-content: center;
    align-items: center;
    gap: 1em;
}

dpp-header-logo {
    grid-area: logo;
}


@media screen and (width < 600px) {
    dpp-header-logo > img {
        width:10em;
    }
}

dpp-header-avatar {
    grid-area: avatar;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 8px;
}

dpp-header-theme-switch {
    grid-area: theme;
}

dpp-header-theme-switch:hover {
    cursor: pointer;
}

/* Card */
dpp-card {
    border-radius: 2em;
    display:flex;
    width:100%;
    height:auto;
}

.theme-light {
    dpp-card {
        background: linear-gradient(120deg, rgba(255, 255, 255, 0.25) 2.91%, rgba(255, 255, 255, 0.5) 100%);
        backdrop-filter: blur(10px);
        border: 0.0625em solid #FFFFFF;
        padding: 0px;
    }
}

.theme-dark {
    dpp-card {
        border: 0.0625em solid transparent;
        background:
                linear-gradient(rgba(25, 27, 27, 0.5), rgba(25, 27, 27, 0.5)) padding-box,
                linear-gradient(120deg, #5A7067 0%, #222222 5%, #222222 90%, #5A7067 100%) border-box;
        backdrop-filter: blur(10px);
    }
}

dpp-card-content {
    overflow:hidden;
}

dpp-main {
    grid-area: main;
    display: grid;
    grid-auto-flow: row;
    grid-template: "top"
                   "menu"
                   "content";
    margin: 2em 7.5em 2em 7.5em;
    gap: 1.5em;
    align-content: start;
    padding-bottom: 2em;
}



@media screen and (width < 600px) {
    dpp-main {
        margin: 1em 1em 1em 1em;
    }
}


dpp-main-top {
    grid-area: top;
}

dpp-field {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

dpp-field-label {
    line-height: 120%;
}

.theme-light dpp-field-label {
    color: rgba(18, 41, 32, 0.60);
}

.theme-dark dpp-field-label {
    color: rgba(255, 255, 255, 0.60);
}
dpp-field-value {
    line-height: 130%;
}

a.externalLink{
    color: #3299CC;
    font-size: 1em;
    font-weight: 600;
    text-decoration: underline;
    word-wrap: break-word;
}

dpp-top {
    display:grid;
    margin: 1em 2em;
    grid-template: "details image";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: max-content;
    width: 100%;
    gap: 1em;
}

@media screen and (width < 600px) {
    dpp-top {
        grid-template: "image"
                   "details";
        grid-template-columns: 1fr;
    }
}

/*Top Section*/
dpp-top-image {
    grid-area: image;
    justify-self: center;
    align-self:center;
}

dpp-top-details {
    grid-area: details;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: space-evenly;
    align-content: space-evenly;
    gap:1em;
}
/* Categories Menu */
dpp-main-menu {
    grid-area: menu;
    border-radius: 2em;
    width:100%;
    height: auto;
    overflow-x:auto;
}

.theme-light {
    dpp-main-menu {
        background: linear-gradient(120deg, rgba(255, 255, 255, 0.25) 2.91%, rgba(255, 255, 255, 0.5) 100%);
        border: 0.0625em solid #FFFFFF;
        padding: 0px;
        backdrop-filter: blur(10px);
    }
}

.theme-dark {
    dpp-main-menu {
        border: 0.0625em solid transparent;
        background:
                linear-gradient(rgba(25, 27, 27, 0.5), rgba(25, 27, 27, 0.5)) padding-box,
                linear-gradient(120deg, #5A7067 0%, #222222 5%, #222222 90%, #5A7067 100%) border-box;
        backdrop-filter: blur(10px);
    }
}



dpp-main-content {
    display:grid;
    grid-template-columns: auto;
    grid-area: content;
    gap: 1.25em;
}

dpp-tab-control {
    overflow-x: auto;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(auto-fit, 1fr);
    width: 100%;
    align-items: center;
}

dpp-tab-control::-webkit-scrollbar {
    display: none;
}


dpp-tab-page-selected {
    border-radius: 1.75em;
    display: flex;
    padding: 0.75em 1.25em;
    justify-content: center;
    align-items: center;
    gap: 1.25em;
    text-wrap: nowrap;
}

dpp-tab-page {
    display: flex;
    padding: 0.75em 1.25em;
    justify-content: center;
    align-items: center;
    gap: 1.25em;
    text-wrap: nowrap;
}

dpp-tab-page:hover {
    cursor: pointer;
}
/*theme switch*/
.theme-light dpp-tab-page-selected {
    background: #428F70;
    color: #FFF;
}

.theme-dark dpp-tab-page-selected {
    background: #FFFFFF;
    color: #272727;
}
/*Card Inner*/
dpp-card-title-box {
    margin: 1em 2em;
    display: grid;
    grid-template-columns: auto;
    gap: 1.5em;
    width: 100%;
    height: max-content;
}

dpp-card-title {
    display: flex;
    flex-direction: column;
    gap: 0.25em;
    font-size: 1.25em;
    font-weight: 700;
}

dpp-card-title-with-icon {
    gap: 8px;
    display: inline-flex;
    align-items: center;
}

dpp-card-title-icon-container{
    position: relative;
}

dpp-card-title-icon > i {
    opacity:0.8;
}

.dpp-main-title-icon {
    width: 0.6em;
    opacity: 0.8;
}

dpp-title {
    font-size: 1.5em;
    font-weight: 700;
    line-height: normal;
    padding-left: 1.25em;
    padding-right: 1.25em;
}

.theme-light dpp-title {
    color: #122920;
}

.theme-dark dpp-title {
    color: #FFF;
}

dpp-infotext {
    font-size: 0.875em;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    padding-left: 2.25em;
    padding-right: 2.25em;
    opacity: 0.8;
}

.theme-light dpp-subtitle {
    color: rgba(18, 41, 32, 0.60);
}

.theme-dark dpp-subtitle {
    color: rgba(255, 255, 255, 0.60);
}

dpp-main-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25em;
}

@media screen and (width < 600px) {
    dpp-main-grid {
        grid-template-columns: 1fr;
    }
}

dpp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, 16em);
    gap: 1.25em;
    width:100%;
    justify-content: space-between;
}

dpp-main-title {
    padding-left: 0.3em;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    justify-items: stretch;
    align-items: center;
    gap: 0.25em;
    display: flex;
}

.theme-dark dpp-main-title {
    color: #FFF;
}

.theme-light dpp-main-title {
    color: #122920;
}

dpp-main-block {
    margin-bottom: 0.5em;
}

dpp-main-subtitle {
    font-size: 1.5rem;
    padding-left: 0.3em;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    justify-self: stretch;
    align-self: stretch;
}

.theme-dark dpp-main-subtitle {
    color: #FFF;
}

.theme-light dpp-main-subtitle {
    color: #122920;
}

dpp-main-text {
    font-size: 1rem;
    padding-left: 0.3em;
    font-style: normal;
    font-weight: 400;
    justify-self: stretch;
    align-self: stretch;


}

.theme-dark dpp-main-text {
    color: rgba(255, 255, 255, 0.80);
}

.theme-light dpp-main-text {
    color: #122920;
}

dpp-option {
    display:flex;
    flex-direction: row;
    gap: 0.5em;
    align-items: center;
}

dpp-option-box {
    display: flex;
    min-width: 1.25em;
    width: 1.25em;
    min-height: 1.25em;
    height: 1.25em;
    justify-content: center;
    align-items: center;
    border-radius: 0.75em;
    padding:0em;
}

dpp-option-box:hover {
    cursor: pointer;
}

.theme-dark dpp-option-box {
    border: 1px solid rgba(255, 255, 255, 0.40);
    color: #00D17D;
}

.theme-light dpp-option-box {
    border: 1px solid rgba(174, 174, 174, 0.40);
    color: #5C9E73;
}

dpp-option-label {
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-wrap: nowrap;
}


.theme-dark dpp-option-label {
    color: #FFFFFF;
}

.theme-light dpp-option-label {
    color: #122920;
}
/*ESG*/



dpp-esg-table {
    display: grid;
    grid-template-columns: 1.2fr repeat(6, 1fr);
    grid-template-rows: 3em;
    width: 100%;
}



dpp-esg-table > * {
    padding:0.5em;
}

dpp-esg-data {
    display: flex;
    justify-content: center;
    align-content: center ;
    font-size: 1em;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
}

dpp-esg-header {
    justify-content: center;
    align-items: center;
    font-size: 0.75em;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
}

dpp-esg-row-header {
    justify-content: center;
    align-items: center;
    font-size: 0.75em;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
}

.theme-light {
    dpp-esg-table {
        background: rgba(255, 255, 255, 0.40);
    }
    dpp-esg-table > * {
        border-top: 1px solid rgba(173, 173, 173, 0.20);
        border-bottom: 1px solid rgba(173, 173, 173, 0.20);
    }
    dpp-esg-header, dpp-esg-row-header {
        background: rgba(255, 255, 255, 0.20);
    }
}



/* Responsive Design */
@media screen and (width < 600px) {
    dpp-esg-table {
        grid-template-columns: 1.2fr 1fr; /* Show only first 2 columns */
    }

    dpp-esg-data:nth-child(7n+3), /* Columns 3 */
    dpp-esg-data:nth-child(7n+4), /* Columns 4 */
    dpp-esg-data:nth-child(7n+5), /* Columns 5 */
    dpp-esg-data:nth-child(7n+6), /* Columns 6 */
    dpp-esg-data:nth-child(7n+7),
    dpp-esg-header:nth-child(7n+3), /* Headers 3-7 */
    dpp-esg-header:nth-child(7n+4),
    dpp-esg-header:nth-child(7n+5),
    dpp-esg-header:nth-child(7n+6),
    dpp-esg-header:nth-child(7n+7) {
        display: none;
        width: auto;
        height: auto;
    }
}
/*Second Phase*/
@media screen and (max-width: 600px) {


    .dpp-esg-table.hermos-table {
        display: grid;
        grid-template-columns: 1.2fr repeat(4, 1fr)
    }


    .dpp-esg-table.hermos-table .dpp-esg-row-header
    {
        width: 25em;
        display:block;
        justify-content: center;
        align-items: center;
        fofont-style: normal;
        font-weight: 400;nt-size: 0.75em;
        
        line-height: 130%;
    }

    .dpp-esg-table.hermos-table .dpp-esg-data
    {
        height: auto;
        display:block;font-size: 0.75em;
        font-style: normal;
        font-weight: 400;
    }

    .dpp-esg-table.hermos-table .dpp-esg-header
    {
        text-align: center;
        align-content: center;
        display:block;
        justify-content: center;
        align-items: center;
        font-size: 0.75em;
        font-style: normal;
        font-weight: 400;
        line-height: 130%;
        height: auto;
        width: auto;
    }
}

.theme-dark dpp-esg-data.valid-score {
    background: #64D53F;
    color: #27353C;
}

.theme-dark dpp-esg-data.invalid-score {
    background: #FDF0C6;
    color: #D9873F;
}

.theme-light dpp-esg-data.valid-score {
    background: #64D53F;
    color: #27353C;
}

.theme-light dpp-esg-data.invalid-score {
    background: #FDF0C6;
    color: #D9873F;
}

dpp-chart {
    width: 100%;
    display:grid;
    grid-template : "chart legend";
    grid-template-columns: 3fr 1fr;
}

dpp-chart > svg {
    width: 100%;
    height:auto;
}


dpp-chart {
    grid-area: chart;
}

dpp-chart-legend {
    width: 25%;
    height:auto;
    grid-area: legend;
    display: grid;
    grid-template-columns: max-content;
    grid-auto-flow: row;
    gap: 0.5em;
    align-content: center;
    justify-content: start;
    margin-left: 1em;
}

.donut-chart {
    display: flex;
    justify-content: center;
    align-items: center;
}

.chart-legend-item {
    display: flex;
    flex-direction: row;
    gap: 0.25em;
    align-items: center;
    align-content: center;
    justify-items: start;
    width:12em;
}

.chart-legend-label {
    width: 10em;
}

.chart-legend-rect {
    width: 1.5em;
    height: 0.5em;
    border-radius: 0.25em;
}

@media screen and (width < 1200px) {
    dpp-chart {
        grid-template : "chart"
                         "legend";
        grid-template-columns: 1fr;
    }
    
    dpp-chart > svg {
        width: 100%;
    }
    
    .chart-legend-item {
        width: 26em;
    }
    .chart-legend-label {
        width: 24em;
    }

    dpp-chart-legend {
        justify-content: center;
        align-items: center;
        width: 100%;
        grid-template-columns: repeat(auto-fill, minmax(12em, max-content));
    }
}

.donut-chart {
    text{
        font-size: 1em;
        font-style: normal;
        font-weight: 700;
        line-height: normal;    
    }
    
}

.theme-light text > tspan {
    fill: #122920;
}
.theme-dark text > tspan {
    fill: #FFFFFF;
}


/*Charts*/
.donut-chart .serie1 {
    path {
        fill: var(--series-1);
    }
    .legend-rect {
        fill: var(--series-1);
    }
}

.donut-chart .serie2 {
    path {
        fill: var(--series-2);
    }
    .legend-rect {
        fill: var(--series-2);
    }
}
.donut-chart .serie3 {
    path {
        fill: var(--series-3);
    }
    .legend-rect {
        fill: var(--series-3);
    }
}
.donut-chart .serie4 {
    path {
        fill: var(--series-4);
    }
    .legend-rect {
        fill: var(--series-4);
    }
}

.donut-chart .serie5 {
    path {
        fill: var(--series-5);
    }
    .legend-rect {
        fill: var(--series-5);
    }
}

.bar-chart-grid {
    fill: none;
}

.bar-chart-legend {
    font-size: 0.7em;
    font-style: normal;
    font-weight: 400;
}

.theme-light {
    .bar-chart-grid {
        stroke: #D8D8D8;
    }
    .bar-chart-legend {
        fill:rgba(18, 41, 32, 0.80);
    }
}

.theme-dark {
    .bar-chart-grid {
        stroke:white;
        stroke-opacity:0.2;
    }
    .bar-chart-legend {
        fill:rgba(255, 255, 255, 0.80);
    }
}


/*Image Container*/
dpp-image-container {
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    display: inline-block
}

dpp-image-container > img {
    width: 100%;
}


/* Supply Chain Maps  */

/* Events List - Lines & Bullets  */
dpp-supplychain-event-wrapper
{
    width: 100%; 
    height: 253px; 
    justify-content: flex-start; 
    align-items: center; 
    gap: 8px; 
    display: inline-flex
}

dpp-supplychain-event-line-wrapper 
{
    width: 27px; 
    align-self: stretch; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: center; 
    display: inline-flex
}

dpp-supplychain-event-line-first-item-wrapper, dpp-supplychain-event-line-last-item-wrapper, dpp-supplychain-event-line-item-wrapper
{
    width: 100%; 
    height: 100%; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: center; 
    display: inline-flex
    
}

dpp-supplychain-event-first-item-line-up
{
    width: 2px; 
    height: 114.50px; 
    opacity: 0; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center;
    display: flex
}

dpp-supplychain-event-last-item-line-up
{
    width: 2px; 
    height: 94.50px; 
    position: relative
}

dpp-supplychain-event-first-item-bullet
{
    width: 24px; 
    height: 24px; 
    padding-top: 4px; 
    padding-bottom: 4px; 
    background: #5C9E73; 
    border-radius: 100px; 
    overflow: hidden; 
    justify-content: center; 
    align-items: center; 
    display: inline-flex 
}

dpp-supplychain-event-last-item-line-bullet
{
    width: 24px; 
    height: 24px; 
    position: relative; 
    background: #5C9E73; 
    border-radius: 100px  
    
}

dpp-supplychain-event-last-item-line-down
{
    width: 2px; 
    height: 94.50px; 
    opacity: 0; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    display: flex
}

dpp-supplychain-event-first-item-line-down
{
    width: 2px; 
    height: 114.50px; 
    position: relative
}

dpp-supplychain-event-item-line-up
{
    width: 2px; 
    height: 117px; 
    position: relative
}

dpp-supplychain-event-item-line-bullet
{
    width: 24px; 
    height: 24px; 
    position: relative; 
    background: #5C9E73; 
    border-radius: 100px
}

dpp-supplychain-event-item-line-down
{
    width: 2px; 
    height: 117px; 
    position: relative
}

dpp-supplychain-event-first-item-line-up > div
{
    width: 2px; 
    height: 114.50px; 
    background: #F2F2F2
}

dpp-supplychain-event-first-item-bullet > div
{
    text-align: center
}

dpp-supplychain-event-first-item-line-down > div
{
    width: 2px; 
    height: 114.50px; 
    left: 0px; 
    top: 0px; 
    position: absolute; 
    background: #5C9E73
}

dpp-supplychain-event-last-item-line-up > div
{
    width: 2px; 
    height: 94.50px; 
    left: 0px; 
    top: 0px; 
    position: absolute; 
    background: #5C9E73
}

dpp-supplychain-event-last-item-line-down > div
{
    width: 2px; 
    height: 94.50px; 
    background: #5C9E73
}

dpp-supplychain-event-item-line-up > div
{
    width: 2px; 
    height: 117px; 
    left: 0px; 
    top: 0px; 
    position: absolute; 
    background: #5C9E73
}

dpp-supplychain-event-item-line-down > div
{
    width: 2px; 
    height: 117px; 
    left: 0px; 
    top: 0px; 
    position: absolute; 
    background: #5C9E73
}


/* Events List - Data  */

dpp-supplychain-event-data-wrapper
{
    width: 271px; 
    height: 180px; 
    justify-content: flex-start; 
    align-items: center; 
    gap: 32px; 
    display: flex
}

dpp-supplychain-event-data-wrapper-inner
{
    width: 282px; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    display: inline-flex
}

dpp-supplychain-event-data-title
{
    align-self: stretch; 
    font-weight: 700; 
    line-height: 23.20px; 
    word-wrap: break-word
}

dpp-supplychain-event-data-item
{
    align-self: stretch
}

span.eventDataItemTitle
{
    font-weight: 400; 
    line-height: 23.20px; 
    word-wrap: break-word
}

span.eventDataItemValue
{
    font-weight: 400; 
    line-height: 23.20px; 
    word-wrap: break-word
}

dpp-flag {
    font-family: "Twemoji Country Flags", Mulish, "Helvetica", "Comic Sans", serif;
}