
html,
body,
div,
span,
object,
iframe,
h1,
h2, 
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  color: #19609def;
  background: none repeat scroll 0% 0% transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/*=== Generic ===*/

body {
  background: #f8f8f8;
  color: #231f20;
  font-family: Arial, 'Lucida Sans Unicode', sans-serif;
  font-size: 0.9em;
  word-wrap: break-word;
  hyphens: auto;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #124673;
}

h1 {
  font-size: 2em;
  font-weight: normal;
  margin: 0 0 0.7em 0;
  padding: 1em 0 2px 0;
  line-height: 1.3em;
}

h1 span {
  color: #aaa;
}

h2 {
  font-size: 1.8em;
  font-weight: normal;
  margin: 1.5em 0 .8em 0;
  padding: 0 0 1px 0;
  line-height: 1.4em;
}

h3 {
  font-size: 1.3em;
  font-weight: bold;
  margin: 1em 0 0.6em 0;
  padding: 0;
  border: none;
  line-height: 1.2em;
}

h4 {
  font-size: 1.2em;
  font-weight: bold;
  margin: 1em 0 0.6em 0;
  padding: 0;
  border: none;
}

h5 {
  font-size: 1.1em;
  font-weight: bold;
  margin: 1em 0 0.6em 0;
  padding: 0;
  border: none;
}

h6 {
  font-size: 1em;
  font-weight: bold;
  line-height: 1em;
  margin: 0 0 0.35em 0;
  padding: 0;
}

.button {
  padding: 5px 10px;
  font-size: 15px;
}

.clear {
  clear: both;
}

.block {
  display: block !important;
}

#content img {
  padding-left: 0;
  border: none;
  max-width: 100%;
}

#content ul {
  margin-bottom: 1em;
  padding-left: 20px;
  overflow: hidden;
}

#content {
  padding: 0 10px 20px;
  line-height: 1.35em;
  overflow: hidden;
}

p {
  margin-bottom: 1em;
  line-height: 1.7;
}

.center-wrapper {
  position: relative;
  margin-top: 3em !important;
}

.center-item {
  position: absolute;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media only all and (max-width: 700px) {
  .center-item {
    width: 200px !important;
  }
  .three_column_list {
    columns: 2 !important;
  }
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-left {
  text-align: left !important;
}

.text-justify {
  text-align: justify;
}

.large_font {
  font-size: 24pt;
}

.width90 {
  width: 90%;
}

.width80 {
  width: 80%;
}

.width60 {
  width: 60%;
}

.block_center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#topbanner {
  position: relative;
  width: 100%;
  margin-bottom: 25px;
}

#topbanner img {
  width: 100%;
  margin: 0;
  padding: 0;
  border: none !important;
  border-bottom-left-radius: 16px;
}

.margin_auto {
  margin-left: auto;
  margin-right: auto;
}

.warning {
  background-color: #E1D7E4;
  color: #000000;
  margin: 0 0 10px 0;
  padding: 8px 15px;
}

/* Tables */

table {
  border-color: #aaa;
  margin-bottom: 1em;
}

table caption {
  font-style: italic;
  font-size: 0.95em;
  text-align: left;
  caption-side: bottom;
}

.table-vertical-middle td,
.table-vertical-middle th {
  vertical-align: middle !important;
}

/* Table layout: Default */

#content .default {
  word-wrap: break-word;
}

#content .default td,
#content table th {
  padding: 5px;
  border: 1px solid #F8F8F8;
  vertical-align: middle;
}

#content .default tr:first-of-type th:first-of-type {
  border-top-left-radius: 8px;
}

#content .default tr:first-of-type th:last-of-type {
  border-top-right-radius: 8px;
}

#content .default th {
  background: #19609def;
  color: white;
}

#content .default tr:nth-child(2n+3) {
  background: #ECECEC;
}

/* Table layout: Mixed spans */

#content .mixed_spans tr:nth-child(2n+3) {
  background: unset;
}

#content .mixed_spans td {
  border: 1px solid #e9e9e9;
  background: white;
}

#content td.bold {
  font-weight: bold;
}

#content td.green {
  color: green;
  font-weight: bold;
}

#content td.red {
  color: red;
  font-weight: bold;
}

#content td.blue {
  color: #19609def;
  font-weight: bold;
}

/* Table layout: Ad-providers */

#content .renderedtable {
  border-spacing: 5px;
}

#content .renderedtable td {
  margin-top: 5px;
  white-space: normal;
}

#content .renderedtable tr:nth-child(even) {
  background: #ecedee;
}

/* Table layout: Weather data accuracy */

#content td.first, td.second, td.third {
  border-radius: 100%;
  width: 18px;
  height: 18px;
  font-weight: bold;
  text-align: center;
}

#content td.first {
  background: linear-gradient(-72deg, #b7a353, #d2b93c, #9d7d2d);
  -webkit-text-stroke: 1px #84671e;
}

#content td.second {
  background: linear-gradient(-72deg, #898989, #ababab, #8e8e8e);
  -webkit-text-stroke: 1px #7a7a7a;
}

#content td.third {
  background: linear-gradient(-72deg, #b37d4e, #d3984f, #b37d4e);
  -webkit-text-stroke: 1px #966439;
}

#content table.minimal {
  text-align: left;
}

#content table.minimal tr, #content table.minimal td {
  padding: .3em .6em;
}

/* Table layout: Cooperation results, meteoblue in the news */

#content .results_table, #content .news_table {
  word-wrap: break-word;
}

#content .news_table span.news_detail {
  display: block;
  font-weight: bold;
  margin-bottom: 8px;
}

#content .results_table td,
#content .results_table th {
  padding: 5px;
  vertical-align: middle;
}

#content .results_table th {
  background: #19609def;
  color: white;
  padding: 5px 8px;
}

#content .results_table tr:first-of-type th:first-of-type {
  border-top-left-radius: 16px;
}

#content .results_table tr:first-of-type th:last-of-type {
  border-top-right-radius: 16px;
}

#content .results_table tr:nth-child(3n-1), 
#content .news_table tr:nth-child(3n-2),
.press_heading {
  font-size: 15pt;
  line-height: 1.5em;
  color: #231f20;
  font-weight: normal;
}

#content .results_table tr:nth-child(3n-1) td,
#content .news_table tr:nth-child(3n-2) td {
  padding: 2em .8em .8em;
}

#content .results_table tr:nth-child(3n+1),
#content .news_table tr:nth-child(3n) {
  background-color: white;
  box-shadow: 0 0 5px 0 #12467322;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

#content .results_table tr:nth-child(3n+1) p:last-of-type {
  margin-bottom: 0;
}

#content .results_table tr:nth-child(3n+1) td,
#content .news_table tr:nth-child(3n) td {
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  padding: 1em;
}

#content .results_table tr:nth-child(3n+3), 
#content .news_table tr:nth-child(3n-1) {
  border-top: 2px solid white;
  box-shadow: 0 0 5px 0 #12467322;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

#content .results_table tr:nth-child(3n+3) td,
#content .news_table tr:nth-child(3n-1) td {
  background: linear-gradient(to bottom, #f5faff, #e5eff8);
  border: 1px solid white;
  border-right: 1px solid #12467310;
  border-bottom: none;
  text-align: center;
  color: #294966;
}

#content .news_table tr:nth-child(3n-1) td {
  padding: .5em 1em;
}

#content .news_table tr:nth-child(3n-1) td:first-of-type {
  text-align: left;
}

#content .news_table tr:nth-child(3n-1) td:last-of-type {
  text-align: left;
}

#content .news_table tr:nth-child(3n-1) td:last-of-type a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 250px;
}

#content .results_table tr:nth-child(3n+3) td:first-of-type,
#content .news_table tr:nth-child(3n-1) td:first-of-type {
  border-top-left-radius: 16px;
}

#content .results_table tr:nth-child(3n+3) td:last-of-type,
#content .news_table tr:nth-child(3n-1) td:last-of-type {
  border-top-right-radius: 16px;
}

.link_formatted {
  display: flex;
}

.link_formatted>.nav_external {
  margin-top: 4px;
}

/* API/Heat wave mgmt page table */

#content .custom_table {
  vertical-align: middle;
}

#content .custom_table .api_types {
  padding: 0; 
  border: 1px transparent;
}

#content .custom_table .api_types h3 {
  font-size: 1.4em; 
  color: #272727;
}

#content .custom_table .table_head {
  width: 22%; 
  border-radius: 16px 16px 0 0;
  text-shadow: 0px 1px 3px #000000aa;
  padding: .6em;
}

#content .table_head.head_free {
  background-color: #dcdcdc;
  text-shadow: none;
  color: #353535;
}

#content .table_head.empty {
  width: unset;
  background-color: transparent;
}

#content .table_head.table_label {
  background: none;
  text-shadow: unset;
  color: #231f20;
}

#content .table_head.free {
  background-color: #19609def;
}

#content .table_head.free .grid_head {
  display: grid;
  grid-template-columns: 1fr 70% 1fr;
}

#content .table_head.free .grid_head a {
  text-shadow: none; 
  width: 20px; 
  height: 20px;
  display: inline-block; 
  background-color: #ffffff55; 
  color: white; 
  border-radius: 100%;
  text-decoration: none !important;
  transition: .2s;
}

#content .table_head.free .grid_head a:hover {
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .2);

  background-color: white;
  color: #124673;
}

#content .table_head.bronze {
  background: linear-gradient(-72deg, #b37d4e, #d3984f, #b37d4e); 
}

#content .table_head.silver {
  background: linear-gradient(-72deg, #808080, #acacac, #898989); 
}

#content .table_head.gold {
  background: linear-gradient(-72deg, #b7a353, #d2b93c, #9d7d2d); 
}

#content .custom_table .double_height {
  height: 51px;
}

#content .custom_table .inset_head {
  color: #272727;
  font-size: 10pt; 
  font-weight: bold; 
  background: linear-gradient(to right, #00000011 0%, transparent 5%, transparent 95%, #00000011 100%);
}

/* Table layout table_spaced */

.table_spaced {
  margin: auto;
}

#content table .table_spaced {
  border: none; 
  border-collapse: collapse; 
}

.table_spaced td { 
  padding: 0 5px 0 5px;
  border-left: 1px solid #7c7c7c; 
  border-collapse: collapse; 
}

.table_spaced tr:nth-child(2n) {
  background-color: #e5e5e5;
}

.table_spaced tr:nth-child(2n) td:first-of-type {
  border-bottom-left-radius: 12px;
  border-top-left-radius: 12px;;
}

.table_spaced tr:nth-child(2n) td:last-of-type {
  border-bottom-right-radius: 12px;
  border-top-right-radius: 12px;;
}

#content .table_spaced th { 
  padding: 0 5px 0 5px;
  border: none;
  border-left: 1px solid #7c7c7c;
  border-collapse: collapse; 
}

.table_spaced td:first-child { 
  border-left: none; 
}

#content .table_spaced th:first-child { 
  border-left: none; 
}

/* Table layout: Corporate structure */

.corporate_structure {
  width: 100%;
  text-align: center;
}

.corporate_structure hr {
  margin: .6em;
}

.corporate_structure tr.structure_node>td:first-child {
  border: 1px solid #aaa;
  box-shadow: 0 0 5px 0 #12467322;
  border-radius: 8px;
  padding: .6em;
  width: 66%;
  vertical-align: middle;
  background-color: white;
}

.corporate_structure tr.structure_node>td:nth-child(2) {
  padding: .6em .6em .6em 1em;
  text-align: left;
  width: 33.3%;
}

.corporate_structure tr.structure_connection>td {
  text-align: left;
  padding: 0;
}
.down_arrow {
  width: 0px;
  margin: 0 0 0 calc(50% - 7.5px);
  font-size: 8pt;
  line-height: 14pt;
}

.down_arrow:before {
  content: '\2193';
  font-size: 22pt;
}

.corporate_structure tr.structure_connection>td {
  width: 66.6%; 
}

.corporate_entity {
  font-weight: bold;
  font-size: 13pt;
}

/* Captions */

caption {
  padding: 10px 5px 2px 5px;
  text-align: left;
  font-size: 0.9em;
  font-style: italic;
  color: #666;
  line-height: 1.3em;
}

.image-caption {
  padding: 10px 5px 2px 5px;
  text-align: left;
  font-size: 0.9em;
  font-style: italic;
  color: #666;
  line-height: 1.3em;
}

.image-caption p {
  margin: -5px 0 0 0;
}

/* Lists */

ol {
  list-style-type: decimal;
  padding-left: 20px;
  margin-bottom: 1em;
}

ol.uppercase {
  list-style-type: upper-alpha;
  padding-left: 24px;
  margin-bottom: 1em;
}

ol.uppercase>li {
  margin-bottom: 0.6em;
}

.three_column_list {
  columns: 3;
}

.two_column_list {
  columns: 2;
}

/* USP container */

.usp_container {
  font-size: 1.3em; 
  display: grid;
  grid-column-gap: 1em;
  grid-row-gap: 2em;
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 3em;
  font-size: 13pt;
}

@media only all and (max-width: 1150px) {
  .usp_container {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media only all and (max-width: 700px) {
  .usp_container {
    grid-template-columns: 1fr !important;
    text-align: center;
    margin: 2em;
  }
}

.usp_container>* {
  margin: 0;
  padding: 3px 34px;
  text-indent: -34px;
  border-radius: 32px;
  box-sizing: border-box;
  line-height: 1;
}

.usp_container p:before {
  content: url('https://content.meteoblue.com/assets/images/graphics/checkmark_green.svg');
  position: relative;
  vertical-align: middle;
  margin-top: 0px;
  padding-left: .5em;
  text-indent: -.75em;
  display: inline-block;
  width: 24px;
}

/* ul List layout: Pills */

#content ul.pills {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  list-style-type: none;
  justify-items: stretch;
  padding: 0;
  grid-column-gap: .8em;
  grid-row-gap: .8em;
}

#content ul.pills.quarter {
  grid-template-columns: repeat(4, 1fr);
}

#content ul.pills li {
  padding: .5em 1em;
  background: #ffffffbb;
  border-radius: 5px;
  border: 1px solid #124673a0;
  color: #124673;
  text-align: center;
}

@media only all and (max-width: 985px) {
  #content ul.pills {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only all and (max-width: 540px) {
  #content ul.pills {
    grid-template-columns: 1fr;
  }

  #content ul.pills.quarter {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ul List layout: Definition list */

#content ul.definition_list {
  font-weight: bold;
  overflow: hidden;
  margin: 0 0 1em 0;
  padding: 0;
}

#content ul.definition_list li ul {
  font-weight: normal;
  overflow: hidden;
  margin: 0 0 0.6em 0;
}

#content ul.definition_list li ul li {
  margin: 0;
  padding: 0;
  list-style: disc;
}

/* ul List layout: Checkmarks */

