/** Critical **/
:root {
  /* --mobile:         375px; */
  --tablet:         768px;
  --tablet-wide:    1024px;
  --desktop:        1280px;
  /* --wide:           1366px;
  --really-wide:    1680px;
  --huge:           1920px; */

  --font-minute:    calc(.5rem * var(--theme-font-scale)); /* 8px */
  --font-tiny:      calc(.625rem * var(--theme-font-scale)); /* 10px */
  --font-smaller:   calc(.75rem * var(--theme-font-scale)); /* 12px */
  --font-small:     calc(.875rem * var(--theme-font-scale)); /* 14px */
  --font-std-small: calc(.9375rem * var(--theme-font-scale)); /* 15px */
  --font-std:       calc(1rem * var(--theme-font-scale)); /* 16px */
  --font-med:       calc(1.125rem * var(--theme-font-scale)); /* 18px */
  --font-big:       calc(1.25rem * var(--theme-font-scale)); /* 20px */
  --font-large:     calc(1.5rem * var(--theme-font-scale)); /* 24px */
  --font-jumbo:     calc(1.875rem * var(--theme-font-scale)); /* 30px */
  --font-huge:      calc(2.5rem * var(--theme-font-scale)); /* 40px */
  --font-massive:   calc(3.25rem * var(--theme-font-scale)); /* 52px */
}

/* @media only screen and (max-width: var(--tablet)) {
} */

/* var(--theme-font); */
/* var(--theme-font-scale); */
/**** FONT ***/
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
button,
.o-btn,
[type='submit'],
[type='reset'],
[type='email'],
[type='number'],
[type='password'],
[type='search'],
[type='tel'],
[type='text'],
[type='url'],
[type='color'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='time'],
[type='week'],
select,
textarea {
  font-family: var(--theme-font) !important;
}

.u-font--main {
  font-family: var(--theme-font) !important;
}

.u-font--title {
  font-family: var(--theme-font) !important;
}



/** COLOURS **/

body a,
.u-theme-branding {
  color: var(--theme-branding) !important;
}

.u-theme-branding-bg {
  background-color: var(--theme-branding);
}

.u-theme-text-over-branding {
  color: var(--theme-text-over-branding);
}

.u-theme-text-over-branding a {
  color: var(--theme-text-over-branding) !important;
}

.u-theme-mobile-nav {
  color: var(--theme-mobile-nav) !important;
}

.u-theme-mobile-nav-bg {
  background-color: var(--theme-mobile-nav);
}

.u-theme-text-over-mobile-nav {
  color: var(--theme-text-over-mobile-nav);
}

.u-theme-text-over-mobile-nav a {
  color: var(--theme-text-over-mobile-nav) !important;
}

/* .u-theme-nav {
  color: var(--theme-nav);
} */

.o-arrow-link.o-arrow-link--border,
.o-arrow-link.o-arrow-link--border\@until-tablet  {
  border-color: var(--theme-key-lines) !important;
}

.e-hr {
  border-color: var(--theme-key-lines) !important;
}

.o-btn {
  background-color: var(--theme-branding) !important;
  color: var(--theme-text-over-branding) !important;
}

/* Header Branding */
.c-header,
.c-footer {
  border-color: var(--theme-branding) !important;
}

.c-header__brand--no-logo {
  color: var(--theme-branding);
}

.c-header__toggle__lines,
.c-header__toggle__lines::before,
.c-header__toggle__lines::after {
  background-color: var(--theme-branding) !important;
}

.c-header__nav__item {
  border-color: var(--theme-key-lines) !important;
  font-size: var(--font-std) !important;
}

.o-feature::after {
  border-color: var(--theme-key-lines) !important;
}

.o-document::before {
  border-color: var(--theme-key-lines) !important;
}

.c-agenda-day::after,
.o-agenda-item::after {
  border-color: var(--theme-key-lines) !important;
}

/* sorry it has to be so specific */
.c-header__nav .c-header__nav__item--active,
.c-header__nav .c-header__nav__item:hover,
.c-header__nav .c-header__nav__item:focus {
  color: var(--theme-branding) !important;
}

.c-mobile-nav__item {
  color: var(--theme-text-over-mobile-nav) !important;
}

.c-mobile-nav__item .o-icon--fill-over {
  fill: var(--theme-text-over-mobile-nav) !important;
}

.c-mobile-nav__item .o-icon--stroke-over {
  stroke: var(--theme-text-over-mobile-nav) !important;
}

.c-single__datetime span {
  color: var(--theme-branding) !important;
}

.c-page-header h2 {
  border-color: var(--theme-key-lines) !important;
}

.o-arrow-link svg {
  stroke: var(--theme-branding) !important;
}

.o-icon--stroke {
  stroke: var(--theme-branding) !important;
}

.o-icon--stroke-over {
  stroke: var(--theme-text-over-branding) !important;
}

.o-icon--fill {
  fill: var(--theme-branding) !important;
}

.o-icon--fill-over {
  fill: var(--theme-text-over-branding) !important;
}

.o-icon--fill-mob {
  fill: var(--theme-mobile-nav) !important;
}

.c-single__img-wrap--logo,
.o-feature__img-wrap--logo {
  border-color: var(--theme-key-lines) !important;
}

.c-agenda-nav__links .c-agenda-nav__link {
  background-color: var(--theme-branding-opaque) !important;
}

.c-agenda-nav__link span {
  color: var(--theme-branding) !important;
}

.c-agenda-nav__link:hover,
.c-agenda-nav__link:focus {
  background-color: var(--theme-branding-opaque-thin) !important;
}

.c-agenda-nav__links .c-agenda-nav__link--active {
  background-color: var(--theme-branding) !important;
  color: var(--theme-text-over-branding) !important;
}

