@import url(//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css);
@import url('https://fonts.googleapis.com/css2?family=Montserrat');
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&family=Oswald:wght@500&family=Source+Serif+4:ital,wght@0,400;0,700;1,400&display=swap');


/* Colors */
:root {
    /* dataZone color palette */
    --color-yellow: #ffc500;
    --color-blue: #072c3f;
    --color-light-blue: #38d3ff;
    --color-green: #355434;
    --color-dark-grey: #20201d;
    --color-light-grey: rgba(233,233,232,.5);
    /* dash color palette */
    --dark-blue: #344D67;
    --light-gray-blue-a: #a9a9a9;
    --light-gray-blue-b: #CFD6E2;
    --light-gray: #E6EBF3;
    --shadow-gray: #ecf3f6;
    --fcd-blue: #39499b;
}

html {
    font-size: 16px;
}

body {
    font-family: "Raleway", sans-serif;
    padding-left: 0px;
    padding-right: 0px;
    font-size: 1.125rem;
    line-height: 1.6;
    font-style: normal;
    font-weight: 500;
    color: #626D6C;
}

p {
    margin-bottom: 0;
}

a {
    color: unset;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
    color: var(--color-green);
}


/* --- Language Selector --- */
#language-selector {
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px 10px 20px;
    z-index: 1000;
    width: 140px;
}
#language-selector .Select-control {
    background: transparent;
    border: none;
    text-align: center;
}
#language-selector .Select-value-label {
    color: #fff;
}

/* --- Header & Navigation Tabs --- */
.header {
    background-color: var(--color-blue);
    width: 100%;
    padding: 40px 20px;
}
.header-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.header-column {
    width: 90%;
    text-align: center;
 }
.header--logo {
    height: 80px;
}
.header--title {
    color: white;
    margin-bottom: 0;
/*     font-family: "Oswald", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    text-transform: uppercase; */
}

@media (min-width: 768px) {
    .header-container {
        flex-direction: row;
        justify-content: space-between;
        /* align-items: flex-end; */
    }
    .header-column {
        width: auto;
        text-align: unset;
    }
    .header-column--logo{
        max-width: 208px;
    }
    .header-column--title {
        flex: 1;
        text-align: right;
    }
    .header--title {
        font-size: 3rem;
    }
}


.nav#main-navigation-tabs {
    width: 100%;
    background-color: rgb(233, 235, 239);
    font-size: 25px;
    line-height: 50px;
}

@media (max-width: 575.98px) {
    .nav#main-navigation-tabs {
        font-size: 22px;
    }
    .nav#main-navigation-tabs .nav-item a {
        padding-left: 12px;
        padding-right: 12px;
    }
}
.tab-content{
    margin-bottom: 4rem;
}

/* --- Texts, labels, and titles --- */
.form-label {
    margin-bottom: 0.3rem;
    font-size: 0.8rem;
}
.labels_title1 {
    font-weight: bold;
    font-size: 30px;
    color: var(--dark-blue);
}
.labels_title2 {
    font-weight: bold;
    font-size: 25px;
    color: var(--dark-blue);
    text-align: left;
    line-height: 30px;
    margin-bottom: 3px;
}
.text, .text p {
    font-size: 18px;
    color: #626D6C;
    line-height: 23px;
}
.labels_cards{
    font-size: 20px;
    line-height: 20px;
    font-weight: bold;
    color: #5C8D89;
    text-align: center;
}
.text-cards{
    font-size: 20px;
    color: #344D67;
    text-align: center;
}
#methods p.text-cards {
    text-align: center;
}
.value-cards{
    display: flex;
    flex-direction: column;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 20px;
}
.labels_controls {
    font-weight: bold;
    font-size: 20px;
    color: #1F2F2E;
}
.main-value {
    font-size: 1.75rem;
    font-weight: bold;
}

.page-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.controls-container {
    display: flex;
    flex-direction: row;
}

.checklist {
    font-size: 0.8rem;
}
.form-check {
    min-height: 0;
}

.controls-item {
    margin-right: 2rem;
}

