/* Classless.css v0.94 (Typical Full Version)

Table of Contents:
 1. Custom Settings
 2. Base Tags
 3. Extra Tags
 4. Classes
*/

/* 1. Custom Settings
–––––––––––––––––––––––––––––––––––––––––––– */

html[data-theme="light"],
:root {
  --width: 70rem;
  --navpos: absolute; /* fixed | absolute */
  --clight: #f4f5f6;
  --cdark: #030b09;
  --cmed: #d1d1d1;
  --clink: black;
  --cemph: grey;
  --cfg: black;
  --cbg: #fff;
  --ornament: "‹‹‹ ›››";
  --font-p: 13pt Helvetica, Arial, sans-serif;
  --font-h: 13pt Helvetica, Arial, sans-serif;
  --font-c: 12pt Helvetica, Arial, sans-serif;
}

/* 2. Reset & Base Tags
–––––––––––––––––––––––––––––––––––––––––––– */

/* Tiny Reset for block elements  */
* {
  box-sizing: border-box;
  border-spacing: 0;
}
header,
footer,
figure,
table,
video,
details,
blockquote,
ul,
ol,
dl,
fieldset,
pre,
pre > code,
caption {
  display: block;
  margin: 0.5rem 0rem 1rem;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  text-align: left;
}
html {
  background-color: var(--cbg);
}
body {
  margin: auto;
  padding: 0;
  overflow-x: hidden;
  font: var(--font-p);
  color: var(--cfg);
  line-height: 1.5em;
}
body > footer {
  margin: 10rem 0rem 0rem;
}

/* lists */
ul,
ol {
  padding-top: 0.5rem;
}
li,
dd {
  margin-bottom: 0.5rem;
}
dt {
  font-weight: bold;
}

/* links */
a,
summary {
  color: var(--clink);
  cursor: pointer;
  text-decoration: none;
  font-weight: bold;
}
a:hover,
button:not([disabled]):hover,
select:hover {
  background-color: var(--clink);
  color: white;
  border-color: var(--cemph);
}

/* headings */
h1,
h2,
h3,
h4,
h5 {
  margin: 1.5em 0 0em;
  font: var(--font-h);
  line-height: 1.2em;
}
h1 + h2,
h2 + h3,
h3 + h4,
h4 + h5 {
  margin-top: 0.5em;
  padding-top: 0;
} /* non-clashing headings */
h1 {
  font-size: 2.2em;
  font-weight: 300;
}
h2 {
  font-size: 2em;
  font-weight: 300;
  font-variant: small-caps;
}
h3 {
  font-size: 1.5em;
  font-weight: 400;
}
h4 {
  font-size: 1.1em;
  font-weight: 700;
}
h5 {
  font-size: 1.2em;
  font-weight: 400;
  color: var(--cdark);
}
h6 {
  font-size: 1em;
  font-weight: 700;
  font-style: italic;
  display: inline;
}
h6 + p {
  display: inline;
}

/* tables */
td,
th {
  padding: 0.5rem 0.8rem;
  text-align: right;
  border-bottom: 0.1rem solid var(--cmed);
  white-space: nowrap;
  font-size: 95%;
}
thead th[colspan] {
  padding: 0.2rem 0.8rem;
  text-align: center;
}
thead tr:not(:only-child) td {
  padding: 0.2rem 0.8rem;
}
thead + tbody tr:first-child td {
  border-top: 1.5px solid var(--cdark);
}
td:first-child,
th:first-child {
  text-align: left;
}

tr:hover {
  background-color: var(--clight);
}
table img {
  display: block;
}

/* figures */
figure > img {
  display: inline-block;
  width: auto;
}
figure > img:only-of-type,
figure > svg:only-of-type {
  max-width: 100%;
  display: block;
  margin: 0 auto 0.4em;
}
figcaption,
caption {
  font: var(--font-h);
  color: var(--cdark);
  width: 100%;
}
figure > *:not(:last-child) {
  margin-bottom: 0.4rem;
}

/* code */
pre > code {
  margin: 0;
  position: relative;
  padding: 0.8em;
  border-left: 0.3rem solid var(--cemph);
}
code,
kbd,
samp {
  padding: 0.2rem;
  font: var(--font-c);
  background: var(--clight);
  border-radius: 0.3em;
}
kbd {
  border: 0.1rem solid var(--cmed);
}

