/* ESI is the prefix for European Sovereignty Index */

:root {
    --esi-blue: #283470;
    --esi-light-blue: #e0e3fa;
    --esi-green: #006A6B;
    --esi-light-green: #D3F2F2;
    --esi-light-green-background: #D3F2F2;
    --esi-green-accessible: #006A6B;
    --esi-yellow: #FEEA00;
    --esi-light-orange: #F7AB64;
    --esi-orange: #FF4100;
    
    /* From files */
    --esi-green: #008C8D;
    --esi-light-green: #9FD7DA;
    --esi-light-green-background: #D3F2F2;
    --esi-orange: #E74211;
}

.home-title {
    display: grid;
    grid-gap: var(--grid-gap);
    justify-content: center;
}

.hdr-logo {
    text-align: center;
}

.hdr-logo img {
    max-width: 60vw;
}

@media (min-width: 768px) {
    .home-title {
        grid-template-columns: repeat(2, minmax(min-content, 416px));
    }
    
    .hdr-logo {
        text-align: right;
    }
    
    .hdr-logo img {
        max-width: 40vw;
    }
    
    .home-excerpt {
        margin-top: 18%;
    }
}

.section-header.sticky {
    --top: 32px;
    background-color: white;
    top: 0;
    margin-top: calc(var(--top) * -1);
    padding-top: var(--top);
}

.admin-bar .sticky {
    --top: 64px;
}

.home-excerpt .subtitle {
    color: var(--esi-green);
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.home-excerpt .subtitle span {
    color: var(--esi-orange);
}

.home-excerpt .post-excerpt {
    font-size: 1.1rem;
}

.home-excerpt .post-meta {
    margin-top: 1rem;
    color: var(--medium-gray);
}

.home-nav > div {
    padding: 1.2rem;
    background-color: var(--esi-light-green-background);
    border-radius: 1rem;
}

.home-nav .grid-main {
    column-gap: 1.2rem;
}

.home-nav p,
.home-nav .btn-group {
    margin-top: 1rem;
}

.btn {
    --btn-color: var(--esi-green-accessible);
	--btn-color-dark: var(--almost-black);
	--btn-color-light: var(--esi-light-green-background);
	--btn-color-light-alt: var(--esi-light-green);
}

.post-meta > * {
    display: inline;
}
.post-meta > * + ::before {
    content: " · ";
    opacity: .5;
}

.color-border.color-inherit {
    background-color: var(--esi-blue);
}

.color-border + .section-heading {
    margin-top: 1.2rem;
}

.text-body h2,
.text-body h3,
.section-heading.section-heading-medium {
    color: var(--esi-blue);
    font-weight: bold;
    text-transform: none;
    letter-spacing: inherit;
}

.section-heading.section-heading-medium {
    font-size: 1.3333rem;
}

.color-inherit {
    color: var(--esi-blue);
}

.text-box {
    border-radius: 1rem;
    background-color: var(--esi-light-blue);
}

/* Legend */
.legend {
    display: flex;
    gap: .5rem 1rem;
    flex-direction: row;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.legend li {
    margin: 0;
}

.legend li::before {
    content: "⬤";
    margin-right: .5em;
    font-weight: normal !important;
}

.score-excellent {
    --score-color: var(--esi-green);
    --score-text-color: white;
}

.score-good {
    --score-color: var(--esi-light-green);
    --score-text-color: var(--almost-black);
}

.score-satisfactory {
    --score-color: var(--esi-yellow);
    --score-text-color: var(--almost-black);
}

.score-poor {
    --score-color: var(--esi-light-orange);
    --score-text-color: var(--almost-black);
}

.score-failing {
    --score-color: var(--esi-orange);
    --score-text-color: white;
}

[class*="score-"]::before {
    color: var(--score-color);
}

[class*="score-"] path {
    stroke: var(--score-color);
}

td[class*="score-"] {
    background-color: var(--score-color);
    color: var(--score-text-color);
}

.sidebar-right {
    opacity: 1 !important;
}

#by-terrain .post-excerpt {
    font-size: 1.1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

#by-terrain .post-meta {
    color: var(--medium-gray);
    margin-bottom: 2rem;
}

#by-terrain .article-main,
#by-terrain .sidebar-right {
    margin-bottom: 2rem;
}

#by-terrain .post-title {
    font-weight: bold;
    color: var(--esi-blue);
}

@media (min-width: 1056px) {
    #by-terrain .article-content .sidebar-left {
        grid-row: 1 / span 6 !important;
    }
    
    #by-terrain .article-content :is(.article-main, .sidebar-right) {
        grid-row: unset;
    }
}

.credits {
    display: flex;
    gap: .8rem 1.5rem;
    color: var(--medium-gray);
    flex-wrap: wrap;
}

@media (max-width: 767px) {
    iframe[src*=ranking] {
        width: calc(100% + var(--grid-gap));
        margin-left: calc(-1 * var(--container-padding));
        padding-left: calc(var(--container-padding));
        padding-right: 0;
        max-width: unset;
    }
}

.text-box summary::marker {
    color: var(--esi-blue);
}

.text-box summary:hover {
    opacity: .9;
}

.text-box summary:focus-visible {
    outline: none;
}

.text-box summary:focus-visible h2 {
    text-decoration: underline;
}

details.text-box {
    padding: 1.2rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

details.text-box summary {
    padding: 1.5rem 1.2rem;
    margin: -1.5rem -1.2rem;
}

details.text-box summary :is(h2, h3, h4, h5, h6) {
    display: inline;
    font-weight: bold;
    font-style: inherit;
    color: var(--esi-blue);
    font-size: 1.1rem;
}

details.text-box :is(p, li) {
    font-size: .9rem;
}

#by-terrain h4 {
    font-weight: bold;
    font-style: inherit;
    color: var(--esi-blue);
    font-size: 1.2rem;
}

#by-terrain h5,
#by-terrain h6 {
    font-size: 1rem;
    font-style: normal;
}

#by-terrain details strong {
    font-family: vag-rundschrift-d, sans-serif;
    font-weight: normal;
    font-size: 1rem;
    letter-spacing: .02em;
}

.publisher-logos {
    text-align:center;
}

.publisher-logos .logo-list {
    justify-content:center;
    align-items:center
}

blockquote {
    color: var(--esi-blue);
}

blockquote::before {
    background-color: var(--esi-blue);
}

@media (min-width:1056px){
    .wp-block-pullquote{
        width:416px;
        margin-top:3rem;
        margin-bottom:64px;
        margin-left:2rem;
        margin-right:-224px;
        float:right
    }
}

@media screen and (min-width:1344px){
    .text-body .alignwide{
        width:1312px;
        margin-left:-336px;
    }
}