.accordion-body {
    padding: 1rem 1.25rem;
    display: flex;
    justify-content: center;
}


/* --- Text styles --- */
.error-message {
    font-size: 1rem;
    color: pink;
}

.scientific-name {
    font-style: italic;
}

.inline-total {
    font-weight: 600;
    color: var(--color-blue);
    font-family: "Montserrat", sans-serif;
}
.highlighted-text {
    font-weight: 600;
    color: var(--color-blue);
}

.external::after {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    padding-left: 6px;
    color: #d7dce5;
    font: var(--fa-font-solid);
    content: "\f08e";
    font-size: smaller;
}
.big-number {
    font-size: 40px;
    padding-right: 3px;
    font-family: "Montserrat", sans-serif;
}
.card-body p.disclaimer,
.modal-body p.disclaimer,
#methods .card-body p.disclaimer {
    font-size: 15px;
    text-align: left;
    margin-top: 30px;
}
.card-body p.organism-type--disclaimer,
#methods .card-body p.organism-type--disclaimer {
    margin-top: 60px;
    margin-bottom: 0px;
}
.instructions {
    margin-top: 30px;
}
.instructions p {
    margin-top: 10px;
    font-size: 17px;
    text-align: left;
}
.instructions {
    justify-content: center;
}
.instructions .col-1 {
    text-align: right;
    font-size: 30px;
    padding-right: 0;
}

/* --- Buttons --- */
.btn-success {
    --bs-btn-font-weight: 600;
    letter-spacing: 0.055rem;
    --bs-btn-color: var(--color-blue);
    --bs-btn-bg: var(--color-yellow);
    --bs-btn-border-color: var(--color-yellow);
    --bs-btn-hover-color: var(--color-green);
    --bs-btn-hover-bg: var(--color-yellow);
    --bs-btn-hover-border-color: var(--color-yellow);
    --bs-btn-focus-shadow-rgb: 59, 198, 171;
    --bs-btn-active-color: var(--color-green);
    --bs-btn-active-bg: var(--color-yellow);
    --bs-btn-active-border-color: var(--color-yellow);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--color-green);
    --bs-btn-disabled-bg: var(--color-yellow);
    --bs-btn-disabled-border-color: var(--color-yellow);
}

/* --- Cards --- */
.card-box {
    padding: 0.5rem;
    margin: 0.5rem;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 245, 235, 0.20);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.card-body p, #methods .card-body p {
    font-size: 17px;
    line-height: 23px;
    margin-bottom: 12px;
    text-align: justify;
}
.general-cards {
    margin-left: auto;
    margin-right: auto;
    padding-left: 50px;
    padding-right: 50px;
    width: "90%";
    margin: 0% 3% 3% 3%;
}
.label-container, .label-container-cardtext {
    color: var(--color-blue);
    text-align: left;
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 30px;
    width: 100%;
    height: 100%;
    font-weight: 600;
}
.card-body h5 {
    color: var(--color-blue);
    font-weight: 600;
    padding-top: 6px;
    margin-bottom: 2px;
}

@media (max-width: 575.98px) {
    .card-box {
        padding: 0px;
    }
    .label-container, .label-container-cardtext {
        font-size: 24px;
        line-height: 28px;
    }
    .card-body p {
        font-size: 16px;
        line-height: 22px;
    }
    .instructions .col-1 {
        font-size: 22px;
    }
}