/* misc */
blockquote {
  border-left: 0.4rem solid var(--cmed);
  padding: 0 0 0.5rem 1.5rem;
  font-style: italic;
}
summary {
  color: var(--cfg);
}
time {
  color: var(--cdark);
}
mark {
  background: rgba(255, 245, 90, 1);
}
hr {
  border: 0;
  border-top: 0.1rem solid var(--cmed);
}
video:focus,
summary:focus {
  outline: none;
}

/* 3. Extra Tags
–––––––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Auto Numbering: figure/tables/headings/cite */
article {
  counter-reset: h2 0 h3 0 tab 0 fig 0 lst 0 ref 0 eq 0;
}
article figure figcaption:before {
  color: var(--cemph);
  counter-increment: fig;
  content: "Figure " counter(fig) ": ";
}
article figure figure {
  counter-reset: none !important;
}

/* subfigures */
figure {
  counter-reset: subfig 0;
}
article figure > figure {
  display: inline-grid;
  width: auto;
}
figure > figure:not(:last-of-type) {
  padding-right: 1rem;
}
article figure figure figcaption:before {
  counter-increment: subfig 1 !important;
  content: counter(subfig, lower-alpha) ": " !important;
}

/* listings */
article figure pre + figcaption:before {
  counter-increment: lst 1 !important;
  content: "Listing " counter(lst) ": " !important;
}

/* tables */
figure > table:only-of-type {
  display: table;
  margin: 0.5em auto !important;
  width: fit-content;
}
article figure > table caption {
  display: table-caption;
  caption-side: bottom;
}
article figure > table + figcaption:before,
article table caption:before {
  color: var(--cemph);
  counter-increment: tab 1 !important;
  content: "Table " counter(tab) ": " !important;
}

/* headings */
article h2,
h3 {
  position: relative;
}
article h2:before,
article h3:before {
  display: inline-block;
  position: relative;
  font-size: 0.6em;
  text-align: right;
  vertical-align: baseline;
  left: -1rem;
  width: 2.5em;
  margin-left: -2.5em;
}
article h1 {
  counter-set: h2;
}
article h2:before {
  counter-increment: h2;
  content: counter(h2) ". ";
  counter-set: h3;
}
article h3:before {
  counter-increment: h3;
  content: counter(h2) "." counter(h3) ". ";
}

/* citations */
article p > cite:before {
  padding: 0 0.2em;
  color: var(--clink);
  visibility: visible;
  counter-increment: ref;
  content: " [" counter(ref) "] ";
  font-size: 0.6em;
  position: relative;
  top: -0.8em;
}
article p > cite {
  width: 1.2em;
  height: 1.2em;
  visibility: hidden;
  display: inline-block;
  overflow: hidden;
  vertical-align: text-top;
}
article p > cite:hover {
  position: relative;
  top: -1em;
  width: 100%;
  height: inherit;
  visibility: visible;
  border-bottom: 3px solid var(--clink);
  margin: -1em 0;
  padding: 2.5em 1em 0.5em 1em;
}

/* navbar */
nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1.2em 0 0 0;
  user-select: none;
}

@media (max-width: 48em) {
  nav {
    justify-content: space-evenly;
  }
}

@media (min-width: 48em) {
  nav {
    flex-wrap: nowrap;
  }
}

@media (max-width: 48em) {
  nav > input:checked ~ ul {
    max-height: 300px;
    margin-top: 10px;
    border-top: 1px solid var(--cmed);
  }
}

nav > input:checked ~ label {
  border: 3px solid rgba(0, 0, 0, 0);
  background-color: var(--clink);
  color: var(--cmed);
}

nav > label {
  display: block;
  font-family: var(--font-c);
  font-weight: bold;
  background-color: white;
  border: 3px solid var(--clink);
  color: var(--clink);
  font-size: 1.1em;
  padding: 5px;
  border-radius: 3px;
}

@media (min-width: 48em) {
  nav > label {
    display: none;
  }
}

nav > div {
  display: flex;
  align-items: center;
}

nav > div > * > img {
  height: 50px;
}

nav > div > a:hover {
  background-color: rgba(0, 0, 0, 0);
}