#content ul.checkmarks {
  list-style-type: none;
  overflow: initial;
  margin-bottom: 1em;
  padding-left: 0;
}

#content ul.checkmarks.grid {
  display: grid; 
  grid-template-columns: 1fr; 
  gap: 1.5em 2em;
}

#content ul.checkmarks.grid.two_columns {
   grid-template-columns: 1fr 1fr;
}

#content ul.checkmarks.grid li {
  padding-left: 28px;
  margin-bottom: 0;
}

#content ul.checkmarks.grid li:before {
  padding-bottom: .4em;
  left: 15px;
}

#content ul.checkmarks.grid li b {
  font-size: 1.1em;
}

#content .checkmark_wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 1em;
}

#content .checkmark_wrapper ul.checkmarks {
  font-size: 17.333px;
}

#content ul.checkmarks.two_column_list {
  columns: 2;
}

#content ul.checkmarks-first-column {
  list-style-type: none;
  margin-bottom: 0;
  padding-left: 0;
}

#content ul.checkmarks-first-column li:last-of-type {
  margin-bottom: 0.4em;
}

#content ul.checkmarks li:before,
#content ul.checkmarks-first-column li:before {
  content: url(https://content.meteoblue.com/assets/images/graphics/checkmark_green.svg);
  position: relative;
  top: 4px;
  left: 17px;
  padding-left: 3px;
  display: inline-block;
  width: 18px;
}

#content ul.checkmarks li ul {
  margin-top: 0.5em;
}

#content ul.checkmarks li ul li:before {
  content: '';
  padding-left: 0.1em;
}

#content ul.checkmarks li,
#content ul.checkmarks-first-column li {
  padding-left: 24px;
  text-indent: -1.5em;
  margin-bottom: 1em;
}

/* ul List layout: Spaced */

#content ul.spaced-list {
  list-style-position: outside;
  margin-left: 3px;
}

#content ul.spaced-list li {
  margin-bottom: 0.4em;
  padding-left: 4px;
}

#content ul.spaced-list li ul li {
  margin-bottom: 0em;
}

#content ul.spaced-list li::marker {
  color: #124673;
  display: inline-block;
  position: relative;
  font-size: 1.2em;
}

/* ol List layout: Numbers in circles */

#content ol.circles {
  list-style: none;
  counter-reset: listCtr;
  text-indent: -25px;
  margin-left: 5px;
}

#content ol.circles>li {
  counter-increment: listCtr;
  margin-bottom: 0.6em;
  display: block;
}

#content ol.circles.spaced li {
  margin-bottom: 1.2em;
}

#content ol.circles li::before {
  content: counter(listCtr);
  color: white;
  display: inline-block;
  font-size: .7em;
  font-weight: 600;
  text-align: center;
  text-indent: 0em;
  width: 1.6em;
  height: 1.6em;
  background: #124673;
  border-radius: 1em;
  margin-right: 8px;
  line-height: 1.7em;
  vertical-align: .1em;
}

span.circle {
  color: white;
  display: inline-block;
  font-size: .7em;
  font-weight: 600;
  text-align: center;
  text-indent: 0em;
  width: 1.6em;
  height: 1.6em;
  background: #124673;
  border-radius: 1em;
  line-height: 1.7em;
  vertical-align: .1em;
}

#content ol.circles ol li {
  text-indent: -1.7em;
}

#content ol.circles ol li::before {
  color: #124673;
  background: white;
  border: 1px solid #124673;
  margin-top: .4em;
}

#content ol.circles ul {
  text-indent: 0;
  list-style-position: outside;
  list-style: disc;
}

#content ol.circles ul li {
  display: list-item;
}

#content ol.circles ul li::before {
  content: none;
}

#content ol.circles ul li::marker {
  color: #124673;
  line-height: 1.4;
  font-size: 1.2em;
}

/* Main structure, wrappers */

#content {
  padding-bottom: 30px;
}

#wrapper {
  margin: 0 auto;
  max-width: 1135px;
  min-width: 320px;
}

#wrapper.fullwidth {
  max-width: 100%;
}

#wrapper.fullwidth .info_note {
  margin-top: 1em;
  margin-bottom: 0;
}

#wrapper.defaultwidth {
  padding-left: 10px;
  padding-right: 10px;
}

.startpage_wrapper {
  max-width: 1115px;
  margin: 0 auto;
  padding: 0 10px;
}

.outer_box {
  margin-left: 0;
}

.header_top {
  display: flex;
  align-items: baseline;
}

.header_top .button {
  background-color: #f8f8f8;
  border: medium none;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  box-shadow: none;
  color: #124673;
  font-size: 18px;
  height: 30px;
  line-height: 30px;
  margin: 0;
  padding: 0;
  text-decoration: none !important;
  width: 25.3333px;
}

#overlay {
  position: fixed;
  z-index: 3;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.over_overlay {
  z-index: 11;
}

@media only all and (max-width: 500px) {
  #content {
    font-size: 0.9em;
  }

  .home_heading span {
    font-size: 10pt !important;
  }
}

.ref_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 3em;
}

.black {
  color: black;
}

.grey {
  color: #5f5f5f;
}

.flex_center {
  display: flex;
  align-items: center;
}

.flex_gap {
  gap: 1em;
}

.text-muted-blue {
  color: #506f8a;
}

.text-grey {
  color: #c3c2c2;
}

/*=== Navigation ===*/

.open-menu {
  float: left;
}

#wrapper.fullwidth .nav {
  display: none;
}

.nav {
  list-style: none outside none;
  width: 265px;
}

.nav a {
  color: #2e2e2e;
  padding: 0.5em;
  margin: 5px;
  margin-left: 0;
  position: relative;
  text-decoration: none;
  background: transparent;
}

.nav li.mobile_nav.nav_logo {
  text-align: center;
  margin: .5em;
}

.nav li.mobile_nav {
  padding: 4px 4px 4px 0; 
}

.nav a:hover {
  background: #19609de6;
  color: white;
}

@media only all and (min-width: 950px) {
  .mobile_nav {
    display: none;
  }
}

.mobile_nav.list_node a {
  font-weight: bold;
  color: #19609daa;
}

.mobile_nav.list_node a:hover {
  color: white;
}

.parent_before {
  display: inline-block;
  text-align: center;
  width: 11px;
  height: 11px;
  margin: 0;
  cursor: pointer;
}

.nav li.bottom_link {
  margin-left: 1em;
}

.nav li.shift_right {
  margin-left: 2.3em;
}

.nav_open {
  content: url('/assets/images/arrow_down.svg');
}

.nav_open_dummy {
  content: url('/assets/images/arrow_down.svg');
  margin-right: .3em;
}

.nav_closed {
  content: url('/assets/images/arrow_right.svg');
}

.nav_none {
  display: inline-block;
  text-align: center;
  width: 11px;
  height: 11px;
  margin: 0;
  content: url('/assets/images/none.svg');
}

.nav_leaf {
  display: inline-block;
  text-align: center;
  width: 13px;
  height: 13px;
  margin: 0;
  margin-right: -3px;
  content: url('/assets/images/leaf.svg');
}

.nav_external {
  display: inline-block;
  text-align: center;
  width: 11px;
  height: 11px;
  margin: 0;
  margin-right: .3em;
  content: url('/assets/images/external.svg');
  filter: invert(19%) sepia(15%) saturate(6134%) hue-rotate(184deg) brightness(98%) contrast(88%);
}

.nav ul {
  margin-top: .5em;
  margin-left: .5em;
}

.nav li {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  margin-left: 0;
  padding: 8px 8px 8px 0;
}

.nav .active>a {
  font-weight: bold;
  color: #19609def;
}

.nav .active>a:hover {
  color: white;
}

.nav .nav_heading {
  color: #19609def;
  font-size: 15pt;
  padding-left: 12px;
}

.nav .nav_heading:hover {
  background: transparent;
}

.nav .nav_heading:hover {
  color: #19609d !important;
}

.nav .nav_bottom_heading {
  margin-top: 2em;
  font-weight: bold;
}

.no_hover {
  pointer-events: none;
}

@media only all and (max-width: 950px) {
  .nav {
    display: none;
    position: absolute;
    left: 0;
    background: #f8f8f8;
    border-radius: 2px;
    padding-left: 1em;
    padding-right: 1em;
  }

  .nav li div, .nav li a {
    font-size: 12pt;
    line-height: 2em;
  }
}

@media print {
  nav {
    display: none;
  }
}

/*=== Partners page ===*/

.feature_box {
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.08);
  position: relative;
  display: block;
  background-color: #ffffffcc;
  width: 100%;
  margin-bottom: 8px;
  border-radius: 16px;
}

.feature_box p {
  padding-right: 1em;
}

.partner_featured {
  position: relative;
  border-radius: 16px;
  margin-top: 2em;
  margin-bottom: 1em;
}

.partner_featured p {
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 9;
  -webkit-line-clamp: 9;
  -webkit-box-orient: vertical;
}

.img_featured {
  object-fit: cover;
  width: 50%;
  height: 300px;
  background-color: lightseagreen;
  border-radius: 16px;
  margin-right: 1em;
  float: left;
  border-bottom-right-radius: 0px;
  border-top-right-radius: 0px;
}

.partner_boxes {
  display: flex;
  justify-content: space-between;
  background-color: transparent;
}

.partner_boxes .partner_box:first-of-type {
  margin-left: 0px;
}

.partner_boxes .partner_box:last-of-type {
  margin-right: 0px;
}

.partner_box {
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.08);
  background-color: #ffffffcc;
  margin: 7px;
  border-radius: 16px;
  width: 33%;
  position: relative;
  padding-bottom: 1.5em;
}

.partner_box.filler {
  background-color: transparent;
  box-shadow: none;
}

@media only all and (max-width: 600px) {
  .partner_boxes {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
  }

  .partner_box {
    margin: 1em 0;
    width: 100%;
  }

  .feature_box p {
    margin: 15px;
    margin-bottom: 2.5em;
  }
  
  .partner_featured p {
    line-clamp: 5;
    -webkit-line-clamp: 5;
  }

  .img_featured {
    width: 100%;
    margin-bottom: 1em;
    border-top-right-radius: 5px;
  }
}