/* --- Card Photos --- */
.multiple-photos-container {
    margin-top: 20px;
    margin-bottom: -20px;
    justify-content: center;
}
.photo-title {
    width: 100%;
    background: var(--color-blue);
    margin: 0px;
    color: white;
    padding: 12px 20px;
}
.card-img.with-top-title {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.photo-caption {
    font-size: 15px;
    margin: 10px 10px 30px 10px;
    text-align: left;
}
.photo-caption p {
    margin-bottom: 0px;
    font-size: 15px;
    text-align: left;
}
p.photo-credits {
    font-size: 14px !important;
}
.photo-caption p.photo-description {
    font-size: 14px;
    line-height: 17px;
}


/* Value cards and meter values*/
.valuecard-header-p {
    margin-bottom: 0;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
}

.percentages {
    font-weight: bold;
    font-size: 20px;
    color: var(--dark-blue);
    margin-bottom: 0;
}

.values-next-to-perc {
    font-weight: bold;
    font-size: 20px;
    font-size: 1.25rem;
    margin-bottom: 0;
}

.info-values {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 0;
    color: #39499b;
}

.meter-container {
    display:flex;
    justify-content: center;
    margin-bottom: 1.2rem;
}

meter::-webkit-meter-optimum-value {
    background: var(--fcd-blue)
}


/* *** Methods *** */
#methods, #graphs, #downloads {
   margin-top: 10px;
   margin-bottom: 40px;
   overflow: hidden;
}
.methods-context, .graphs-controls, .graphs-header {
    margin-top: 40px;
}
.methods-context .text,
.graphs-header .text {
    text-align: justify;
}
#methods p,
.graphs-header p {
    margin-bottom: 1rem;
    line-height: 1.6rem;
    text-align: justify;
}
.registration-info {
    margin-top: 50px;
    margin-bottom: 20px;
    gap: 10px 20px;
}
.registration-info .value-cards {
    padding-bottom: 10px;
    padding-top: 30px;
}
.registration-info .text-cards,
#methods .registration-info p.text-cards,
#total-species-CE .main-value1 .text-cards,
#last-record .main-value1 .text-cards {
    font-size: 45px;
    font-weight: 600;
    font-family: "Montserrat", sans-serif;
    line-height: 1.6;
}
#total-species-CE .main-value2 .text-cards,
#total-species-CE .main-value3 .text-cards {
    font-size: 25px;
    font-weight: 600;
}
.methods-data, .graphs-data, .downloads-cards {
    margin-top: 50px;
    margin-bottom: 20px;
    row-gap: 20px;
}
.methods-data .card-box, .graphs-data .card-box {
    margin: 0;
}
@media (min-width: 1200px) {
    #gps-status-card .multiple-photos-container,
    #invasive-status-card .multiple-photos-container {
        display: none;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    #organism-type-card .multiple-photos-container,
    #marine-status-card .multiple-photos-container,
    #pathway_gps_card .multiple-photos-container {
        display: none;
    }
}


/* *** Graphs *** */
#graphs-controls {
    margin-top: 0px;
}
#graphs-controls .general-cards {
    padding: 0;
    margin: 0;
}
#graphs-controls .accordion {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    flex-wrap: wrap;
}
#graphs-controls .accordion-item,
#graphs-controls .accordion-button {
    border-radius: 0 !important;
}
#graphs-controls .accordion-body {
    justify-content: start;
}

@media (max-width: 575.98px) {
    #graphs-controls .accordion-item {
        width: 100%;
    }
}
@media (min-width: 576px) and (max-width: 767px) {
    #graphs-controls .accordion-item {
        width: 50%;
    }
}
@media (min-width: 767px) and (max-width: 1290px) {
    #graphs-controls .accordion-item {
        width: 33.33%;
    }
}