@media (max-width: 48em) {
  nav > div > span {
    font-size: 2em;
  }
}
nav > div > span {
  font-size: 2em;
  color: var(--clink);
  margin-left: 0.3em;

  font-family: var(--font-p);
  font-weight: bold;
  letter-spacing: -2px;
}

nav > ul {
  padding: 0;
  margin: 0.7em 0 0 0;
  list-style: none;
  overflow: hidden;
  max-height: 0;
  width: auto;
  transition: max-height 0.2s ease-out;
}

@media (min-width: 48em) {
  nav > ul {
    max-height: none;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 48em) {
  nav > ul {
    width: 100%;
  }
}

@media (min-width: 48em) {
  nav > ul > li {
    float: left;
  }
}

nav > ul > li {
  display: block;
  padding: 20px 20px;
  text-decoration: none;
  border-radius: 3px;
}

nav > ul > li > a {
  font-family: var(--font-c);
  font-weight: bold;
  font-size: 1.1em;
  color: var(--clink);
  background-color: white;
}

nav > ul > li > a:hover {
  background-color: var(--clink);
  color: white;
}

/* big first letter */
article > section:first-of-type > h2:first-of-type + p:first-letter,
article > h2:first-of-type + p:first-letter {
  float: left;
  font-size: 3.5em;
  line-height: 0.6em; /*ignored in FF*/
  padding: 0.1em 0.1em 0 0;
  color: var(--cemph);
}

/* ornaments */
section:after {
  display: block;
  margin: 1em 0;
  color: var(--cmed);
  text-align: center;
  font-size: 1.5em;
  content: var(--ornament);
}

/* side menu (aside is not intended for use in a pagraph!) */
main aside {
  position: absolute;
  margin-left: 50.5rem;
  max-width: 10rem;
  font-size: 0.8em;
  line-height: 1.2em;
}
@media (max-width: 70.5rem) {
  main aside {
    display: none;
  }
}

/* forms and inputs  */
textarea,
input,
button,
select {
  border-radius: 0.3rem;
  border: 0.1rem solid var(--cmed);
  padding: 0.5rem;
  outline: none;
}
fieldset select,
input:not([type="checkbox"]):not([type="radio"]) {
  display: block;
  width: 100%;
  font-size: 100%;
  margin-bottom: 1rem;
}
button,
select {
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-weight: bold;
  letter-spacing: 0.1rem;
  color: var(--clink);
  background-color: var(--clight);
  margin: 0.5rem;
  border: 0.1rem solid var(--clink);
}
fieldset {
  border-radius: 0rem;
  border: 0.1rem solid var(--cmed);
}
textarea:focus,
input:not([type="checkbox"]):not([type="radio"]):hover,
select:hover {
  border: 0.1rem solid var(--cemph);
}
textarea:focus,
input:not([type="checkbox"]):not([type="radio"]):focus {
  border: 0.1rem solid var(--clink);
  box-shadow: 0 0 5px var(--clink);
}
button[disabled] {
  color: var(--cdark);
  border-color: var(--cmed);
}

/* 4. Bootstrap Compatibile Classes
–––––––––––––––––––––––––––––––––––––––––––––––––––––– */

/* grid */
.row {
  display: flex;
  margin: 0.5rem 0.5rem;
  align-items: stretch;
}
.row [class*="col"] {
  padding: 0 0.5rem;
}
.row .col {
  flex: 1 1 100%;
}
.row .col-2 {
  flex: 0 0 16.666%;
}
.row .col-3 {
  flex: 0 0 25%;
}
.row .col-4 {
  flex: 0 0 33.333%;
}
.row .col-6 {
  flex: 0 0 50%;
}
@media (max-width: 40em) {
  .row {
    flex-direction: column !important;
  }
}

/* cards */
.card {
  display: block;
  margin: 0.5rem 0;
  padding: 0.5rem 1rem 0.5rem;
  border-radius: 0.3rem;
  box-shadow: 0.1rem 0.1rem 0.4rem 0 var(--cdark);
}

/* align */
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.float-left {
  float: left !important;
}
.float-right {
  float: right !important;
}
.clearfix {
  clear: both;
}

/* colors */
.text-black {
  color: #000;
}
.text-white {
  color: #fff;
}
.text-primary {
  color: var(--cprim);
}
.text-secondary {
  color: var(--cdark);
}
.bg-white {
  background-color: #fff;
}
.bg-light {
  background-color: var(--clight);
}
.bg-primary {
  background-color: var(--cprim);
}
.bg-secondary {
  background-color: var(--cmed);
}

/* spacing */
.w-25 {
  width: 25% !important;
}
.w-33 {
  width: 33.33% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}

/* margins */
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.m-0 {
  margin: 0 !important;
}
.m-1,
.mx-1,
.mr-1 {
  margin-right: 1rem !important;
}
.m-1,
.mx-1,
.ml-1 {
  margin-left: 1rem !important;
}
.m-1,
.my-1,
.mt-1 {
  margin-top: 1rem !important;
}
.m-1,
.my-1,
.mb-1 {
  margin-bottom: 1rem !important;
}

/* pading */
.p-0 {
  padding: 0 !important;
}
.p-1,
.px-1,
.pr-1 {
  padding-right: 1rem !important;
}
.p-1,
.px-1,
.pl-1 {
  padding-left: 1rem !important;
}
.p-1,
.py-1,
.pt-1 {
  padding-top: 1rem !important;
}
.p-1,
.py-1,
.pb-1 {
  padding-bottom: 1rem !important;
}

/* tooltips */
abbr[data-title] {
  position: relative;
  text-decoration: underline dotted;
  cursor: help;
}
abbr[data-title]:hover::before,
abbr[data-title]:focus::before {
  position: absolute;
  top: 2em;
  width: 10em;
  padding: 0.5em 0.7em;
  color: var(--cbg);
  background-color: var(--cfg);
  box-shadow: 0.1rem 0.1rem 0.4rem 0 var(--cfg);
  content: attr(data-title);
  white-space: normal;
}

.fin-table--row {
  display: flex;
}

.fin-table--col {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-flow: row wrap;
}

figure {
  overflow: initial;
}

@media (max-width: 960px) {
  figure {
    overflow-x: auto;
    overflow-y: hidden;
  }
}

thead {
  position: sticky;
  top: 0;
  background-color: white;
  z-index: 2;
}

.circular-progress-bar {
  --progrress-bar-size: 56px;
  width: var(--progrress-bar-size);
  height: var(--progrress-bar-size);
  position: relative;
  margin: 0 auto;
}

.circular-progress-bar svg {
  width: var(--progrress-bar-size);
  height: var(--progrress-bar-size);
  transform: translate(0%); /* reset style global style */
}

.circular-progress-bar svg circle {
  --radius: 23px; /* the same radius is used to draw the svg */
  --circle-perimeter: calc(2 * 3.14 * var(--radius));
  fill: none;
  stroke-width: 3;
  stroke: #000;
  transform: translate(5px, 5px);
  stroke-dasharray: var(--circle-perimeter);
  stroke-dashoffset: var(--circle-perimeter);
  stroke-linecap: round;
}

@keyframes dash {
  from {
    stroke-dashoffset: 0;
  }
}

.circular-progress-bar svg circle:nth-child(1) {
  stroke-dashoffset: 0;
  stroke: #dddddd;
}

.circular-progress-bar svg circle:nth-child(2) {
  /* percent is a variable added throught html */
  /* percent should be between 0 and 100 */
  stroke-dashoffset: calc(
    var(--circle-perimeter) - (var(--circle-perimeter) * var(--percent)) / 100
  );
  stroke: #30454e;
  animation: dash 0.5s linear;
}

.circular-progress-bar .num {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6rem;
}

.circular-progress-bar .num span {
  font-size: 0.8rem;
  font-weight: normal; /* reset style global style */
}

.ocean-icon:after {
  content: url("/ocean-logo.svg");
  margin-left: 0.5rem;
}

.bdp-icon {
  min-width: 20px;
  max-width: 20px;
  height: 20px;
  background: url("/bdp-logo.png");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0.5rem;
}

.content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

form.newsletter {
  margin: 1rem 0.5em;
  max-width: 25em;
  font-size: 0.8em;
}
form.newsletter .row {
  margin-left: 0;
  margin-right: 0;
}
form.newsletter .row input,
button {
  padding: 0.3rem;
}
form.newsletter button {
  margin: 0;
  background-color: white;
}
@media (min-width: 40em) {
  form.newsletter .row * {
    margin: 0 0.3rem;
  }
  form.newsletter *:first-child {
    margin-left: 0;
  }
  form.newsletter *:last-child {
    margin-right: 0;
  }
}