.partner_box p {
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 4;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

.partner_box p,
.partner_box span {
  padding: 5px 15px 0 15px;
}

.partner_box span {
  padding-top: 10px;
}

.flex {
  display: flex;
}

.img_cover {
  object-fit: contain;
  width: 100%;
  height: 150px;
  background-color: white;
  background: linear-gradient(to bottom, white, #f5f5f5);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
} 

.partner_box img {
  width: 200px;
}

.partner_box img.narrow {
  width: 180px;
}

.partner_box img.narrower {
  width: 120px;
}

.white_frame {
  background-color: white;
  text-align: center;
}

.article_heading {
  color: #124673;
  font-size: 1.2em;
  font-weight: bold;
  display: block;
  padding-top: 10px;
  margin-bottom: 5px;
  line-height: 1.2em;
}

.article_heading.article_heading_large {
  padding-bottom: 16px;
  padding-top: 16px;
  height: 48px;
}

.article_heading_featured {
  font-size: 1.4em;
  display: block;
  background-color: #19609def;
  color: white;
  padding: 8px 8px 7px 8px;
  margin-bottom: 8px;
  margin-top: 1.5em;
  border-radius: 16px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}

.article_subheading {
  font-size: 1em;
  color: grey;
  display: block;
  margin-bottom: 1em;
  margin-top: 0px;
}

.read_more {
  position: absolute;
  bottom: 0px;
  right: 1em;
  font-size: .8em;
  display: block;
  text-align: right;
  color: grey;
  padding: 8px;
  border-radius: 5px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

.success_story_prefix {
  color: #124673; 
  font-size: 10pt;
}

/* Homepage layout */

.category_image {
  box-sizing: border-box;
  display: inline-block;
  margin: 0 0 1.5em;
  width: 100%;
  border-radius: 16px;
  height: 150px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.category_image.small {
  height: 42px;
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
}

.forecast_image {
  background-image: url('/assets/images/graphics/forecast_img.png');
}

.maps_image {
  background-image: url('/assets/images/graphics/maps_img.png');
}

.climate_image {
  background-image: url('/assets/images/graphics/Illustration-Climate_warning_stripes-DH-080724.jpg');
}

.city_image {
  background-image: url('/assets/images/graphics/Background-Climate_madrid-DH-080724.png');
}

.api_image {
  background-image: url('/assets/images/graphics/api_img.png');
}

.aboutus_image {
  background-image: url('/assets/images/graphics/Illustration-About_us-maps-DH-110225.png')
}

p.shop_category {
  margin-top: 0;
  margin-bottom: 1.5em;
  line-height: 1.8;
}

.cart_svg, 
.play_svg, 
.info_svg, 
.download_svg, 
.external_svg, 
.contact_svg, 
.cog_svg, 
.graph_svg,
.apple_svg,
.android_svg {
  display: block;
  margin: auto;
  position: relative;
  filter: invert(1); 
  width: 22px;
  height: 23px;
}

.cart_svg {
  width: 24px; 
  height: 24px; 
  left: -1px;
}

.play_svg {
  filter: invert(1); 
  width: 22px; 
  height: 22px; 
  left: 2px;
}

.info_svg {
  filter: invert(34%) sepia(41%) saturate(688%) hue-rotate(172deg) brightness(103%) contrast(90%);
  width: 21px;
  height: 21px;
  transition: .2s;
}

.download_svg {
  width: 20px;
}

.external_svg,
.apple_svg {
  width: 19px;
}

.info_svg:hover,
.standard-btn a:hover .info_svg:not(:hover) {
  filter: invert(1);
}

.overview_boxes.single_row .overview_box .standard-btn a {
  width: 75px;
}

.overview_boxes.single_row p {
  padding: 5px 8px 0 8px;
}

.homepage_category .overview_box .standard-btn p {
  padding: 0 5px;
}

.home_img {
  border-radius: 16px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.refit_header {
  object-fit: cover;
  background-position: center;
  width: 100%;
  height: 131px;
}

.refit_left {
  background-position: left;
}

.refit_right {
  background-position: right;
}

.refit_apis {
  background-image: url('/assets/images/page_headers/data_closeup_small_header.jpg');
}

.refit_satellite {
  background-image: url('/assets/images/page_headers/satellite_small_header.jpg');
}

.refit_sectors {
  background-image: url('/assets/images/page_headers/sectors_small.png');
}

.refit_pnp {
  background-image: url('/assets/images/page_headers/wind_animation_small.jpg');
}

.refit_help {
  background-image: url('/assets/images/page_headers/help_small.png');
}

.refit_subscriptions {
  background-image: url('/assets/images/page_headers/media_small.png');
}

.refit_apps {
  background-image: url('/assets/images/page_headers/meteoblue_weather_app_small_header.jpg');
}

.refit_cooperations {
  background-image: url('/assets/images/page_headers/handshake_small_header.jpg');
}

.refit_educational {
  background-image: url('/assets/images/page_headers/lady_studying_small_header.jpg');
}

.refit_accuracy {
  background-image: url('/assets/images/page_headers/lady_magnifying_glas_small_header.jpg');
}

.refit_specifications {
  background-image: url('/assets/images/page_headers/specifications_small.png');
}

.home_heading {
  position: relative;
  padding: 8px 15px 13px 64px;
  margin: 0;
  background: linear-gradient(to bottom, #19609d, #124673);
  text-align: left;
  border-radius: 0;
  white-space: nowrap;
  line-height: 22pt;
  border-left: 1px solid #788da6;
  border-right: 1px solid #788da6;
}

.home_heading a {
  color: #fff;
}

.home_heading span {
  display: block;
  font-size: 12pt;
  color: #eeeeffa0;
  line-height: 10pt;
}

.start_icon {
  z-index: 3;
  width: 42px;
  filter: opacity(1) invert(1);
  position: absolute;
  top: 11px; 
  left: 10px;
  margin-right: 8px;
  transition: .2s;
}

.alt_icon {
  filter: opacity(0) invert(1);
}

.home_box:hover .start_icon {
  width: 48px;
  left: 7px;
  top: 8px;
  filter: opacity(0) invert(1);
}

.home_box:hover .alt_icon {
  width: 48px;
  left: 7px;
  top: 8px;
  filter: opacity(1) invert(1);
}

.home_boxes {
  display: flex;
  justify-content: space-between;
  background-color: transparent;
  flex-wrap: wrap;
  gap: 2.5em;
  margin-top: 3em;
}

.home_box {
  flex-grow: 1;
  margin: 0;
  width: 48%;
  position: relative;
  cursor: pointer;
  box-shadow: 0 1px 7px 0 #12467344;
  border-radius: 16px;
  line-height: .6;
}

.home_box>* {
  text-decoration: none;
}

.startpage_wrapper .home_boxes {
  margin-top: 1.5em;
}

.overview_flex_grid {
  gap: 2.5em;
  margin-left: 4px;
  margin-right: 4px;
}

.overview_flex_box {
  width: 40%;
  flex-grow: 1;
  background-color: white;
  cursor: pointer;
  box-shadow: 0 0 4px 0 #12467344;
  border-radius: 5px;
  line-height: .6;
  padding: 0;
  border-radius: 17px;
}

.overview_flex_box a {
  text-decoration: none;
}

@media only all and (max-width: 705px) {
  .overview_flex_grid {
    gap: .5em;
  }

  .overview_flex_box {
    width: 66%;
    margin: auto;
    margin-bottom: 2.5em;
  }
}

.overview_panel {
  display: flex;
  position: relative;
  align-items: baseline;
}

.overview_panel>h2 {
  position: absolute; 
  top: -41px;
  left: 0px;
  margin: 0;
  padding: 4.5px 15px;
  border-top-right-radius: 8px;

  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  background-color: #19609de6;
  color: white;
  font-size: 1.7em;
  font-weight: normal;
  line-height: 1.3em;
  max-width: 90%;
}

@media only all and (max-width: 490px) {
  .overview_flex_box {
    width: 100%;
  }

  .overview_panel>p {
    font-size: 12pt;
  }
}

.overview_panel>p {
  text-align: left;
  line-height: 1.5;
  padding: 1.5em 1em;
  margin: 0;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  color: #124673;
}

@media only all and (max-width: 920px) {
  .home_boxes {
    justify-content: center;
  }

  .home_box {
    width: 70%;
  }
}

@media only all and (max-width: 700px) {
  .home_box {
    width: 100%;
  }
}

.home_box h2 {
  text-align: left;
  font-size: 17pt;
}

.home_box h2 a {
  text-decoration: none;
  color: white;
}

.home_box>a>h2 {
  color: white;
}

.home_box p {
  text-align: justify;
  padding: 0 1em 1em 1em;
  border-radius: 5px;
}

.home_list {
  display: grid;
  grid-template-columns: 50% 50%;
  border-radius: 16px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-color: #f8f8f8;
  border: 1px solid #788da6;
  border-top: 0;
}

.home_list a {
  padding-top: .6em !important;
}

.homepage_flexbox {
  display: flex;
  justify-content: space-around;
  background-color: transparent;
  flex-wrap: wrap;
  gap: 1em;
  row-gap: 0;
  margin-top: 2em;
}

.homepage_category {
  margin: 0;
  width: 100%;
  position: relative;
  line-height: .6;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "left right";
  gap: 2em;
  margin-bottom: 1.5em;
}

.forecast_image,
.maps_text,
.climate_image,
.apis_text {
  grid-area: left;
}

.forecast_text,
.maps_image,
.climate_text,
.apis_image {
  grid-area: right;
}

.category_forecast,
.category_maps,
.category_climate,
.category_apis {
  padding-bottom: 10px !important;
}

.category_forecast::before,
.category_maps::before,
.category_climate::before,
.category_apis::before {
  content: "";
  background-repeat: no-repeat;
  filter: invert(19%) sepia(40%) saturate(2434%) hue-rotate(185deg) brightness(91%) contrast(90%);
  width: 22px;
  height: 22px;
  display: inline-block;
  margin-right: .5em;
  background-position-y: center;
  margin-bottom: -3px;
}

.category_forecast::before {
  background-image: url("https://static.meteoblue.com/assets/images/menu/forecast.svg");
}

.category_maps::before {
  background-image: url("https://static.meteoblue.com/assets/images/menu/maps.svg");
}

.category_climate::before {
  background-image: url("https://static.meteoblue.com/assets/images/menu/history_climate.svg");
}

.category_apis::before {
  background-image: url("https://static.meteoblue.com/assets/images/svg/fa/light/cog.svg");
}

.startpage.standard-btn a {
  border: 1px solid #12467322;
  border-top: 0;
  border-radius: 0;
}

.startpage:nth-child(odd) a {
  border-right: 0;
}

.startpage:nth-last-child(2) a {
  border-bottom-left-radius: 16px;
}

.startpage:nth-last-child(1) a {
  border-bottom-right-radius: 16px;
}

.startpage.standard-btn a {
  background-color: #fefefe;
  min-height: 32px;
  padding-top: .75em !important;
  padding-bottom: .75em !important;
}

.startpage.standard-btn a:hover {
  background: linear-gradient(to bottom, #175082, #124673);
}

/* Overview boxes */

.overview_boxes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2em;
  background-color: transparent;
  flex-wrap: wrap;
  margin-top: 2em;
  padding-left: 2px;
  padding-right: 2px;
}

.overview_boxes.single_row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1em;
}

.overview_boxes.three_boxes {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1em;
}

.overview_boxes.overview_home {
  gap: 2em;
}

.overview_boxes.centered,
div.overview_boxes.justify-center {
  justify-content: center;
}

.overview_box {
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 4px 0 #12467344;
  background-color: #ffffff;
  border-radius: 16px;
  position: relative;
  padding-bottom: 1em;
  width: 100%;
}

.halfwidth {
  grid-template-columns: 1fr 1fr;
}

.thirdwidth {
  grid-template-columns: 1fr 1fr 1fr;
}

.overview_box.halfwidth li {
  margin: 0 1.5em;
}

.overview_box a {
  text-decoration: none;
}

.overview_box p,
.overview_box span {
  padding: 5px 15px 0 15px;
}

.overview_text {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 1em !important;
  flex-grow: 99;
}

.overview_head {
  display: flex;
}

.overview_head .article_heading_large {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 16px !important;
}

.homepage_category .overview_text, .overview_box .overview_text {
  text-align: center;
  min-height: 70px;
}

.overview_btn {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  justify-self: end;
  flex-grow: 1;
}

.overview_box .article_heading {
  color: #124673;
  background: linear-gradient(to bottom, #f5faff, #e5eff8);
  height: 30px;
  padding-top: 8px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  margin-top: 0;
  text-align: center;
}

@media only all and (max-width: 550px) {
  .overview_boxes {
    justify-content: center;
    grid-template-columns: 1fr;
  }

  .homepage_flexbox .homepage_category {
    width: 100%;
  }

  .homepage_flexbox .homepage_category .overview_boxes {
    grid-template-columns: 1fr;
  }

  .homepage_flexbox .homepage_category .overview_boxes .overview_box {
    margin-left: auto;
    margin-right: auto;
  }

  .overview_boxes.single_row {
    grid-template-columns: 100% !important;
  }
}

/*=== Box ribbon ===*/

.ribbon {
  width: 80px;
  height: 80px;
  overflow: hidden;
  position: absolute;
}

.ribbon::before,
.ribbon::after {
  position: absolute;
  z-index: -1;
  content: '';
  display: block;
}

.ribbon span {
  position: absolute;
  display: block;
  width: 80px;
  height: 20px;
  font-size: 8pt;
  line-height: 1.2em;
  padding: 0 !important;
  background-color: #36aa44;
  color: #fff;
  text-align: center;
  z-index: 2;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
}

.ribbon-top-left {
  top: -4px;
  left: -4px;
}

.ribbon-top-left::before, 
.ribbon-top-left::after {
  position: absolute;
  z-index: 0;
}

.ribbon-top-left::before {
  top: 0;
  left: 44px;
  background-color: #568f5c;
  width: 10px;
  height: 4px;
}

.ribbon-top-left::after {
  bottom: 22px;
  background-color: #568f5c;
  width: 4px;
  height: 10px;
  top: 45px;
}

.ribbon-top-left span {
  left: -20px;
  top: 10px;
  transform: rotate(-45deg);
  font-size: 1.1em;
  font-weight: bold;
}

/*=== Column Layout ===*/

.one_column_of_three {
  width: 31.83%;
}

.two_columns_of_three {
  width: 65.86%;
}

.one_column_of_four {
  width: 23.1%;
}

.two_columns_of_four {
  width: 48.5%;
}

.three_columns_of_four {
  width: 74.25%;
}

.all_columns {
  width: 100%;
}

.width100 {
  width: 100%;
}

.width20 {
  width: 20% !important;
}

.custom_column {
  width: 38.5%;
}

.icon {
  width: 4%;
  height: 4%;
}

.one_column_of_three img,
.two_columns_of_three img,
.one_column_of_four img,
.two_columns_of_four img,
.three_columns_of_four img,
.icon img,
.all_columns img {
  max-width: 100%;
  margin: 0 auto 0 auto;
  padding: 0;
  vertical-align: top;
}

.one_column_of_three img.heading_icon {
  margin: 0 .6em 0 .3em;
}

.object_right {
  margin: 0 0 4px 2.2%;
  float: right;
  vertical-align: top;
}

.object_left {
  margin: 0 2.2% 4px 0;
  float: left;
  vertical-align: top;
}

.object_center {
  margin: 0 auto 4px auto !important;
  vertical-align: top;
}

.original {
  margin: 5px 5px 5px 0;
  padding: 0;
  background-color: transparent;
  vertical-align: top;
}

/* i was only an intern with little knowlege of css layouts */

.last_in_line {
  margin-right: 0 !important;
  margin-left: -1px;
}

.image {
  text-align: center;
  border: none;
  margin-bottom: 10px;
  max-width: 100%;
}

table .image {
  background: none;
}

.image h5 {
  background: none repeat scroll 0 0 #f9f9f9;
  margin: 0;
  padding: .5em .5em .5em 0;
  text-align: left;
}

@media only all and (max-width: 400px) {
  .one_column_of_three {
    width: 100%;
  }

  .two_columns_of_three {
    width: 100%;
  }

  .one_column_of_four {
    width: 100%;
  }

  .two_columns_of_four {
    width: 100%;
  }

  .three_columns_of_four {
    width: 100%;
  }

  .custom_column {
    width: 100%;
  }
}

@font-face {
  font-family: 'meteoblue';
  src: url('https://static.meteoblue.com/website/fonts/meteoblue_pictofont_rev8.woff') format('woff'), url('https://static.meteoblue.com/website/fonts/meteoblue_pictofont_rev8.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* Glyphs */

.glyph {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.glyph:after,
.glyph:before {
  font-family: meteoblue;
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  position: relative;
  vertical-align: text-bottom;
  text-decoration: none;
}

.glyph:after:hover,
.glyph:before:hover {
  text-decoration: none;
}

.glyph.time:before {
  content: "\00e0e0";
}

.glyph.temperature:before {
  content: "\00e010";
}

.glyph.windchill:before {
  content: "\00e011";
}

.glyph.winddir:before {
  content: "\00e012";
}

.glyph.windspeed:before {
  content: "\00e013";
}

.glyph.windgust:before {
  content: "\00e014";
}

.glyph.humidity:before {
  content: "\00e015";
}

.glyph.rain:before {
  content: "\00e016";
}

.glyph.rain1h:before {
  content: "\00e017";
}

.glyph.rain3h:before {
  content: "\00e018";
}

.glyph.precipprob:before {
  content: "\00e019";
}

.glyph.watertemp:before {
  content: "\00e01a";
}

.glyph.waveheight:before {
  content: "\00e01b";
}

.glyph.waveperiod:before {
  content: "\00e01c";
}

.glyph.wavepeak:before {
  content: "\00e01d";
}

.glyph.pressure:before {
  content: "\00e01e";
}

.glyph.pressure_negativ:before {
  content: "\00e092";
}

.glyph.external:before {
  content: "\00e094";
}

.glyph.predictability:before {
  content: "\00e020";
}

.glyph.snow:before {
  content: "\00e025";
}

.glyph.featcl_1:before {
  content: "\00e030";
}

.glyph.featcl_2:before {
  content: "\00e031";
}

.glyph.featcl_3:before {
  content: "\00e032";
}

.glyph.featcl_4:before {
  content: "\00e033";
}

.glyph.featcl_5:before {
  content: "\00e034";
}

.glyph.featcl_6:before {
  content: "\00e035";
}

.glyph.featcl_7:before {
  content: "\00e036";
}

.glyph.featcl_8:before {
  content: "\00e037";
}

.glyph.featcl_9:before {
  content: "\00e038";
}

.glyph.featcl_10:before {
  content: "\00e039";
}

.glyph.featcl_11:before {
  content: "\00e03a";
}

.glyph.featcl_12:before {
  content: "\00e03b";
}

.glyph.featcl_13:before {
  content: "\00e03c";
}

.glyph.settings:before {
  content: "\00e04b";
}

.glyph.search:before {
  content: "\00e071";
}

.glyph.menu:before {
  content: "\00e040";
}

.glyph.options:before {
  content: "\00e04b";
}

.glyph.delete:before {
  content: "\00e06c";
}

.glyph.close:before {
  content: "\00e06d";
}

.glyph.edit:before {
  content: "\00e070";
}

.glyph.hourglass:before {
  content: "\00e072";
}

.glyph.help:before {
  content: "\00e080";
}

.glyph.download:before {
  content: "\00e082";
}

.glyph.bookmark:before {
  content: "\00e085";
}

.glyph.document:before {
  content: "\00e086";
}

.glyph.more:before {
  content: "\00e087";
}

.glyph.share:before {
  content: "\00e088";
}

.glyph.params:before {
  content: "\00e089";
}

.glyph.warning:before {
  content: "\00e08d";
}

.glyph.info:before {
  content: "\00e08e";
}

.glyph.facebook:before {
  content: "\00e0b2";
  color: #39579a;
}

.glyph.twitter:before {
  content: "\00e0b4";
  color: #00abf0;
}

.glyph.googleplus:before {
  content: "\00e0b6";
  color: #df4a32;
}

.glyph.user:before {
  content: "\00e0b9";
}

.glyph.user_logged_in:before {
  content: "\00e0bd";
}

.glyph.like:before {
  content: "\00e0bb";
}

.glyph.dislike:before {
  content: "\00e0bc";
}

.glyph.credits:before {
  content: "\00e090";
}

.glyph.meteoblue:before {
  content: "\00e0d0";
}

.glyph.logo:before {
  content: "\00e0d1";
}

.glyph.logo_small:before {
  content: "\00e0d2";
}

.glyph.external:before {
  content: "\00e08f";
}

.glyph.location:before {
  content: "\00e0df";
}

.glyph.arrowhead_hollow_down:before {
  content: "\00e048";
}

.glyph.arrowhead_hollow_up:before {
  content: "\00e047";
}

.glyph.arrowhead_hollow_left:before {
  content: "\00e049";
}

.glyph.arrowhead_hollow_right:before {
  content: "\00e04a";
}

.glyph.forward:before {
  content: "\00e063";
}

.glyph.backward:before {
  content: "\00e064";
  margin-right: -0.8em;
}

.glyph.fast_forward:before {
  content: "\00e065";
}

.glyph.fast_backward:before {
  content: "\00e066";
}

.glyph.play:before {
  content: "\00e060";
}

.glyph.pause:before {
  content: "\00e061";
}

.glyph.language:before {
  content: "\00e04c";
}

/* API listing */

#content .api_intro {
  margin: 2.5em 0px;
}

#content .page_divide {
  box-sizing: border-box;
  background: linear-gradient(to bottom, #f5faff, #e5eff8);
  color: #124673;
  text-shadow: 0px 1px 2px #ffffff;
  font-weight: bold;
  font-size: 1.4em;
  box-shadow: 0 0 4px 0 #12467333;
  display: inline-block;
  padding: 12px 24px;
  margin: 3em 0 1.5em;
  width: 100%;
  border-bottom: 1px solid #dae5ef;
  border-top: 1px solid white;
  border-radius: 32px;
}

#content .page_divide.no_bottom_radius {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

#content .page_divide:nth-child(2) {
  margin-top: 0;
}

#content .api_list {
  display: grid;
  grid-template-columns: 100%;
  justify-items: center;
  gap: 12px;
}

#content .api_list_item {
  border-radius: 5px;
  width: 100%;
}

#content .api_list_item p {
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.03);
}

#content .api_list_item h4 {
  padding: 8px;
  margin: 0px;
}

#content .api_list_item p {
  padding: 8px 16px;
  margin: 0px;
  box-shadow: 0 0px 3px 0 #12467330;
}

#content .api_list_item p:first-of-type {
  border-top: 1px solid white;
  background: linear-gradient(to bottom, #eff3f7, #e7eef4);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

#content .api_list_item p:last-of-type {
  background-color: white;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

/* Quicklinks */

.quicklinks {
  width: 30%;
  margin-left: 4%;
}

.quicklinks p {
  margin-bottom: 5px;
}

@media only all and (max-width: 720px) {
  .quicklinks {
    width: 50%;
  }

  .quicklinks_align {
    grid-template-columns: 32% 68% !important;
  }

  .quicklinks_align>div:first-of-type {
    grid-row-start: 1;
    grid-row-end: 2;
    grid-column-start: 2;
    grid-column-end: 3;
    margin-left: 2.2%;
    margin-right: 0;
  }

  .quicklinks_align>div:last-of-type {
    grid-column-start: 1;
    grid-column-end: 2;
  }
}

@media only all and (max-width: 500px) {
  .quicklinks {
    width: 80%;
    margin-left: 10%;
    margin-right: 10%;
  }
  
  .linkbox ul {
    list-style: none;
  }

  .quicklinks_core .link_button {
    font-size: 1.1em;
    padding-top: 10px !important;
  }

  .quicklinks_core .linkbox_heading {
    margin-left: 10px;
    color: #124673 !important;
  }

  .quicklinks_bottom {
    margin-bottom: 1.5em !important;
    justify-content: center !important;
  }

  .page_divide {
    margin-top: 1em;
  }
}

.quicklinks_top {
  font-size: large;
  background-color: #19609def;
  color: white;
  margin-bottom: 0;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  padding: 2px 4px;
  text-align: center;
  border-bottom: 1px solid #12467322;
  border-top: 2px solid #fff1;
}

.quicklinks_top p {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  margin: 0;
  background: rgb(25,96,157);
  background: linear-gradient(90deg, rgba(25,96,157,0) 0%, rgba(68,123,171,.4) 50%, rgba(25,96,157,0) 100%);
}

.quicklinks_core {
  display: grid;
  grid-template-columns: 100%;
  margin-bottom: 0px;
  padding-top: 1px;
  background: #e5edf2;
  transition: .2s;
  border: 1.5px solid #12467307;
  border-bottom: 0;
}

.quicklinks_core .link_button {
  margin: 0px;
  padding: 1px;
  padding-left: 8px;
  border-radius: 8px;
}

.quicklinks_core .linkbox_heading {
  padding: 3px;
  margin: 0;
  border: 1.5px solid #19609d44;
  background-color: #f0f5f8;
  color: #124673bb;
  border-radius: 16px;
  margin: 2px;
  position: relative;
  z-index: 2;
  cursor: pointer;
}

.linkbox_heading::before {
  display: inline-block;
  text-align: center;
  width: 24px;
  height: 24px;
  border-radius: 2em;
  padding: 5px;
  background-color: transparent;
  content: "+";
  margin-right: 7px;
  color: #124673aa;
  font-weight: bold;
  line-height: 0.9;
  border: 1.5px solid #12467388;
  box-sizing: border-box;
}

.linkbox_heading.active {
  background-color: white;
  color: #124673;
}

.linkbox_heading.active::before {
  content: "-";
}

.quicklinks_core .link_button:hover {
  color: #124673;
}

.quicklinks_core .link_button a {
  text-decoration: none;
}

.quicklinks_core li::marker {
  display: none;
}

.quicklinks_core li::before {
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  left: -12px;
  top: -2px;
  padding: 4px;
  width: 24px;
  font-family: meteoblue;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  text-decoration: none;
  color: #12467399;
  text-align: center;
  vertical-align: middle;
}

.img_empty::before {
  content: "";
  height: 22.4px;
}

.img_plus::before {
  content: "+";
  font-weight: bold;
  top: -5px !important;
}

.img_spot_arrow::before {
  content: "\00e020";
  font-size: 10.5pt;
}

.img_area::before {
  content: "\00e033";
}

.img_branching::before {
  content: "\00e042";
}

.img_cog::before {
  content: "\00e04b";
  font-size: 10pt;
}

.img_source::before {
  content: "\00e075";
}

.img_time::before {
  content: "\00e0e0";
}

.img_image::before {
  content: "\00e0e1";
}

.img_projector::before {
  content: "\00e0e2";
}

.img_sat::before {
  content: "\00e0e3";
  left: -11.5px !important;
}

.img_basket::before {
  content: "\00e0e7";
}

.img_reception::before {
  content: "\00e0e8";
}

.img_code::before {
  content: "\00e0e9";
  top: -4px !important;
  left: -13px !important;
}

.img_sunhollow::before {
  content: "\00e0d3";
}

.img_sunfull::before {
  content: "\00e0d4";
  font-size: 9pt;
}

.img_halfmoon::before {
  content: "\00e0d5";
}

.img_cloud::before {
  content: "\00e0d6";
}

.img_spot::before {
  content: "\00e0d7";
}

.img_check::before {
  content: "\00e0d8";
  font-size: 9pt;
}

.img_cross::before {
  content: "\00e0d9";
}

.img_external::before {
  content: "\00e0da";
}

.img_phone::before {
  content: "\00e0db";
}

.img_tablet::before {
  content: "\00e0dc";
}

.img_monitor::before {
  content: "\00e0dd";
}

.img_power::before {
  content: "\00e0de";
}

.img_location::before {
  content: "\00e0df";
}

.img_shopping::before {
  content: "\00e0c1";
}

.quicklinks_core li {
  padding: 4px 8px 2px 16px !important;
  background-color: transparent;
  margin: 1px 0 !important;
  border-radius: 0 !important;
  width: 100%;
  transition: .2s;
  background-color: #ffffff99;
  position: relative;
  left: -3px;
  vertical-align: middle;
}

.quicklinks_core li:hover {
  background-color: #ffffff;
  cursor: pointer;
}

.quicklinks_core li a {
  color: #124673cc;
  position: relative;
  left: -7px;
}

.quicklinks_core li a:hover {
  color: #124673dd;
}

.quicklinks_core p,
.quicklinks_core ul {
  margin: 10px;
  margin-left: 2em;
}

.linkbox ul {
  position: relative;
  top: -10px;
  z-index: 1;
  margin: 0 4px -8px 4px !important;
  padding: 8px 4px 0 4px !important;
  background-color: #ffffff44;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  border: 1.5px solid #12467322;
}

.button_set {
  margin-top: .7em;
  margin-bottom: .3em;
  text-align: center;
}

.quicklinks_core .custom-button {
  display: inline-block;
  width: 75%;
  box-sizing: border-box;
  border-radius: 32px;
  transition: .2s;
  border: 1.5px solid white;
}

.quicklinks_core .custom-button:first-of-type {
  border: 1.5px solid #12467333;
}

.quicklinks_core .custom-button:last-of-type {
  border: 1px solid #124673a0;
  background-color: #ffffffbb;
  transition: .2s;
}

.quicklinks_core .custom-button:last-of-type:hover {
  background-color: #19609def;
}

.quicklinks_core .custom-button:last-of-type a:hover {
  color: white;
}

.quicklinks_core .custom-button:last-of-type a {
  color: #124673;
  transition: .2s;
}

.quicklinks_core .custom-button a {
  padding: .3em;
  font-size: 12pt;
}

.quicklinks_bottom .custom-button {
  background-color: #19609def;
  border-radius: 0 !important;
  border-bottom-left-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
  border: 1.5px solid #12467322;
  transition: .2s;
}

.quicklinks_bottom .btn-main {
  background-color: unset;
}

.quicklinks_bottom .custom-button a {
  color: white;
  transition: .2s;
  padding: 8px;
  border-radius: 0;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

.quicklinks_bottom .custom-button a:hover {
  background-color: #19609d;
}

.quicklinks_bottom .custom-button:hover {
  background-color: white;
}

.quicklinks_align {
  display: grid;
  grid-template-columns: 70% 30%;
  align-items: center;
  margin-bottom: 2em;
}

.custom-button,
.custom-button-secondary {
  text-align: center;
  font-size: 1.2em;
  color: #f8f8f8;
  margin: 0 0 5px 0;
  border-radius: 5px;
  background: #19609def;
}

.custom-button p, 
.custom-button-secondary p {
  line-height: 1;
}

.custom-button-secondary {
  background-color: #ffffff77;
  border: 1px solid #124673a0;
}

.custom-button-secondary:hover {
  background: #d1d1d1;
}

.custom-button:hover {
  background: #124673;
}

.custom-button p,
.custom-button-secondary p {
  margin: 0;
}

.custom-button a,
.custom-button-secondary a {
  border-radius: 5px;
  padding: .6em 1.2em;
  display: block;
  text-decoration: none !important;
  color: white;
}

.custom-button-secondary a {
  color: #124673;
}

/* Preview Elements */

.short_description {
  font-weight: normal; 
  font-size: 13pt;
}

.short_description::before {
  content: "• ";
}

@media only screen and (max-width: 1100px) {
  .short_description {
    display: block;
  }

  .short_description::before {
    content: "";
  }
}

@media only screen and (max-width: 700px) {
  .short_description {
    font-size: 12pt;
  }
}

/* Misc */

.inline-block {
  display: inline-block;
}

.two_segment_pill h3 {
  box-shadow: 0 0 5px 0 #12467322;
  padding: 8px 12px;
  background: linear-gradient(to bottom, #f5faff, #e5eff8);

  border: 1px solid white;
  border-bottom: none;
  border-top: 2px solid white;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;

  margin-bottom: 0;
}

.two_segment_pill p {
  background-color: white;
  box-shadow: 0 0 5px 0 #12467322;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  padding: 8px 12px;
}

.box_shadow {
  box-shadow: 0 2px 7px 0 #12467344;
}

.shadow_boxes .carousel_box {
  box-shadow: 0 0 4px 0 #12467333;
}

.category {
  font-size: 21pt;
  text-align: center;
  margin: 3em auto 0 auto;
  text-shadow: 0px 2px 3px #00000020;
}

.intro_claim {
  text-align: center;
  margin: 2em auto;
  font-size: 1.6em; 
}

.main_heading {
  text-align: center;
  font-size: 21pt;
  margin: 2em auto 0;
  text-shadow: 0px 2px 3px #00000020;
}

.overflow {
  overflow: visible !important;
}

.colour_box {
  display: inline-block;
  margin-right: 2px;
  width: 11px;
  height: 11px;
}

.segment_intro {
  margin-bottom: 2em;
  margin-top: .5em;
}

.radius {
  border-radius: 12px;
}

.free_api_img {
  content: url('/assets/images/graphics/freeAPI_img.png');
  border-radius: 12px;
}

@media only screen and (max-width : 400px) {
  .flex_mobile_column {
    flex-direction: column;
  }

  .free_api_img {
    content: url('/assets/images/graphics/freeAPI_short.png');
    margin-bottom: 1em;
  }

  .quicklinks_align {
    width: 100%;
    grid-template-columns: none !important;
    grid-template-rows: 50% 50%;
    margin-bottom: 2em;
  }

  .quicklinks_align>div:first-of-type {
    grid-row-start: 1;
    grid-row-end: 2;
    grid-column-start: 1;
    grid-column-end: 2;
    margin: 0;
    margin-top: 1em;
    width: 100%;
  }

  .quicklinks_align>div:last-of-type {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3;
    margin-top: 1em;
    width: 80%;
    justify-self: center;
  }
}

/* Margin overrides */

.all-margins-tiny {
  margin: .5em !important;
}

.all-margins-small {
  margin: 1em !important;
}

.all-margins {
  margin: 2em !important;
}

.no-margin {
  margin: 0 !important
}

.no-top-margin {
  margin-top: 0 !important;
}

.top-margin-vsmall {
  margin-top: .25em !important;
}

.top-margin-small {
  margin-top: .5em !important;
}

.top-margin-medium {
  margin-top: 1em !important;
}

.top-margin {
  margin-top: 2em !important;
}

.top-margin-large {
  margin-top: 3em !important;
}

.top-margin-vlarge {
  margin-top: 4em !important;
}

.top-margin-huge {
  margin-top: 7em !important;
}

.no-bottom-margin {
  margin-bottom: 0 !important;
}

.bottom-margin-tiny {
  margin-bottom: .25em !important;
}

.bottom-margin-small {
  margin-bottom: .5em !important;
}

.bottom-margin-medium {
  margin-bottom: 1em !important;
}

.bottom-margin {
  margin-bottom: 2em !important;
}

.bottom-margin-large {
  margin-bottom: 3em !important
}

.bottom-margin-vlarge {
  margin-bottom: 4em !important;
}

.bottom-margin-huge {
  margin-bottom: 7em !important;
}

.no-side-margins {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.left-margin {
  margin-left: 2em !important;
}

/* Padding overrides */

.no-padding {
  padding: 0 !important;
}

.all-padding-small {
  padding: .5em !important;
}

.all-padding {
  padding: 1em !important;
}

.no-top-padding {
  padding-top: 0 !important;
}

.top-padding-small {
  padding-top: .5em !important;
}

.no-bottom-padding {
  padding-bottom: 0 !important;
}

.bottom-padding-tiny {
  padding-bottom: .25em !important;
}

.bottom-padding-small {
  padding-bottom: .5em !important;
}

/* API styles */

.bronze {
  background: linear-gradient(-72deg, #b37d4e, #d3984f, #b37d4e);
  border-top: 2px solid #d8a05a;
}

.silver {
  background: linear-gradient(-72deg, #898989, #ababab, #8e8e8e);
  border-top: 2px solid #c6c6c6;
}

.gold {
  background: linear-gradient(-72deg, #b7a353, #d2b93c, #9d7d2d);
  border-top: 2px solid #dac766;
}

/* Beta info */

.info_note {
  display: flex;
  align-items: stretch;
  margin-left: 0px;
  justify-content: center;
  text-align: center;
  box-shadow: 0 0 4px 0 #12467333;
  border-radius: 32px;
}

.info_note div:first-of-type {
  background: linear-gradient(to bottom, #f5faff, #e5eff8);
  color: white;
  border-bottom-left-radius: 32px;
  border-top-left-radius: 32px;
  display: inline-block;
  padding: .6em 1.1em .4em 1.1em;
  display: flex;
  white-space: nowrap;
  align-items: center;
  border-right: 1px solid #12467310;
}

.info_note div:first-of-type span {
  font-weight: bold;
  color: #124673;
}

.info_note div:last-of-type {
  background: linear-gradient(to bottom, #f5faff, #e5eff8);
  padding: .6em 1.1em .4em 1.1em;
  border-bottom-right-radius: 32px;
  border-top-right-radius: 32px;
  text-align: left;
  border-left: 1px solid white;
}

/*=== Header ===*/

.topnav {
  background-color: #124673;
}

.topnav .wrapper {
  margin: 0 auto;
  max-width: 1115px;
  min-width: 320px;
}

.header_top {
  margin-left: 1%;
}

.topnav .logo {
  color: #f8f8f8;
  float: left;
  font-size: 3.6em;
  text-decoration: none;
  transition: color 0.2s ease 0s;
  width: 0;
  z-index: 1;
  margin: .4em 0 0;
}

.header_logo {
  width: 187px;
  filter: brightness(0) invert(1);
  position: relative;
  top: .75em;
  margin-top: .5em;
}

.mobile_logo {
  width: 187px;
  position: relative;
  top: .75em;
}

.header_nav {
  color: #ffffff55;
  font-size: 1.1em;
  margin-left: 3.2em;
  display: flex;
  align-items: flex-end;
  gap: 5px;
  line-height: 1.55em;
}

.header_btn {
  display: flex;
}

.header_btn a {
  text-decoration: none;
  color: #ffffff60;
  transition: .2s;
  cursor: pointer;
  padding: .75em 1em 1em;
  border-radius: 8px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.header_btn_active a {
  color: white;
}

.header_btn:hover a {
  color: white;
}

.flag {
  background: none no-repeat scroll 0 0 transparent;
  height: 30px;
  margin-left: 5px;
  padding-left: 24px;
  position: relative;
  width: 16px;
  padding: 0;
  line-height: 28px;
}

.group {
  float: right;
  border-radius: 2px;
  display: grid;
  grid-template-columns: 170px 35px 43px;
  margin-top: 6px;
}

.group_wrapper {
  z-index: 12;
  align-items: end;
  display: grid;
  width: 1024px;
  margin: 0 auto;
}

.group_wrapper .group {
  margin-top: 1em;
  grid-template-columns: 150px 36px 30px;
}

#settings_button {
  border-radius: 16px;
  padding: 0;
  position: relative;
  cursor: pointer;
  line-height: 27px;
  background-color: #d1d1d1;
  height: 30px;
  text-align: center;
}

#settings_button .glyph.settings::before {
  vertical-align: text-top;
}

#settings_dropdown {
  position: absolute;
  top: 30px;
  right: 0;
  width: 100px;
  background: #f8f8f8;
  font-size: 0.9em;
  padding: 10px 12px 14px;
  border-radius: 2px;
  text-align: left;
}

#settings_dropdown ul {
  list-style-type: none;
  padding-left: 0;
}

#settings_dropdown hr {
  padding: 0;
  margin: 1em 0 0.25em;
}

#settings_dropdown li {
  height: 1.4em;
  padding: 3px 2px;
}

.settings_dropdown_lang:before {
  margin-right: 10px;
}

#settings_dropdown a {
  text-decoration: none;
  display: inline-block;
  width: 100%;
  line-height: 1.2em;
}

#settings_dropdown a:hover {
  background: #EAF6EF;
}

#settings_dropdown .active {
  font-weight: bold;
}

#menu_mobile_trigger {
  display: none;
  position: relative;
}

/* Google JSON Search */

#gcse_wrapper {
  position: absolute;
  left: 50%;
  top: 90px;
  max-width: 80%;
  min-width: 30%;
}

