/* Define colors */

:root {
  --black: #302F2D;
  --blue: #0026E8;
  --beige: #F8F0D9;
  --grey: #F5F5F5;
  --white: #FFFFFF;
  --bluebackground: #161E97;
  --beigebackground: #FCF9F0;
  --orange: #F3851F;
 }


/* Typography */
.h1, h1 {
    font-size: 4.5rem;
    font-weight: 300;
    line-height: 1.2;
    font-family: 'Source Serif Pro', sans-serif;
}


/* Small screen */
@media (max-width: 544px) {
  .h1, h1 {
  font-size: 2.5rem;
  }
  .h2, h2 {
  font-size: 1.5rem !important;
  }
}


.h2, h2 {
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.2;
    padding-bottom: 0.5rem;
    font-family: 'Source Serif Pro', sans-serif;
}


.h3, h3 {
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 1.2;
    font-family: 'Inter', sans-serif;
}

.h4, h4 {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
    font-family: 'Inter', sans-serif;
}


.h5, h5 {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 2.2;
    font-family: 'Inter', sans-serif;
}


a {
    color: var(--black);
}


/* Set font for all texts */
body {
    font-family: 'Inter', sans-serif;
    color: var(--black);
}

.bolder-paragraph-text {
    font-weight: 500;
}

/* Blue background */
.bg-dark {
    background-color: var(--bluebackground) !important;
}

/* Spinner */
.spinner-wrapper {
    background-color: var(--black);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;

}

.spinner-border {
    height: 60px;
    width: 60px;
}


/* Blue background */
.bg-light {
    background-color: var(--beigebackground) !important;
}

/* Title page */

.titlepage-bg-blue {
  padding-top: 14rem;
  padding-bottom: 8rem;
  background-color: var(--bluebackground) !important;
  color: var(--white) !important;
}

.titlepage-bg-beige {
  padding-top: 14rem;
  padding-bottom: 8rem;
  background-color: var(--beigebackground) !important;
  color: var(--black) !important;
}

.titlepage-bg-beige-narrow {
  padding-top: 10rem;
  padding-bottom: 1rem;
  background-color: var(--beigebackground) !important;
  color: var(--black) !important;
}


/* Blue button */
.btn-primary {
    background-color: var(--blue);
    border: 0px;
    border-radius: .25rem;
    padding: .75rem 1.25rem;
    min-height: 2.75rem;
    font-weight: 500;
    margin-left: 0.125rem;
    margin-right: 0.125rem;

}

/* Beige button */
.btn-secondary {
    background-color: var(--beige);
    border: 0px;
    border-radius: .25rem;
    padding: .75rem 1.25rem;
    min-height: 2.75rem;
    color: var(--black);
    font-weight: 500;
    margin-left: 0.125rem;
    margin-right: 0.125rem;

}

/* Dark button */
.btn-dark {
    background-color: var(--black);
    border: 0px;
    border-radius: .25rem;
    padding: .75rem 1.25rem;
    min-height: 2.75rem;
    color: var(--white);
    font-weight: 500;
    margin-left: 0.125rem;
    margin-right: 0.125rem;

}

.btn-dark:hover {
    background-color: var(--orange);
    border: 0px;
    border-radius: .25rem;
    padding: .75rem 1.25rem;
    min-height: 2.75rem;
    color: var(--white);
    font-weight: 500;
    margin-left: 0.125rem;
    margin-right: 0.125rem;

}

/* Sign-up button in menu */
.sign-up-btn-black {
    color: var(--black);
    opacity: 70%;
}

.sign-up-btn-black:hover {
    color: var(--black);
    opacity: 100%;
}

.sign-up-btn-white {
    color: var(--white);
    opacity: 70%;
}

.sign-up-btn-white:hover {
    color: var(--white);
    opacity: 100%;
}

/* Search field */

.search-field-big {
    border-radius: .25rem;
    padding: .75rem 1.25rem;
    min-height: 3rem;
    color: black !important;
    margin-left: 0.125rem;
    margin-right: 0.125rem;

}

/* Company page */

.companypage-section {
    padding-top: 5rem;
}

.annual-reports-box {
    background-color: var(--beigebackground);
    padding: 2rem 3rem;
}

/* Icon stylings */
.blue-icon {
    color: var(--blue);
    font-weight: 600;
}