.c-agenda-nav__link--active:hover,
.c-agenda-nav__link--active:focus {
  background-color: var(--theme-branding) !important;
  color: var(--theme-text-over-branding) !important;
  cursor: auto;
}

.c-agenda-nav__link--active span {
  color: var(--theme-text-over-branding) !important;
}

.c-agenda-day__header {
  background-color: var(--theme-branding-opaque);
}

.c-single--sponsor .c-single__icon {
  color: var(--theme-branding) !important;
}

.c-single--sponsor .c-single__img-wrap {
  border-color: #fff!important;
}

.o-sponsor__img-wrap {
  border-color: #fff!important;
}

/**** FONT SIZES ****/
.c-mobile-nav__item {
  font-size: var(--font-minute) !important;
}

.c-footer__copy {
  font-size: var(--font-tiny) !important;
}

.o-contact__info__tel,
.o-contact__info__email,
.o-remove-fav {
  font-size: var(--font-smaller) !important;
}

h4,
.e-para,
.c-agenda-day__header h2,
.c-agenda-nav__link,
.c-pagination__item__label,
.o-agenda-item__info__title
.o-agenda-item__info__title h3,
.o-agenda-item__info__extra,
.o-agenda-item__info__links,
.o-agenda-item__info__links a,
.o-agenda-item__info__links span,
.o-contact__info__role,
.o-document,
.o-feature__info__role,
.o-further-page__info,
.o-highlight__title,
.o-hospitality__info,
.o-nav-link__title,
.o-venue__info{
  font-size: var(--font-small) !important;
}

[type='email'],
[type='number'],
[type='password'],
[type='search'],
[type='tel'],
[type='text'],
[type='url'],
[type='color'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='time'],
[type='week'],
select,
textarea,
.o-btn,
[type='submit'],
[type='reset']
[type='checkbox'] + span,
[type='radio'] + span,
.c-single__subtitle,
.c-single__datetime,
.o-agenda-item__time,
.o-further-page__title,
.o-hospitality__title,
.o-venue__title,
.c-hero__subtitle,
.o-map__key__title {
  font-size: var(--font-std) !important;
}

@media (min-width: 48em) {
  .c-single__icon {
    font-size: var(--font-std) !important;
  }
}

.c-pagination__item__label span.u-theme-branding {
  font-size: var(--font-med) !important;
}

h2,
h3,
.c-footer__brand--no-logo,
.c-header__brand--no-logo,
.c-hero--medialess .c-hero__title,
.c-page-nav__info__title,
.c-single__title {
  font-size: var(--font-big) !important;
}

.c-hero__title {
  font-size: var(--font-large) !important;
}

/* Until tablet */
@media (max-width: 48em) {
  .c-single--sponsor .c-single__icon,
  .c-sponsors-cta__category h3 {
    font-size: var(--font-std) !important;
  }
}

/* From mobile-wide */
@media (min-width: 26.5625em) {
  .o-contact__info__role {
    font-size: var(--font-std) !important;
  }
}

/* From mobile-wide until tablet*/
@media (min-width: 26.5625em) and (max-width: 48em) {
  .o-contact__info__tel,
  .o-contact__info__email {
    font-size: var(--font-std-small) !important;
  }
}

/* From tablet */
@media (min-width: 48em) {
  .e-para,
  .o-contact__info__name,
  .o-feature__info__role,
  .o-further-page__info,
  .o-hospitality__info,
  .o-venue__info {
    font-size: var(--font-std) !important;
  }

  .o-agenda-item__info__title,
  .o-agenda-item__info__title h3,
  .o-agenda-item__info__extra,
  .o-agenda-item__info__links,
  .o-agenda-item__info__links a,
  .o-agenda-item__info__links span {
    font-size: var(--font-std-small) !important;
  }

  h3,
  h4,
  .c-hero__subtitle,
  .o-feature__info__name,
  .o-further-page__title,
  .o-hospitality__title,
  .o-nav-link__title,
  .o-sponsor__info__name,
  .o-venue__title,
  .o-map__key__title  {
    font-size: var(--font-med) !important;
  }

  h1,
  .c-hero--medialess .c-hero__title {
    font-size: var(--font-large) !important;
  }

  .c-hero__title {
    font-size: var(--font-huge) !important;
  }
}

/* From tablet until tablet-wide */
@media (min-width: 48em) and (max-width: 64em) {
  .c-agenda-day__header h2 {
    font-size: var(--font-std) !important;
  }
}

/* From tablet-wide */
@media (min-width: 64em) {
  .e-para--small-intro {
    font-size: var(--font-std) !important;
  }

  .o-contact__info__role,
  .o-contact__info__tel,
  .o-contact__info__email {
    font-size: var(--font-std-small) !important;
  }

  .e-para--lede,
  .c-agenda-day__header h2,
  .c-single__icon,
  .c-single__subtitle,
  .c-single__datetime,
  .c-single__content .e-para--lede,
  .e-para--intro,
  .o-agenda-item__time,
  .o-contact__info__name {
    font-size: var(--font-med) !important;
  }

  h3,
  .c-hero__subtitle {
    font-size: var(--font-big) !important;
  }

  h2,
  .c-page-nav__info__title,
  .c-single__title,
  .e-para--lede {
    font-size: var(--font-large) !important;
  }

  h1,
  .c-hero--medialess .c-hero__title {
    font-size: var(--font-jumbo) !important;
  }

  .c-hero__title {
    font-size: var(--font-massive) !important;
  }
}

/* From desktop */
@media (min-width: 80em) {
  .o-btn,
  [type='submit'],
  [type='reset'] {
    font-size: var(--font-med) !important;
  }
}