@media only all and (max-width: 950px) {
  #gcse_wrapper {
    top: 40px;
    left: 48.25%;
    max-width: 90%;
    min-width: 70%;
  }
}

@media only all and (max-width: 720px) {
  #gcse_wrapper {
    position: absolute;
    top: 38px;
    left: 0px !important;
    min-width: 100%;
  }

  #gcse_results {
    left: 0px !important;
    border-radius: 0px !important;
    width: 96% !important;
  }

  #gcse_close {
    right: 1em !important;
  }

  #gcse_footer {
    grid-template-columns: 8% 8% 8% 8% 8% 8% 8% 8% 8% 8% !important;
    grid-column-gap: .5em;
  }

  .gcse_page_button {
    width: 2em !important;
    height: 2em !important;
    font-size: 1.4em;
    line-height: 2em !important;
  }

  #topbanner {
    margin-bottom: 1em !important;
  }
}

@media only all and (max-width: 510px) {
  #gcse_close {
    width: 24px !important;
    height: 24px !important;
    right: 1em !important;
    font-size: 1.84em;
  }

  .gcse_page_button {
    width: 1.7em !important;
    height: 1.7em !important;
    font-size: 1em;
    line-height: 1.7em !important;
  }

  #gcse_footer {
    padding-left: 0px !important;
    grid-template-columns: 7% 7% 7% 7% 7% 7% 7% 7% 7% 7% !important;
    grid-column-gap: .5em;
  }

  #gcse_header {
    width: 80%;
  }
}