/* Paddings top*/

.padding-top-8px {
    padding-top: 0.5rem;
}
.padding-top-16px {
    padding-top: 1rem;
}

.padding-top-32px {
    padding-top: 2rem;
}

.padding-top-64px {
    padding-top: 4rem;
}

.padding-top-80px {
    padding-top: 5rem;
}

/* Paddings bottom*/
.padding-bottom-16px {
    padding-bottom: 1rem;
}

.padding-bottom-32px {
    padding-bottom: 2rem;
}

.padding-bottom-64px {
    padding-bottom: 4rem;
}

.padding-bottom-80px {
    padding-bottom: 5rem;
}

/* Annual report page styling */

.annual-report-page-section {
    padding-left: 4rem;
    padding-right: 4rem;
}

/* Breadcrumb styling */

.breadcrumb-item + .breadcrumb-item::before {
       color: var(--orange);
       content: "/";
    }

.breadcrumb {
    background-color: transparent !important;
}


.breadcrumb-section {
    background-color: var(--beigebackground);
    font-size: 0.9rem;
    padding-bottom: 2rem;
}

.beige-background {
    background-color: var(--beigebackground);
}

.breadcrumb-section-blue {
    background-color: var(--bluebackground);
    font-size: 0.9rem;
    padding-bottom: 2rem;
}

.breadcrumb-section-blue a {
    color: var(--white);
}

.breadcrumb-section-blue .breadcrumb-item.active {
    color: var(--white);
    opacity: 0.5;
}


/* Company card styling */
.card {
    background-color: var(--white);
    border: solid;
    border-color: var(--black);
}

.comp-card {
    font-size: 2rem;
}

.badge-sector {
    background-color: var(--beige);
    color: var(--black);
    border-radius: 0.25rem;
}

/* text cutoff */
.cutoff-text {
    --max-lines: 50;
    --line-height: 1.2;

    max-height: calc(var(--max-lines) * 1rem * var(--line-height));
    line-height: var(--line-height);

    overflow: hidden;
    position: relative;
}

.cutoff-text:has(+.expand-btn:not(:checked))::before {
    content: '';
    position: absolute;
    height: calc(3rem * var(--line-height));
    width: 100%;
    bottom: 0;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent, white)
}

.expand-btn {
    appearance: none !important;
    background-color: var(--beige) !important;
    border: 0px !important;
    border-radius: 0.25rem !important;
    padding: 0.75rem 1.25rem !important;
    min-height: 2.75rem !important;
    color: var(--black) !important;
    font-weight: 500 !important;
    margin-left: 0.125rem !important;
    margin-right: 0.125rem !important;
    cursor: pointer;
}

.expand-btn:hover {
    background-color: var(--black) !important;
    color: var(--white) !important;
}

.expand-btn::before {
    content: 'Continue with plain-text' !important;
}

.expand-btn:checked::before {
    content: 'Hide' !important;
}

.cutoff-text:has(+.expand-btn:checked) {
    max-height: none;
}

.category-section {
    text-align: center;
    padding: 2rem;
    padding-top: 2.250rem;
    margin-bottom: 0.250rem;
    border: 0.250rem;
    border-style: solid;
    border-color: var(--black);
}

.category-section:hover {
    background-color: var(--beigebackground);
}


/* Pagination */
.number-of-results {
    text-align: right;
}

.page-link {
    color: var(--blue);
    border-color: var(--blue);
}

.page-link:hover {
    background-color: var(--blue) !important;
    color: var(--white);
}

.view-pdf-container {
    padding-right: 5;
    padding-left: 5;
}

.alert-dark {
    color: var(--white);
    background-color: var(--blue);
    border-color: #fdfdfe;
}

.white-link {
    color: var(--white);
    text-decoration: underline;
}

.white-link:hover {
    color: var(--orange);
    text-decoration: underline;
}

.orange-link {
    color: var(--orange);
    text-decoration: underline;
}

.orange-link:hover {
    color: var(--white);
    text-decoration: underline;
}

.badge-dark {
    background-color: var(--black);
}

.alert-info {
    color: var(--black);
    background: var(--white);
    border-color: var(--black);
    border-width: 1.5px;
}

.btn-outline-dark {
    background-color: var(--white);
}

.canvas-with-border {
    background-color: var(--grey);
}