/* *** Downloads *** */
.downloads-card-container {
    padding: 20px 10px 10px 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.downloads-card-container .card-title {
    margin-bottom: 0;
    color: var(--color-blue);
    font-weight: 600;
}
.downloads-card-container .btn {
    margin-top: 20px;
    padding: 10px 15px;
    font-weight: 600;
    background: var(--color-yellow);
    border-color: var(--color-yellow);
    color: var(--color-blue);
}
.references {
    margin-top: 50px;
    margin-bottom: 30px;
}
.references li {
    padding-top: 20px;
    text-align: justify;
}
@media (min-width: 576px) and (max-width: 767px) {
    .card-group.downloads-cards>.card {
        flex: 0 0 100%;
        border-left: 1px solid rgba(0, 0, 0, 0.175);
        border-radius: 6px;
    }
}
@media (min-width: 768px) {
    .downloads-card-container .content .card-body {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: 530px;
    }
    .downloads-card-container .btn {
        align-self: flex-end;
        display: block;
        margin-top: auto;
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 992px) {
    .downloads-card-container .content .card-body {
        min-height: 380px;
        margin-top: 10px;
    }
}
@media (min-width: 1200px) {
    .downloads-card-container .content .card-body {
        min-height: 300px;
    }
}
@media (min-width: 1400px) {
    .downloads-card-container .content .card-body {
        min-height: 280px;
    }
}

/* *** Methods Cards *** */
.species-per-status {
    border-left: 1px solid;
    border-right: 1px solid;
}
#status > .species-per-status:last-child {
    border-bottom: 1px solid;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
#methods .card-body .species-per-status .valuecard-content {
    padding: 10px 0 30px 0;
    text-align: center;
    font-family: "Montserrat", sans-serif;
}
#methods .card-body .species-per-status .percentages {
    font-size: 40px;
    font-weight: 600;
    color: #344D67;
    padding: 5px 20px 5px 20px;
    text-align: right;
}
#methods .card-body .species-per-status .values-next-to-perc{
    padding: 20px 20px 5px 20px;
    font-size: 20px;
}
.species-per-status .progress {
    --bs-progress-border-radius: 0 !important;
    border-radius: 0 !important;
}
.species-per-status .meter-container {
    padding: 0;
    margin-bottom: 30px;
}
#methods .card-body .species-per-status p.valuecard-header-p {
    padding: 30px 20px 30px 20px;
    margin-bottom: 0;
    font-size: 20px;
    text-align: left;
}

#total-species .main-value1,
#total-marine .main-value1 {
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    margin-top: 40px;
}
#organism-type  .info-values {
    margin-right: 5px;
    font-family: "Montserrat", sans-serif;
}
#organism-type .percentages {
    font-family: "Montserrat", sans-serif;
}
.organism-type-modal-content.row,
#subpathway-modal .row {
    margin: 20px 10px;
}
.organism-type-modal-content .label-container-cardtext,
#subpathway-modal .label-container-cardtext {
    height: unset;
    margin-bottom: 15px;
    font-size: 24px;
}
.organism-type-modal-content .card-img {
    margin-bottom: 20px;
    width: 50%;
}
.organism-type-modal-content p {
    font-size: 17px;
    line-height: 19px;
    margin-bottom: 40px;
}
#subpathway-modal p {
    font-size: 17px;
    line-height: 19px;
    margin-bottom: 10px;
    text-align: justify;
}
#subpathway-modal .col-11 {
    margin-bottom: 40px;
}

@media (max-width: 1200px) {
    .horizontal-photo-container img {
        margin-bottom: 10px;
    }
}
@media (max-width: 992px) {
    #subpathway-modal .card {
        margin-bottom: 20px;
    }
}
@media (max-width: 767px) {
    .organism-type-modal-content .card-img {
        width: 30%;
    }
}


/* *** Graphs Cards *** */
#total-species-CE.row, #last-record.row {
    margin-bottom: 30px;
    justify-content: center;
}
#total-species-CE p,
#last-record p{
    margin-bottom: 0 !important;
}
#total-species-CE .main-value1 p,
#last-record .main-value1 p {
    text-align: right;
}
#total-species-CE .main-value1 p.text-cards,
#last-record .main-value1 p.text-cards {
    line-height: 48px;
}
#total-species-CE .main-value1,
#last-record .main-value1 {
    border-right: 4px solid var(--bs-card-border-color);
}
#total-species-CE .labels_cards,
#last-record .labels_cards {
    font-size: 17px;
    line-height: 20px;
}
#modes-of-introduction p.disclaimer {
    margin-top: 60px;
}

@media (max-width: 767px) {
    #total-species-CE {
        margin-bottom: 22px;
    }
    #total-species-CE .main-value1,
    #last-record .main-value1 {
        border-right: 0;
    }
    #total-species-CE .main-value1 p,
    #last-record .main-value1 p {
        text-align: left;
    }
    #total-species-CE .main-value2,
    #total-species-CE .main-value3 {
        margin-left: 20px;
    }
    #last-record .main-value3 {
        margin-left: 30px;
    }
}