@media only all and (max-width: 320px) {
  #gcse_header {
    width: 75%;
  }
}

#gcse_results {
  position: relative;
  left: -50%;
  background-color: white;
  z-index: 99;
  border-radius: 9px;
  padding: 1em;
  width: 100%;
}

#gcse_input {
  height: 24px;
  padding: 3px;
  padding-left: 8px;
  border: 0px;
  background-color: #f8f8f8;
  border-radius: 16px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  font-size: 1em;
}

::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #999999;
  opacity: 1;
  /* Firefox */
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #999999;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #999999;
}

#gcse_button {
  height: 30px;
  width: 30px;
  padding: 0px;
  border: 0px;
  background-color: #d1d1d1;
  border-radius: 16px;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  margin-right: .5em;
  place-items: center;
  display: grid;
  cursor: pointer;
}

.gcse_page_button {
  cursor: pointer;
  width: 20px;
  height: 20px;
  border: 1px solid #d1d1d1;
  border-radius: 2px;
  text-align: center;
  display: inline-block;
  color: black;
  line-height: 1.4em;
}

#gcse_close {
  cursor: pointer;
  width: 14px;
  height: 14px;
  background-color: #d1d1d1;
  position: absolute;
  right: 10px;
  top: 10px;
  border-radius: 100%;
  text-align: center;
  color: white;
}

#gcse_footer {
  padding: .6em;
  color: white;
  display: grid;
  grid-template-columns: 24px 24px 24px 24px 24px 24px 24px 24px 24px 24px auto;
  justify-content: center;
}

.gcse_page_button_active {
  background-color: #19609def;
  color: white;
  border: 1px solid #19609def;
}

#gcse_header {
  padding: .6em;
  color: #616161;
}

.gcse_result {
  padding: .6em;
  padding-top: 0px;
}

.gcse_title {
  font-size: 16px;
  color: #19609def;
  text-decoration: underline;
  line-height: 22px;
}

.gcse_url {
  color: #616161;
  padding-top: 3px;
  padding-bottom: 6px;
  font-size: .9em;
}

.gcse_preview {
  display: grid;
  grid-template-columns: 70px auto;
}

.gcse_snippet {
  font-size: .9em;
  align-self: center;
}

.gcse_thumb {
  width: 60px;
  display: inline;
}

.gcse_divider {
  background-color: #f0f0f0;
  border: none;
  margin: .6em 0px;
}

@media only all and (max-width: 950px) {
  #menu_mobile_trigger {
    display: inline-block;
    font-size: 30px;
    color: #fff;
  }

  .header_nav {
    display: none;
  }

  .topnav .logo {
    float: none;
    margin: 0.5em;
    font-size: 2em;
  }

  .header_logo {
    display: none;
  }

  .header_top {
    padding: 2px 4px 5px;
  }
}

/*=== Footer ===*/

#footer {
  overflow: hidden;
  padding: 1em .7em 1em;
  font-size: 14px;
  max-width: 1115px;
}

#footer .footer_group {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  overflow: hidden;
  padding-bottom: 1em;
}

#footer .footer_group>ul {
  list-style: outside none none;
  margin-top: 1em;
}

#footer .footer_group>ul a {
  color: #616161;
  display: block;
  padding: .8em .8em;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 16px;
}

#footer .footer_group>ul a:hover {
  background: linear-gradient(to left, #ffffff55, #ffffff);
}

#footer .footer_group>ul li {
  margin-bottom: .5em;
}

#footer .footer_group>ul li:first-of-type {
  border-bottom: 1px solid #c0c0c0;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  margin-bottom: .5em;
  padding-bottom: .3em;
}

#footer_outer {
  background: linear-gradient(to bottom, #ffffff, #f8f8f8);
  box-shadow: 0 0 30px 0px #e8e8e8;
  border-top: 1px solid #c4cdd133;
}

#footer_outer_lower {
  background: linear-gradient(to bottom, #fefefe, #f8f8f8);
  border-top: 1px solid #c4cdd133;
  height: 80px;
}

#footer_outer #wrapper {
  margin: 0 auto;
  max-width: 1115px;
  min-width: 320px;
}

#footer #footer_misc {
  color: #616161;
  text-align: right;
  align-self: end;
  margin-bottom: .9em;
}

#footer .logo {
  font-size: 2.7em;
}

#footer #footer_misc span a {
  display: block;
  color: #616161;
  text-decoration: none;
  margin-top: .5em;
}

#footer #footer_misc span a:hover {
  text-decoration: underline;
}

.text_blue {
  color: #124673;
}

#sharing_bar {
  display: flex;
  align-items: center;
  justify-content: space-around;
  overflow: hidden;
  padding: 1em 10px 1em;
  max-width: 1115px;
}

@media only all and (max-width: 500px) {
  .follow_us_label {
    display: none;
  }

  #sharing_bar .social_links {
    width: 100%;
    justify-content: space-between;
  }

  .topnav .logo {
    display: none;
  }
}

@media only all and (max-width: 720px) {
  #sharing_bar {
    flex-direction: column;
  }

  #sharing_bar>* {
    margin: 1em;
  }
}

#sharing_bar .social_links {
  display: flex;
  flex-direction: row;
  padding: .5em 1.6em;
  align-items: center;
}

#sharing_bar .social_links>span {
  font-size: 13pt;
  margin-right: .8em;
}

#sharing_bar .social_links a span {
  display: block;
  width: 28px;
  height: 28px;
  filter: grayscale(100%) opacity(.36);
  margin: .5em;
  transition: .2s ease-in-out;
}

#sharing_bar .social_links a span:hover {
  filter: grayscale(0%) opacity(1);
}

#sharing_bar .social_links .fb {
  background-image: url('https://static.meteoblue.com/assets/images/logo/socialmedia/follow/facebook-color.svg');
  filter: grayscale(100%) opacity(.45);
}

#sharing_bar .social_links .tw {
  background-image: url('https://static.meteoblue.com/assets/images/logo/socialmedia/follow/twitter-color.svg'); 
  filter: grayscale(100%) opacity(.54);
}

#sharing_bar .social_links .li {
  background-image: url('https://static.meteoblue.com/assets/images/logo/socialmedia/follow/linkedin-color.svg');
  filter: grayscale(100%) opacity(.36);
}

#sharing_bar .social_links .in {
  background-image: url('https://static.meteoblue.com/assets/images/logo/socialmedia/follow/instagram-color.svg');
  filter: grayscale(100%) opacity(.36);
}

#sharing_bar .social_links .yt {
  background-image: url('https://static.meteoblue.com/assets/images/logo/socialmedia/follow/youtube-color.svg');
  filter: grayscale(100%) opacity(.36);
}

#sharing_bar .swiss_made {
  width: 200px;
}

@media only all and (max-width: 950px) {
  #footer .footer_group {
    text-align: center;
    grid-template-columns: repeat(3, 1fr);
  }

  #footer #footer_misc {
    text-align: center;
  }

  .glyph.menu:before {
    padding-bottom: 3px;
  }

  #sharing_bar .social_links {
    padding: 0;
  }

  #footer .footer_logo {
    position: unset;
    width: 60%;
  }
}

@media only all and (max-width: 500px) {
  #footer .footer_group {
    grid-template-columns: repeat(1, 1fr);
  }
  
  #footer .footer_group>ul a {
    padding: 1em .8em;
  }

  #footer .footer_logo {
    position: unset;
    width: 40%;
    margin: 1em;
  }
}

/*=== Breadcrumbs ===*/

.breadcrumb_outer {
  background-color: #ebebeb;
  border-bottom: 1px solid #dde1e3;
  margin-bottom: 1em;
}

.breadcrumb_wrapper {
  display: grid;
  grid-template-columns: 1fr 250px;
  margin: 0 auto;
  max-width: 1115px;
  min-width: 320px;
  min-height: 40px;
}

@media only all and (max-width: 600px) {
  .breadcrumb_wrapper .group {
    position: absolute;
    right: 3px;
  }
}

.breadcrumb {
  list-style-type: none;
  font-size: 13.6px;
  padding-left: 12px;
}

.breadcrumb > * {
  padding-top: 9px;
}

.breadcrumb a {
  padding: 0px 7px 0px 7px;
}

.breadcrumb a:hover {
  color: #5f5f5f;
}

.breadcrumb span {
  padding-left: 6px;
}

.breadcrumb ol {
  list-style: none;
  margin-bottom: 0;
  padding-left: 9px;
}

.breadcrumb li {
  float: left;
  margin-right: 2em;
}

.breadcrumb a:after {
  color: #929292;
  content: "\00e04e";
  font-family: "meteoblue";
  margin-left: 1.5em;
  position: absolute;
  top: 0;
  right: -24px;
}

.breadcrumb li:first-child a {
  padding-left: 16px;
}

.breadcrumb li:first-child a:before {
  content: "\00e031";
  font-family: meteoblue, sans-serif;
  left: 0;
  margin-top: -1px;
  position: absolute;
  font-size: 8pt;
}

.breadcrumb a,
.is-active {
  color: #929292;
  float: left;
  line-height: 1.8em;
  position: relative;
  text-decoration: none;
}

.breadcrumb a.current:after {
  color: transparent;
  content: "";
  display: none;
}

@media only all and (max-width: 500px) {
  .breadcrumb_outer {
    display: none;
  }
}

/* Old subnav box */

.subnav_box {
  background: linear-gradient(to bottom, #edf4fc, #e5eff8);
  box-shadow: 0 0 5px 0 #12467322;
  border-bottom: 2px solid #dae5ef;
  border-top: 1px solid white;
  position: relative;
  border-radius: 16px;
  padding: 5px;
  margin-bottom: 12px;
}

.subnav_box .image {
  position: absolute;
  bottom: 0;
}

.subnav_box h2,
.subnav_box p,
.subnav_box ul {
  margin: 10px;
}

.subnav_box h2 {
  font-size: 1.5em;
}

@media only all and (max-width: 720px) {
  .subnav_box {
    width: 100%;
    min-height: initial;
    margin-bottom: 1em;
  }

  .subnav_box .image {
    display: none;
  }

  #gcse_wrapper {
    left: 0px !important;
  }

  #gcse_results {
    left: 0px !important;
  }
}

@media only all and (max-width: 1040px) {
  #gcse_input {
    margin-left: 10px;
  }

  .overview_box {
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.08);
    background-color: #ffffff;
    width: 100%;
    margin-bottom: 0 !important;
  }

  .overview_boxes.single_row {
    grid-template-columns: 1fr 1fr;
  }

  .homepage_flexbox {
    justify-content: space-between;
  }

  .homepage_flexbox .homepage_category .overview_box,
  .overview_boxes.single_row {
    width: 100%;
  }

  .homepage_flexbox .homepage_category {
    margin-bottom: 2em;
  }
}

@media only all and (max-width: 940px) {
  .homepage_flexbox .homepage_category {
    width: 100%;
    margin-bottom: 3em;
  }

  .homepage_flexbox .homepage_category .overview_box {
    width: 100%;
  }
}

/* Buttons */

.standard-btn {
  text-align: center;
}

.auto_vertical_margins {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.standard-btn p {
  line-height: 1.35;
}

.standard-btn a {
  box-sizing: border-box;
  min-width: 46px;
  border-radius: 32px;
  display: block;
  padding: 8px 5px;
  font-size: 1.2em;
  text-decoration: none !important;
  transition: .2s;
  box-shadow: 0 1px 3px 0 #12467344;
}

.standard-btn a.table-btn {
  padding: .5em;
}

.btn-main a {
  color: white;
  background: #19609def;
  border: 2px solid white;
}

.btn-main-no-link {
  cursor: pointer;
}

.standard-btn a:hover {
  color: white;
  background: #124673;
}

.btn-sec a {
  background-color: #ffffffbb;
  color: #124673;
  border: 1px solid #124673a0;
}

.short-prev-btn {
  width: 38.445% !important; 
}

.button-group {
  display: flex;
  align-items: center;
  padding: .5em 0;
  border-radius: 5px;
}

@media only all and (max-width: 400px) {
  .button-group {
    flex-direction: column;
    gap: 1em;
  }

  .short-prev-btn {
    width: 100% !important;
  }
}

.table-btn {
  padding: .5em 5px; 
  font-size: 15pt;
  border: 1px solid white;
}

/* Text backdrop card */

.backdrop {
  box-sizing: border-box;
  background: linear-gradient(to bottom, #f5faff, #e5eff8);
  border-radius: 32px;
  padding: 12px 24px 8px;
  box-shadow: 0 0 4px 0 #12467333;
  border-bottom: 2px solid #dae5ef;
  border-top: 1px solid white;
}

/* Contact box */

.contact_box {
  box-sizing: border-box;
  background-color: white;
  border: 1px solid #12467377;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  text-align: center;
  display: flex;
  justify-content: center;
}

.contact_box_inner {
  color: #124673;
  padding: 1em;
}

.contact_box h3 {
  margin-top: 0;
  font-size: 13pt;
}

.contact_box_inner table {
  margin-bottom: 0;
  width: 100%;
}

.contact_box_inner td {
  padding: 5px;
  text-align: left;
  color: #231f20;
}

.contact_box_inner td:first-of-type {
  font-weight: bold;
  text-align: right;
}

@media only all and (max-width: 600px) {
  .contact_box {
    width: 100% !important;
    margin-bottom: 1em;
  }
}

/* Definition grid */

#content .defgrid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 1.2em;
}

#content .defgrid.halfwidth {
  grid-template-columns: repeat(2, 1fr);
  row-gap: 1em;
}

@media only all and (max-width: 800px) {
  #content .defgrid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media only all and (max-width: 420px) {
  #content .defgrid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  #content .defgrid.halfwidth {
    grid-template-columns: 1fr;
  }
}

#content .defgrid ul {
  padding: 0px;
  width: 100%;
  margin-left: 0;
  box-sizing: border-box;
}

#content .defgrid ul li {
  padding: .4em 1em;
  margin: 0px;
}

#content .defgrid ul li:nth-child(even) {
  background: #e8f1f9;
}

#content .defgrid ul li:nth-child(odd) {
  background-color: white;
}

#content .defgrid ul li:last-child {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  border-bottom: 2px solid #12467320;
}

#content .defgrid a {
  display: inline-block;
  width: 100%;
  text-align: center;
  background-color: #19609d;
  color: white;
  text-decoration: underline;
  padding: .5em 1em;
  box-sizing: border-box;
  border-radius: 12px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  transition: .2s;
}

#content .defgrid span {
  display: inline-block;
  width: 100%;
  text-align: center;
  background-color: #19609def;
  color: white;
  text-decoration: none;
  padding: .5em 1em;
  box-sizing: border-box;
  border-radius: 12px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

#content .defgrid a:hover {
  background-color: #19609def;
}

/* Flexlist */

#content .flexlist {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: .7rem;
  margin-bottom: 2em;
}

#content .flexlist p {
  padding: .35rem .35rem;
  text-align: center;
  flex-basis: 31%;
  border: 2px solid white;
  box-sizing: border-box;
  background-color: white;
  margin-bottom: 0px;
  border-radius: 32px;
  box-shadow: 0 0 4px 0 #12467333;
}

@media only all and (max-width: 1076px) {
  #content .flexlist p {
    flex-basis: 47.25%;
  }
}

@media only all and (max-width: 740px) {
  #content .flexlist {
    justify-content: space-around;
  }

  #content .flexlist p {
    flex-basis: 96%;
  }
}

/*=== Lightbox images (DO NOT implement these manually, use lb_zoom instead) ===*/

a.zoom_or_link_image {
  position: relative;
  display: block;
}

a.zoom_or_link_image span.zoom-icon {
  background-image: url('/assets/images/magnifier_big.png');
  background-size: 35px;
  position: absolute;
  right: 5px;
  bottom: 8px;
  background-repeat: no-repeat;
  background-position: center;
  height: 45px;
  width: 30px;
  transition: width 0.4s, height 0.4s, background-size 0.4s;
}

a.zoom_or_link_image:hover span.zoom-icon,
a.zoom_or_link_image:active span.zoom-icon,
a.zoom_or_link_image:focus span.zoom-icon {
  background-size: 59px;
  height: 80px;
  width: 70px;
}

a.zoom_or_link_image span.link-icon {
  background-image: url('/assets/images/link-hand_big.png');
  background-size: 35px;
  position: absolute;
  right: 5px;
  bottom: 8px;
  background-repeat: no-repeat;
  background-position: center;
  height: 50px;
  width: 40px;
  transition: width 0.4s, height 0.4s, background-size 0.4s;
}

a.zoom_or_link_image:hover span.link-icon,
a.zoom_or_link_image:active span.link-icon,
a.zoom_or_link_image:focus span.link-icon {
  background-image: url('/assets/images/link-hand_big.png');
  background-size: 47px;
  height: 100px;
  width: 90px;
}

/*=== Product Overview ===*/

h1.products_topbanner_heading,
p.products_topbanner_heading {
  position: absolute;
  bottom: 3px;
  color: #fff;
  padding: 4.5px 15px;
  margin: 0 0 2px 0;
  background-color: #19609def;
  border-top-right-radius: 16px;
  border-bottom-left-radius: 16px;
  font-size: 2em;
  font-weight: normal;
  line-height: 1.3em;
}

@media only all and (max-width: 400px) {
  #content #topbanner img {
    border-bottom-left-radius: 0px
  }

  h1.products_topbanner_heading,
  p.products_topbanner_heading {
    font-size: 1.8em;
    position: relative;
    top: -5px;
    border-top: 1px solid #f8f8f8;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 16px;
  }
}

/* Misc */

.size_14 {
  font-size: 14pt;
}

.nodisplay {
  display: none !important;
}

.parent a::before {
  content: "+";
  margin-right: 5px;
}

/* GDPR (DSGVO) privacy modal */

.gdpr_message {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 99999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  overflow: auto;
  box-sizing: content-box;
  font-size: 1.15em;
  line-height: 1.35em;
}

.gdpr_logo {
  width: 220px;
  margin-bottom: 30px;
}

.gdpr_content {
  padding: 2em 2.5em;
  background-color: #f8f8f8;
  background-image: url('/assets/images/consent_dialogue_background.svg');
  background-repeat: no-repeat;
  background-position: top;
  min-width: 200px;
  width: 90vw;
  max-width: 600px;
  overflow: auto;
  box-shadow: 2px 2px 19px rgba(0, 0, 0, 0.67);
}

.gdpr_title {
  font-size: 2em;
}

@media only screen and (max-width:840px) {
  .gdpr_title {
    font-size: 1.5em;
  }
}

.gdpr_content .custom-button {
  padding: .6em 1.2em;
  border: none;
  cursor: pointer;
}

.button_settings {
  display: inline-block;
  margin-top: 2em;
  margin-left: 0.5em;
  text-decoration: none;
  white-space: nowrap;
  font-size: 1.2em;
}

.button_settings .glyph::before {
  vertical-align: initial;
}

.nowrap {
  white-space: nowrap;
  overflow: hidden;
}

/* Carousels */

#content .carousel_wrapper, #logo_carousel_wrapper {
  padding: 0 0 1em;
  position: relative;
  overflow: hidden;
  width: 100%;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  margin-top: 2em;
}

#content .carousel_boxes, #logo_carousel_boxes {
  width: 85%;
  background-color: transparent;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}

#content .mbfacts_box {
  width: 100%;
}

#content .mbfacts_box .testimonial_content {
  grid-template-columns: 23.1% 1fr;
}

#content .carousel_boxes.image_carousel_boxes {
  height: unset !important;
  line-height: 0 !important;
  scroll-snap-type: x mandatory;
}

.carousel_img {
  margin-bottom: 0;
}

#content .carousel_box {
  box-sizing: border-box;
  height: 300px;
  width: calc(25% - 8px);
  margin: 4px;
  flex-grow: 0;
  flex-shrink: 0;
  border-radius: 16px;
  display: inline-block;
  text-align: center;
  white-space: normal;
}

#content .carousel_3 {
  scroll-snap-type: x mandatory;
}

#content .carousel_3>li {
  scroll-snap-align: center;
}

#content .carousel_box.narrow {
  width: calc(33.3% - 8px);
}

#logo_carousel_wrapper .lt5 {
  display: none;
}

.carousel_btn a {
  box-shadow: none;
  font-size: 11pt;
}

@media only all and (max-width: 920px) {
  #content .carousel_box {
    width: calc(33.3% - 8px);
  }

  #content .carousel_btn {
    font-size: 1.6vw;
  }

  #logo_carousel_wrapper .lt5 {
    display: block;
  }

  #logo_carousel_wrapper .lt4 {
    display: none;
  }
}

@media only all and (max-width: 800px) {
  #content .box_content .carousel_btn {
    font-size: 1.7vw;
  }
}

@media only all and (max-width: 700px) {
  #content #carousel_boxes {
    height: 370px;
  }

  #content .carousel_box.testimonial_box {
    height: 100%;
  }  

  #content .testimonial_boxes_sm .carousel_box.testimonial_box.testimonial_box_sm {
    height: unset;
  }

  #content .testimonial_comment {
    height: 339px;
    grid-template-rows: 80% 20%;
  }

  #content .testimonial_box_sm .testimonial_comment {
    height: 215px;
    grid-template-rows: 180px 35px;
  }

  #content .carousel_box, #content .carousel_box.narrow {
    width: calc(50% - 8px);
  }

  #content .carousel_3>li {
    scroll-snap-align: none;
  }

  #logo_carousel_wrapper .lt4 {
    display: block;
  }

  #logo_carousel_wrapper .lt3 {
    display: none;
  }

  #content .box_content {
    height: 60%;
  }

  #content .box_content .box_heading {
    font-size: 3vw;
  }

  #content .box_content .box_text {
    height: 40px;
  }

  #content .box_content .standard-btn {
    font-size: 9pt;
  }

  #content .testimonial_info .testimonial_img_frame {
    width: 90px;
    height: 90px;
  }
}

@media only all and (max-width: 600px) {
  #content .testimonial_boxes {
    height: 430px !important;
  }

  #content .testimonial_content {
    grid-template-columns: 100%;
    grid-template-rows: 130px 1fr;
  }


  #content .mbfacts_box .testimonial_content {
    grid-template-columns: 100%;
  }


  .testimonial_img_frame {
    float: left;
    margin-left: 1em !important;
    margin-right: 1em !important;
  }

  #content .testimonial_info {
    border-bottom-left-radius: 0;
    border-top-right-radius: 8px;
  }

  #content .testimonial_comment {
    box-shadow: unset;
    height: 280px;
    grid-template-rows: 75% 25%;
  }

  #content .testimonial_box_sm .testimonial_content {
    grid-template-columns: 100%;
    grid-template-rows: 180px 35px;
  }

  #content .testimonial_boxes_sm {
    height: 235px !important;
  }

  #content .testimonial_box_sm .testimonial_comment {
    height: 215px;
    grid-template-rows: 1fr 35px;
  }

  #content .testimonial_comment .comment_centered {
    margin-top: 0;
  }

  .testimonial_info p {
    text-align: left;
  }

  .testimonial_name {
    margin-top: 14px;
  }
}

@media only all and (max-width: 530px) {
  #content #carousel_boxes.narrow {
    height: 340px;
    width: 70%;
  }

  #content .carousel_box.narrow {
    width: calc(100% - 8px);
    height: 330px;
  }

  #content #carousel_wrapper {
    padding: .5em;
    width: 95%;
  }

  #content .carousel_arrow {
    width: 15%;
    padding: 0;
  }

  #content .box_content .box_text {
    margin-bottom: 2em;
  }

  #content .carousel_box.narrow .box_content .box_heading {
    font-size: 4vw;
  }

  #content #carousel_boxes.testimonial_boxes_sm {
    height: 260px !important;
  }

  #content .testimonial_box_sm .testimonial_content {
    grid-template-columns: 100%;
    grid-template-rows: 200px 35px;
  }

  #content .testimonial_box_sm .testimonial_comment {
    height: 235px !important;
  }

  .testimonial_credit {
    font-size: 9pt;
  }
}

@media only all and (max-width: 480px) {
  #content #carousel_wrapper {
    padding: 0 !important;
    width: unset !important;
  }

  .testimonial_name {
    font-size: 12pt !important;
    margin-top: 0;
  }

  .testimonial_position {
    font-size: 11pt !important;
    margin-bottom: 0 !important;
  }

  .testimonial_company {
    font-size: 11pt !important;
  }
  
  #content .testimonial_comment {
    height: 330px !important;
    grid-template-rows: 75% 25%;
  }

  #content .testimonial_boxes {
    height: 480px !important;
  }
}

@media only all and (max-width: 420px) {
  #content .testimonial_comment {
    height: 400px !important;
  }

  #content .testimonial_boxes {
    height: 550px !important;
  }

  #content #carousel_boxes.testimonial_boxes_sm {
    height: 340px !important;
  }

  #content .testimonial_box_sm .testimonial_content {
    grid-template-columns: 100%;
    grid-template-rows: 280px 35px;
  }

  #content .testimonial_box_sm .testimonial_comment {
    height: 315px !important;
  }
}

@media only all and (max-width: 400px) {
  #content .box_content .box_heading {
    font-size: 4vw;
  }

  #content .carousel_box, #content .carousel_box.narrow {
    width: calc(100% - 8px);
  }

  #content .box_content, #content #carousel_boxes.narrow .box_content {
    height: 55%;
  }

  #content #carousel_wrapper {
    padding: 2em;
  }

  #content #carousel_wrapper.narrow {
    padding: 0;
  }

  #content .carousel_arrow, #content #carousel_boxes.narrow .carousel_arrow {
    width: 15%;
    padding: 0;
  }

  #content .carousel_box .standard-btn, .carousel_box.narrow .standard-btn {
    width: 80%;
  }
}

#content .carousel_box.box_red {
  background: linear-gradient(to top, #eb3b60, #e35d68);
}

#content .btn_red a {
  color: #eb3b60;
  border: 1px solid #eb3b60;
}

#content .btn_red a:hover {
  color: white;
  background: linear-gradient(to top, #eb3b60, #e35d68);
}

#content .carousel_box.box_yellow {
  background: linear-gradient(to top, #edc31f, #fbcc4c);
}

#content .btn_yellow a {
  color: #edc31f;
  border: 1px solid #edc31f;
}

#content .btn_yellow a:hover {
  color: white;
  background: linear-gradient(to top, #edc31f, #fbcc4c);
}

#content .carousel_box.box_green {
  background: linear-gradient(to top, #57ac61, #5b9c5b);
}

#content .btn_green a {
  color: #57ac61;
  border: 1px solid #57ac61;
}

#content .btn_green a:hover {
  color: white;
  background: linear-gradient(to top, #57ac61, #5b9c5b);
}

#content .carousel_box.box_teal {
  background: linear-gradient(to top, #14a6aa, #54abb1);
}

#content .btn_teal a {
  color: #14a6aa;
  border: 1px solid #14a6aa;
}

#content .btn_teal a:hover {
  color: white;
  background: linear-gradient(to top, #14a6aa, #54abb1);
}

#content .carousel_box.box_blue {
  background: linear-gradient(to top, #26679f, #2485cb);
}

#content .btn_blue a {
  color: #26679f;
  border: 1px solid #26679f;
}

#content .btn_blue a:hover {
  color: white;
  background: linear-gradient(to top, #26679f, #2485cb);
}

#content .carousel_box.box_magenta {
  background: linear-gradient(to top, #f146a2, #f23f9c);
}

#content .btn_magenta a {
  color: #f146a2;
  border: 1px solid #f146a2;
}

#content .btn_magenta a:hover {
  color: white;
  background: linear-gradient(to top, #f146a2, #f23f9c);
}

#content .carousel_box .box_img {
  filter: drop-shadow(0px 2px 0px #00000055);
}

#content .carousel_arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  cursor: pointer;
  width: 5%;
  color: #124673;
  font-size: 50pt;
  border: 0;
  background-color: transparent;
  margin: 0;
  padding-bottom: 28px;
}

#content .arrow_l, #content #logo_arrow_l {
  left: 0;
}

#content .arrow_l::before, #content #logo_arrow_l::before {
  content: "‹";
}

#content .arrow_r, #content #logo_arrow_r {
  right: 0;
}

#content .arrow_r::after, #content #logo_arrow_r::after {
  content: "›";
}

#content .box_content {
  background-color: white;
  width: 100%;
  height: 64%;
}

#content .box_heading {
  padding: 8% .5em 4%;
  margin-bottom: 0;
  font-size: 16pt;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-right: 5px;
}

@media only all and (min-width: 1051px) {
  #content .box_heading_sm {
    font-size: 12pt;
  }
}

@media only all and (max-width: 1050px) {
  #content .box_heading {
    font-size: 1.7vw;
  }

  #content .box_heading_sm {
    font-size: 1.5vw;
  }
}

@media only all and (max-width: 975px) {
  #content .carousel_btn {
    font-size: 1.4vw;
  }
}

@media only all and (max-width: 890px) {
  #content .box_heading {
    font-size: 2vw;
  }

  .category_forecast,
  .category_maps,
  .category_climate,
  .category_apis {
    margin-bottom: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  .category_image {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .homepage_category {
    grid-template-columns: unset;
    grid-template-rows: 1fr 1fr;
    grid-template-areas: 
      "top"
      "bottom";
    gap: 1em;
    margin-bottom: 1em !important;
  }

  .forecast_image,
  .maps_image,
  .climate_image,
  .apis_image {
    grid-area: top;
  }

  .forecast_text,
  .maps_text,
  .climate_text,
  .apis_text {
    grid-area: bottom;
  }
}

#content .box_text {
  padding: 0 1em;
  line-height: 1.5;
  height: 55px;
  hyphens: manual;
  text-overflow: ellipsis;
}

#content .box_img {
  margin: 6% 0;
  width: 25%;
}

/* Logo Carousel */

#content .logo_carousel_wrapper .logo_carousel_boxes {
  display: inline-block;
  height: 120px;
  padding-left: 0;
}

.carousel_logo {
  padding: 8px;
}

#content div.carousel_logo a img.logo_img {
  max-width: 140px;
  max-height: 100px;
  vertical-align: middle;
}

#content div.carousel_logo img.logo_img {
  max-width: 140px;
  max-height: 100px;
  vertical-align: middle;
}

#logo_carousel_wrapper .logo_carousel_boxes li.carousel_box.logo_carousel_box {
  box-shadow: none;
  scroll-snap-align: start;
}

/* Testimonials */

#content #carousel_boxes.testimonial_boxes {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  scroll-snap-type: x mandatory;
}

#content #carousel_boxes.testimonial_boxes_sm {
  height: 235px;
}

#content .carousel_box.testimonial_box {
  background: none;
  width: calc(100% - 8px);
  scroll-snap-align: center;
  height: unset;
}

#content .testimonial_boxes_sm .testimonial_box {
  box-shadow: none;
  scroll-snap-align: center;
}

.testimonial_content {
  display: grid;
  grid-template-columns: 2fr 5fr;
  border-radius: 16px;
  border: 4px solid white;
  box-shadow: 0 0 4px 0 #12467333;
}

.testimonial_boxes_sm .testimonial_content {
  grid-template-columns: 1fr;
}

.testimonial_img_frame {
  width: 120px;
  height: 120px;
  border: 4px solid white;
  border-radius: 100%;
  box-shadow: 0 2px 7px 0 #12467344;
  margin: 0 auto 8px;
}

.testimonial_img {
  border-radius: 100%;
  vertical-align: middle;
}

.testimonial_info {
  padding-top: 1em;
  display: inline-block;
  text-align: center;
  width: 100%;
  background: linear-gradient(to bottom, #19609d, #124673);
  color: white;
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}

.testimonial_name {
  font-size: 14pt;
  line-height: 1.2;
  margin-bottom: 6px;
  padding: 0 1em;
}

.testimonial_position {
  color: #649ac9;
  font-size: 12pt;
  line-height: 1;
  margin-bottom: 6px;
  padding: 0 1em;
}

.testimonial_company {
  font-size: 12pt;
  margin-bottom: 0;
  line-height: 1.2;
  padding: 4px;
}

.testimonial_comment {
  display: grid;
  grid-template-rows: 75% 25%;
  font-size: 15pt;
  line-height: 1.5;
  background-color: white;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  color: #231f20;
  box-shadow: inset 7px 0 9px -9px #124673;
}

.lightblue {
  color: #649ac9;
}

.testimonial_boxes_sm .testimonial_comment {
  box-shadow: none;
  font-size: 12pt;
  text-align: left;
  padding-bottom: 0;
  display: grid;
  height: 215px;
  grid-template-rows: 180px 35px;
}

.testimonial_boxes_sm .comment_wrapper {
  font-size: 0;
}

.testimonial_boxes_sm .comment_wrapper:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.comment_wrapper_lg {
  height: 173px;
  line-height: 173px;
}

.comment_centered {
  font-size: 12pt;
  display: inline-block;
  vertical-align: middle;
  line-height: 18pt;
}

.testimonial_credit {
  text-align: right;
  color: white;
  padding: 5px 1em;
  border-bottom-right-radius: 12px;
  border-bottom-left-radius: 12px;
  background: linear-gradient(to bottom, #19609d, #124673);
}

.testimonial_comment b {
  color: #0a3c68;
}

.testimonial_comment div:first-of-type {
  margin: 1em;
}

#content .testimonial_comment .testimonial_logo {
  max-height: 40px;
  max-width: 200px;
}

#content .logo_wrapper {
  box-sizing: content-box;
  height: 71px;
  text-align: center;
}

#content .logo_wrapper .spacer {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

#content .logo_wrapper img {
  vertical-align: middle;
}

/* Contact form */

.contact_wrapper {
  margin: 3em;
  position: fixed;
  background-color: #f8f8f8;
  padding: 1em 2em 3.5em 2em;
  border-radius: 8px;
  width: 80%;
  max-width: 800px;
  max-height: 80%;
  overflow-y: auto;
}

.contact_message {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 99999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  overflow: auto;
  box-sizing: content-box;
  font-size: 1.15em;
  line-height: 1.35em;
}

.contact_close {
  position: fixed;
  cursor: pointer;
  width: 14px;
  height: 14px;
  background-color: #d1d1d1;
  border-radius: 100%;
  text-align: center;
  color: white;
  line-height: 1;
  display: inline-block;
  margin-left: 8px;
}

.contact_wrapper label {
  margin: .2em 0;
  line-height: 1.7;
  display: block;
  font-size: 19px;
}

.contact_wrapper .input, 
.contact_wrapper .message-area {
  font-family: Arial, 'Lucida Sans Unicode', sans-serif;
  box-sizing: border-box;
  width: 99%; /* Otherwise the border is cut off */
  height: 32px;
  border-radius: 5px;
  border: 1px solid #c0c0c0;
  padding: .4em;
  margin-bottom: 1em;
  margin-left: 0.2em;  /* Otherwise the border is cut off */
}

.contact_wrapper .message-area {
  height: 64px;
  resize: vertical;
}

.contact_wrapper .input#type {
  height: 40px;
}

.contact_wrapper fieldset {
  margin-bottom: 1em;
}

#other_type_div {
  margin-top: 1em;
}

#products_div {
  margin-top: 1em;
}

.contact_wrapper .btn-submit {
  border: none;
  box-sizing: border-box;
  min-height: 32px;
  border-radius: 5px;
  display: block;
  padding: 0.3em 1em;
  font-size: 1.2em;
  transition: .2s;
  color: white;
  background: #19609def;
}

.contact_wrapper .btn-submit:hover {
  color: white;
  background: #124673;
  cursor: pointer;
}

.contact_wrapper .btn-submit:disabled {
  cursor: not-allowed;
  transition: unset;
}

.contact_wrapper .text {
  font-size: 14px;
}

.contact_wrapper .checkbox-label {
  grid-area: label;
  margin-left: 4px;
}

.contact_wrapper .checkbox-check {
  grid-area: check;
}

.contact_wrapper .checkbox-div {
  display: grid;
  grid-template-areas: "check label";
  grid-template-columns: 21px 1fr;
}

.contact_wrapper .last-element {
  margin-bottom: 2em;
}

/* Research form */

.contact_wrapper .daterange-box {
  display: grid;
  grid-template-areas: "startt minus endd";
  grid-template-columns: 1fr 2.5em 1fr;
  margin-bottom: 1em;
}

.contact_wrapper .daterange-box input {
  border-radius: 5px;
  font-family: Arial, 'Lucida Sans Unicode', sans-serif;
  box-sizing: border-box;
  height: 32px;
  border: 1px solid #c0c0c0;
  padding: .4em;
  margin-bottom: 1em;
}

.contact_wrapper .daterange-start {
  grid-area: startt;
}

.contact_wrapper .daterange-end {
  grid-area: endd;
}

.contact_wrapper .daterange-minus {
  padding-left: 1em;
  padding-right: 1em;
  text-align: center;
  margin-bottom: unset;
  grid-area: minus;
}

/* Timeline */

table.timeline td {
  padding: 4px;
}

table.timeline tr:nth-child(even) td:first-child {
  height: 10px;
  border-right: 1px solid #124673;
  width: 25px;
}

table.timeline tr:nth-child(even) td:nth-child(2) {
  width: 25px;
  border-left: 2px solid #185082;
}

table.timeline tr:nth-child(odd) td:first-child {
  color: white;
  font-size: 12pt;
  background: linear-gradient(to bottom, #19609def, #164b7aef);
  font-weight: bold;
  border-bottom: 2px solid #0b3962;
  border-top-left-radius: 32px;
  border-bottom-left-radius: 32px;
  text-align: center;
  vertical-align: middle;
  height: 40px;
}

table.timeline tr:nth-child(odd) {
  cursor: pointer;
}

table.timeline tr:nth-child(odd):hover td:first-child {
  background: linear-gradient(to bottom, #1f69a9ef, #174d7def);
}

table.timeline tr:nth-child(odd) td:nth-child(2) {
  vertical-align: middle;
  padding-left: 1em;
  padding-right: 1em;
  background: linear-gradient(to bottom, #eff3f7, #e7eef4);
  border-bottom: 2px solid #dae5ef;
  border-left: none;
  border-bottom-right-radius: 32px;
  border-top-right-radius: 32px;
}

table.timeline tr:nth-child(odd):hover td:nth-child(2) {
  background: linear-gradient(to bottom, #f1f4f7, #edf2f7);
  border-bottom: 2px solid #dfe9f2;
}

table.timeline tr:last-child td {
  border: none !important;
}

table.timeline span {
  color: #19609d;
}

/* Dynamic YouTube iframe */

.yt_container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.yt_container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Apps Page */

.app_badge_container {
  text-align: center;
}

.app_badge {
  display: inline-block;
  margin: 5px 5px;
  padding: 5px;
  height: 45px;
}

.app_button_container {
  display: flex; 
  justify-content: left; 
  padding-left: 6px;
}

.app_button {
  width: 80px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background: #19609def;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: none;
  cursor: pointer;
  margin-right: 3px;
  padding: .4em .8em;
}

.app_button a {
  padding: 5px 0 5px 0;
  text-align: center;
  font-weight: bold;
  color: #ffffff60;
}

.active_tab a {
  color: white;
}

.app_button a:hover {
  color: white;
}

.app_carousel_card {
  border-radius: 12px;
  border: 4px solid white;
  box-shadow: 0 2px 7px 0 #12467344;
  width: 97.5%;
  margin-bottom: 0;
  margin: auto;
  border-top-left-radius: 0px;
  z-index: 2;
  background-color: white;
}

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

.no_bottom_radius {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.no_top_radius {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.top_radius_large {
  border-top-left-radius: 16px !important;
  border-top-right-radius: 16px !important;
}

/* Bug Bounty page */

.reward_table {
  font-size: 14pt;
  margin: 1em auto;
}

.reward_table td {
  padding: .5em .7em;
}

.reward_table td:nth-child(odd) {
  font-weight: bold;
  color: #124673;
}

.reward_table td:nth-child(even) {
  text-align: right;
}

/* meteoblue in the press */

.press_entry div {
  margin-bottom: 3em;
}

/* Links */

.file_download {
  background-image: url('/assets/images/graphics/page_white_put.png');
  padding-left: 21px;
  background-repeat: no-repeat;
}

.pdf_download {
  background-image: url('/assets/images/graphics/download-pdf_rss.png');
  padding-left: 21px;
  background-repeat: no-repeat;
  background-size: 18px;
}

.pdf_download.large {
  background-size: 24px;
  padding-left: 30px;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body .anchor {
  text-decoration: none;
}

.flex_first {
  order: 1;
}

.flex_second {
  order: 2;
}

/* Product expert element */

@media only all and (max-width: 1150px) {
  .expert_wrapper {
    min-height: auto !important;
  }
}

@media only all and (max-width: 700px) {
  .expert_wrapper {
    grid-template-columns: 1fr !important;
    gap: 0 m !important;
  }

  .expert_img {
    width: 175px;
    margin-left: 3em !important;
    margin-bottom: -19em;
  }

  .expert_text {
    min-height: 400px;
    left: 0 !important;
    padding: 1.5em !important;
    box-sizing: border-box !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 2fr 1fr 1fr !important;
    grid-template-areas:
      ". info"
      "text text"
      "contact contact";
  }

  .expert_intro {
    grid-area: text !important;
  }

  .expert_intro>p {
    margin: 1em !important;
  }

  .expert_expert {
    grid-area: info !important;
  }

  .expert_contact {
    display: flex;
    justify-content: center;
    height: unset !important;
    grid-area: contact !important;
  }

  .expert_contact>div {
    margin: 0 !important;
    width: 70% !important;
    flex-grow: 0;
  }
}

@media only all and (max-width: 550px) {
  .expert_wrapper {
    justify-items: center;
  }

  .expert_text {
    grid-template-rows: 120px auto auto auto !important;
    grid-template-areas:
      ". ."
      "info info"
      "text text"
      "contact contact";
  }

  .expert_img {
    width: 175px;
    margin-left: 0 !important;
    margin-bottom: -10em !important;
  }

  .expert_expert {
    text-align: center;
  }

  .expert_contact>div {
    width: 100% !important;
  }
}

.expert_wrapper {
  display: grid;
  grid-template-columns: 23.1% 1fr;
  gap: 2.7%;
  margin-right: 4px;
  align-items: center;
}

#content img.expert_img {
  border-radius: 100%;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.08);
  border: 4px solid white;
  box-sizing: border-box;
  z-index: 2;
  margin-left: 4px;
}

.expert_text {
  display: grid;
  grid-template-columns: 1fr 40%;
  gap: .5em;
  position: relative;
  left: calc(-20% - 4px);
  width: 100%;
  height: 90%;
  padding-left: 20.6%;
  text-align: left;
  background-color: #fcfcfc;
  box-shadow: 0 0 4px 0 #12467333;
  box-sizing: content-box;
  border-radius: 16px;
  padding-top: .5em;
  padding-bottom: .5em;
}  

.expert_intro {
  margin-top: auto;
  grid-column-start: 1;
  grid-column-end: 3;
}

.expert_intro p {
  margin: .5em 1em auto 0;
}

.expert_text>div {
  width: 100%;
}

.expert_contact {
  height: 100%;
  display: flex;
}

.expert_name {
  font-size: 1.3em;
  color: #124673;
  line-height: 1em;
}

.expert_flags {
  margin-top: .2em;
  margin-bottom: 0;
}

.expert_flag {
  height: 16px;
  margin-right: 4px;
  margin-top: .5em;
  box-shadow: 0 0px 3px 0 rgba(0, 0, 0, .3);
  border-radius: 3px;
}

.expert_btn {
  align-self: end;
  flex-grow: 1;
  z-index: 2;
}

/* Team page */

#loading_spinner {
  width: 100%;
  text-align: center;
  margin: 4em 0;
}

.team_cards, .static_cards {
  display: grid;
  grid-template-columns: 33.33% 33.33% 33.33%;
  padding-top: 150px;
  row-gap: 100px;
}

.team_card, .static_card {
  opacity: 0;
  position: relative;
  display: flex;
  justify-content: center;
  text-align: center;
  height: 195px;
  width: 255px;
  padding-top: 90px;
  border: 2px solid white;
  border-radius: 12px;
  margin: 1em;
  box-sizing: border-box;
  background-color: #fcfcfc;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.08);
  transition: .2s;
}

.static_card.card_long {
  height: 215px;
}

#content .static_card {
  opacity: 100;
}

@media only all and (max-width: 1120px) {
  #content .team_cards, #content .static_cards {
      grid-template-columns: 49.9% 49.9%;
  }

  #content .team_card, #content .static_card {
      width: 90%;
      justify-self: center;
      margin-bottom: 3em;
  }
}

@media only all and (max-width: 580px) {
  #content .team_cards, #content .static_cards {
    grid-template-columns: 100%;
  }

  #content .team_card, #content .static_card {
    width: 80%;
  }
}

.animate_card {
  animation: visible .5s forwards;
}

@keyframes visible {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}

.text_card {
  height: unset;
  max-height: 315px;
  overflow: hidden;
  text-overflow: ellipsis;
  border: 2px solid white;
  border-radius: 12px;
  margin: 1em;
  margin-top: -105px;
  padding: 2em;
  box-sizing: border-box;
  background-color: #fcfcfc;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.08);
}

.team_img_wrapper {
  position: absolute;
  width: 210px;
  height: 210px;
  top: -120px;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  padding: 5px;
  transition: all 0.1s ease-in-out;
}

.team_img_wrapper:hover {
  top: -130px;
  width: 235px;
  height: 235px;
}

.team_img_wrapper .img_1 {
  opacity: 0;
}

.team_img_wrapper:hover .img_0 {
  display: none;
}

.team_img_wrapper:hover .img_1 {
  opacity: 1;
  transform: scale(1.035);
}

.team_img_wrapper img {
  border-radius: 100%;
}

.no_top_radii:hover img {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.team_info {
  margin-top: 8px;
  text-align: center;
  font-size: 13pt;
  margin-bottom: 0px;
}

.team_name {
  margin: 0;
  margin-top: 1em;
}

.team_position, .secondary_title {
  margin: 0;
  font-size: 11pt;
}

/* Misc */ 

.img_shadow {
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.12);
}

.left-margin-minor {
  margin-left: 4px;
}

.banner_container {
  width: 100%;
  text-align: center;
  height: 290px;
  margin-bottom: 3em;
}

.info_banner {
  box-shadow: 0 1px 3px 0 #12467344;
  border-radius: 15px;
  width: 97%;
  transition: .2s ease-in-out;
  margin-top: 2em;
}

.info_banner:hover {
  width: 100%;
  box-shadow: 0 3px 6px 0 #12467344;
  margin-top: 1.7em;
}

/* CC */

.cc_cities_wrapper {
  display: grid; 
  grid-template-columns: 3fr 2fr; 
  gap: 10px;
}

@media only all and (max-width: 700px) {
  .cc_cities_wrapper {
    grid-template-columns: 1fr;
  }

  .cc_cities_wrapper .cc_funding_wrapper {
    margin: 1em 2em;
    grid-template-columns: 1fr;
    text-align: center;
  }

  .cc_cities_wrapper .cc_funding_wrapper p {
    margin-top: 0;
  }

  .cc_funding_wrapper img {
    display: none;
  }
}

.cc_cities_wrapper .cc_cities {
  display: grid; 
  grid-template-columns: 1fr 1fr 1fr; 
  gap: 10px;
}

.cc_cities_wrapper .cc_cities img {
  border-radius: 6px;
  cursor: pointer;
  display: block;
  height: 6em;
  width: 9.5em;
  margin: auto;
  object-fit: cover;
  transition: .4s;
}

.cc_tile a {
  text-decoration: none;
}

.cc_tile h4 {
  text-align: center;
  margin: 0 0 0.6em 0;
}

.cc_funding_wrapper {
  display: grid;
  grid-template-columns: 4fr 1fr;
  gap: 1em;
  font-size: smaller;
  color: grey;
}

.cc_funding_wrapper p {
  margin: 2.4em 0 0 0;
}

.box_single_btn {
  width: 100px !important;
}

.flip_x {
  transform: scaleX(-1);
}

/* Collapsible */

.collapsibleElement {
  cursor: pointer;
  width: 100%;
}

.collapsibleActive, .collapsibleElement:hover {
  background-color: #ccc;
}

.collapsibleContent {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

/* Lightbox video */

.lightbox .lb-outerContainer .yt-frame {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  padding-bottom: 57%;
  height: 0;
  opacity: 1;
  transition: opacity 300ms ease-in-out;
  border: none;
  outline: none;
  border-radius: 12px;

}

.yt-frame iframe {
  border-radius: 12px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.lightbox .lb-outerContainer {
  border-radius: 12px;
}

.lightbox .lb-outerContainer video:hover, .lightbox .lb-outerContainer video:focus {
  border: none;
  outline: none;
}

.lightbox .lb-outerContainer.animating video {
  opacity: 0;
}

.lightbox .lb-container {
  position: relative;
}

.lightbox .lb-container .lb-image {
  border: none;
}
.backdrop_boxes .overview_box {
  box-shadow: 0 2px 4px 2px #12467344;
}

.temp_note {
  color: #99223355; 
  font-weight: bold;
  display: none;
}

#content img.circle_border {
  border-radius: 100%;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.08);
  border: 4px solid white;
  box-sizing: border-box;
  z-index: 2;
  margin-left: 4px;
}

.footer_logo {
  position: relative;
  right: -5px;
  width: 90%;
}

/* Climate Protection Strategy */

.certificate_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-items: center;
  align-content: center;
  justify-content: center;
  gap: 3em;
}

.sdg_icons {
  margin: 5px;
  font-size: 0;
}

.sdg_icons img {
  width: 18%;
  margin: 2px;
}

@media only screen and (max-width: 700px) {
  .climate_project_img {
    width: 50%;
  }

  .certificate_grid {
    grid-template-columns: 1fr 1fr;
  }

  .sdg_icons img {
    width: 23%;
  }
}

@media only screen and (max-width: 400px) {
  .climate_project_img {
    width: 100%;
  }

  .certificate_grid {
    grid-template-columns: 1fr;
  }

  .sdg_icons {
    align-self: flex-start;
  }

  .sdg_icons img {
    width: 40%;
  }
}

sub.normal_height {
  vertical-align: baseline;
  font-size: smaller;
}

.heading_icon {
  margin-right: 10px;
  width: 24px;
  filter: invert(20%) sepia(31%) saturate(3093%) hue-rotate(185deg) brightness(90%) contrast(90%);
}

/* Admonitions */

.admonition_wrapper {
  background-color: #ffd22b29;
  padding: 1em;
  border-radius: 12px;
  border-left: 5px solid #ffd22b;
}

.admonition_head {
  border-radius: 12px;
  padding: .2em;
}

.admonition_head span.admonition_icon_wrapper {
  display: inline-block;
  background-color: white;
  width: 24px;
  height: 24px;
  border-radius: 100%;
  text-align: center;
  margin-right: .5em;
}

.admonition_head span.admonition_type {
  font-size: 12pt;
}

.admonition_head span img {
  width: 10px;
  padding-top: 3px;
}

.admonition_body {
  padding: 1em 0 0;
}

/* EU funding wrapper */

.eu_funding {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 2em;
  font-size: smaller;
  color: grey;
  margin-top: 3em;
}

.eu_funding img {
  display: block;
  margin: auto;
}

.eu_funding p {
  margin: 0;
}