/*
 * Articles list page and article text page styles
 */
/*
 * Styles, which don't generate any output and can be safely imported from
 * all root level stylesheets
 */
/*
 * Paths
 */
/**
 * Animation & transition settings
 */
/*
 * Color Palette
 */
/*
 * Form color palette
 */
/*
 * Footer color palette
 */
/*
 * Settings for the `<body>` element
 */
/*
 * Text
 *
 * Settings for text, fonts, sizes
 */
/**
 * Text sizes
 *
 * Resolution specific font sizes, line height, etc.
 * All styles cascade up
 *
 * For each style is generated "%text--size-NAME" placeholder selector
 * Each style can also be used included using mixin "@include text--size(NAME);"
 *
 * See extends/_text-styles.scss
 */
/**
 * Link styles
 *
 * Settings for the anchor elements
 * For each link style is generated "%link--style-NAME" placeholder selector
 *
 * See extends/_links.scss
 *
 * @demo
 *   @extend %link--style-heading;
 */
/**
 * Grid
 *
 * Grid system settings
 * All resolution styles cascade up from mobile to desktop
 *
 * @demo
 *   <div class="row row--pad">...</div>
 *   <div class="row row--pad-small">...</div>
 */
/**
 * For each grid container is generated ".container--NAME" classname, except
 * for "default", for which ".container" classname is generated
 *
 * @demo
 *   <div class="container"></div>
 *   <div class="container container--footer"></div>
 */
/**
 * Spacing
 *
 * Settings for spacing between most of the elements
 *
 * @demo
 *   @include margins($spacing);
 *   @include margins($spacing-medium);
 */
/**
 * Breakpoints for devices / orientations / screens
 * Following already are default values, uncomment if needed
 */
/**
 * Minimal body width
 */
/**
 * Returns nth property from css property list
 *
 * @property {map} $list List
 * @property {number} $index Item index
 */
/**
 * In each $list pair of $breakpoint: $value replaces all values with 'inherit'
 * except for one in $index position
 *
 * @code
 *     $spacer: (xs: 10px 11px 12px 13px, md: 20px 0);
 *     $spacer-top-only:    pick-css-nth($spacer, 1); // => (xs: 10px inherit inherit inherit, md: 20px inherit inherit inherit)
 *     $spacer-bottom-only: pick-css-nth($spacer, 3); // => (xs: inherit inherit 12px inherit, md: inherit inherit 20px inherit)
 */
/**
 * @function map-deep-get Deep get for sass maps
 * @author https://css-tricks.com/snippets/sass/deep-getset-maps/
 * @description
 * Returns deeply nested property from a map
 *
 *     $paddings: map-deep-get($grid-containers, default, paddings, xs);
 */
/**
 * Mixin for object-fit plugin
 *
 * @see https://github.com/bfred-it/object-fit-images
 * @see components/_background.scss
 * @example
 *   @include object-fit(contain);
 *   @include object-fit(cover, top);
 */
/**
 * Converts SVG into data url so that this SVG could be used as a
 * background image
 *
 * @demo
 *     background-image: svg-to-data-url('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">...</svg>');
 */
/**
 * Selectors to target specific browsers without affecting specificity or
 * limiting use in media queries
 *
 * Pros:
 *   - Works with media queries
 *
 * Conts:
 *   - Can't be used with @extend as that will invalidate other selectors
 *
 * See http://browserstrangeness.bitbucket.org/css_hacks.html
 */
/**
 * Target Internet Explorer, but not Edge
 *
 * @demo
 *     div {
 *       @include browser-ie () {
 *         // ...
 *       }
 *     }
 */
/**
 * Target Edge
 */
/**
 * Target Firefox
 */
/**
 * Target Safari
 */
/**
 * Target all WebKit browsers
 */
/**
 * Breakpoints for devices / orientations / screens
 *
 * @code
 *     @include media-breakpoint (lg-up) {
 *         // ...
 *     }
 */
/**
 * Returns if media query name is valid and values exist
 */
/**
 * Output content in a media query
 *
 * @code
 *     .icon {
 *         @include media-breakpoint (sm-down) {
 *             // ...
 *         }
 *     }
 */
/**
 * Output content in retina display media query
 *
 * @code
 *     .icon {
 *         @include media-retina () {
 *             // ...
 *         }
 *     }
 */
/**
 * Output content in non-retina display media query
 *
 * @code
 *     .icon {
 *         @include media-non-retina () {
 *             // ...
 *         }
 *     }
 */
/**
 * Image rendering quality
 * In Chrome background image quality is not the best when using background-size
 */
/**
 * @function placeholder Set input placeholder styles
 * @demo
 *     input {
 *         @include placeholder () {
 *             color: #000;
 *         }
 *     }
 */
/**
 * Margins mixin
 */
/**
 * In each $list pair of $breakpoint: $value replaces all values with 'inherit'
 * except for one in $index position
 *
 * @demo
 *     @include padding(inherit 20px);
 *
 * @demo
 *     @include padding((
 *         xs: inherit 20px,
 *         md: inherit 40px
 *     ));
 */
/*
 * Grid generator mixins
 */
/**
 * Mixin to generate grid container classnames
 *
 * @property {map} $containers Containers
 * @property {number?} $gutter Gutter between grid columns
 */
/**
 * Mixins to generate content for grid container classname
 *
 * @property {map} $container Container
 * @property {map} $container.max-width List of max-widths
 * @property {map} $container.paddings  List of paddings
 * @property {number?} $gutter Gutter between grid columns
 */
/**
 * Mixin to generate column classnames for each resolutions
 *
 * @property {number}  $columns     Number of columns
 * @property {list}    $breakpoints Responsive breakpoints
 */
/**
 * Mixin to generate column paddings for each resolutions
 *
 * @property {number}  $columns     Number of columns
 * @property {list}    $breakpoints Responsive breakpoints
 * @property {number?} $gutter      Gutter between columns
 */
/*
 * 1. Fix for IE where paddings are not taken into account even with box-sizing
 * 2. Fix for Firefox
 */
/*
 * Button normal state style mixin
 *
 * Sets styles to button normal state
 * 1. We overwrite disabled state too because if classname is used, then :hover, :active will take precedent
 */
/*
 * Button hover state style mixin
 *
 * Sets styles to button hover, focused states
 */
/*
 * Button active state style mixin
 *
 * Sets styles to active state
 */
/*
 * Button hover + active state style mixin
 *
 * Sets styles to button active, hover, focused states
 */
/*
 * Active button state style mixin
 *
 * Sets styles to button active, hover, focused states
 */
/*
 * Button disabled state style mixin
 */
/*
 * Button style
 *
 * Sets hover, active, focus, disabled styles
 */
/*
 * Button size
 *
 * Sets different size for different breakpoints
 */
/*
 * Square button modifier mixin
 */
/*
 * Text size
 *
 * Sets different size for different breakpoints
 */
/*
 * Link normal state style mixin
 *
 * Sets styles to link normal state
 */
/*
 * Link hover state style mixin
 *
 * Sets styles to link hover and focused states
 */
/*
 * Link active state style mixin
 *
 * Sets styles to link active state
 */
/*
 * Link hover and active state style mixin
 *
 * Sets styles to link hover, focused and active states
 */
/*
 * Link disabled state style mixin
 *
 * Sets styles to link disabled state
 */
/*
 * Image icon generator mixin
 */
/*
 * Retina image for icon
 */
/**
 * Animations
 *
 * Enables transition for all properties for elements
 *
 * @demo
 *     div { @extend %transition; }
 */
.js .carousel__list, .js .carousel__thumb-nav, .carousel__dot-nav a:before, .article-item > a h2, .article-item--hover-zoom .article-item__image img {
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.25, 0.74, 0.22, 0.99); }

/**
 * Layout component mixin and placeholder classname, which is above other components
 *
 * @demo
 *     .lightbox { @extend %layout-order-above-top; }
 *     .header { @extend %layout-order-top; }
 *
 *     .lightbox { @include layout-order-above-top(); }
 *     .header { @include layout-order-top(); }
 */
/**
 * Layout component mixin and placeholder classname which covers parent
 *
 * @demo
 *     .btn-large:before { @extend %layout-position-overlay; }
 *     .btn-small:before { @extend %layout-position-overlay-extended; }
 *
 *     .btn-large:before { @include layout-position-overlay(); }
 *     .btn-small:before { @include layout-position-overlay-extended(); }
 */
/**
 * Text style mixin and placeholder classnames
 *
 * Used to keep all standard text and all headings consistent without code
 * duplication / to improve maintainability
 *
 * See settings/_text.scss
 *
 * @demo
 *     body  { @extend %text--default; }
 *     h1    { @extend %text--heading; }
 *
 *     body  { @include text--default(); }
 *     h1    { @include text--heading(); }
 */
/**
 * Text size / style mixin and placeholder classname generator
 * For each style is generated "%text--size-NAME" placeholder selector
 *
 * See settings/_text.scss
 *
 * @demo
 *     .class { @extend %text--size-h1; }
 *
 *     .class { @include text--size(h1); }
 *
 *     .class {
 *         @include text--size((
 *             xs:  ( 'font-size': 1.4rem,  'line-height': 24 / 14 * 1em )
 *         ));
 *     }
 */
.article-text__banner {
  font-size: 1.6rem;
  line-height: 1.3125em; }

.article-item h2 {
  font-size: 2.4rem;
  line-height: 1.25em;
  text-transform: none; }

/**
 * Link style mixin and placeholder classname generator
 *
 * For each link theme defined in settings/_colors.scss creates
 * a %link--style-NAME placeholder classname
 *
 * See settings/_links.scss
 *
 * @demo
 *     a     { @extend %link--style-default; }
 *     nav a { @extend %link--style-text; }
 *
 *     a     { @include link--style(default); }
 *     nav a { @include link--style(text); }
 */
.carousel {
  position: relative; }
  .js .carousel__list, .js .carousel__thumb-nav {
    opacity: 0;
    pointer-events: none;
    transition-property: opacity;
    will-change: opacity; }
  .js .carousel__list > li {
    display: none; }
    .js .carousel__list > li:first-child {
      display: block; }
  .js .carousel.carousel--ready .carousel__list, .js .carousel.carousel--ready .carousel__thumb-nav {
    opacity: 1;
    pointer-events: auto; }
  .js .carousel.carousel--ready .carousel__list > li {
    display: block; }

.text .carousel ul {
  margin: 0; }
.text .carousel li {
  padding: 0; }
  .text .carousel li:before {
    display: none; }

/**
 * Item caption text
 */
.carousel figcaption {
  padding: 14px 0;
  color: #90989f;
  text-align: center; }

/**
 * Carousel arrow navigation
 */
.carousel__arrow-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 3.2rem;
  margin-bottom: 3.2rem; }
  .carousel__arrow-nav:first-child {
    margin-top: 0; }
  .carousel__arrow-nav:last-child {
    margin-bottom: 0; }
  .carousel__arrow-nav__left {
    display: flex;
    align-items: center; }
  .carousel__arrow-nav__right {
    display: flex;
    align-items: center; }
  .carousel__arrow-nav a {
    margin-right: 30px; }
  .carousel__arrow-nav .btn {
    margin-right: 4px; }
    .carousel__arrow-nav .btn .icon {
      top: auto; }
  .carousel__arrow-nav a:last-child,
  .carousel__arrow-nav .btn:last-child {
    margin-right: 0; }

.carousel__arrow-nav--sides,
.carousel__arrow-nav--narrow-sides {
  margin: 0; }
  .carousel__arrow-nav--sides .btn,
  .carousel__arrow-nav--narrow-sides .btn {
    position: absolute;
    top: 50%;
    left: 60px;
    margin-top: -20px; }
  .carousel__arrow-nav--sides .btn + .btn,
  .carousel__arrow-nav--narrow-sides .btn + .btn {
    left: auto;
    right: 60px; }

.carousel--with-captions .carousel__arrow-nav--sides .btn,
.carousel--with-captions .carousel__arrow-nav--narrow-sides .btn {
  margin-top: -44px; }

.carousel__arrow-nav--narrow-sides .btn {
  left: 20px; }
.carousel__arrow-nav--narrow-sides .btn + .btn {
  right: 20px; }

/**
 * Carousel thumbnail navigation
 */
.carousel__thumb-nav > a {
  width: 70px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center; }
  .carousel__thumb-nav > a.is-active {
    opacity: 0.2; }
  .carousel__thumb-nav > a.video {
    position: relative; }
    .carousel__thumb-nav > a.video:after {
      content: '';
      position: absolute;
      display: block;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: #ffffff;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }
    .carousel__thumb-nav > a.video .icon {
      position: absolute;
      margin: 0 0 0 1px;
      stroke: #306bf5;
      z-index: 1;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }
.carousel__thumb-nav img {
  display: block;
  max-width: 100%;
  height: auto; }

/*
 * Carousel dot navigtation
 */
.carousel__dot-nav {
  display: flex;
  justify-content: center;
  margin-top: 3.9rem; }
  .carousel__dot-nav a {
    width: 17px;
    height: 17px;
    border-radius: 17px;
    padding: 4px; }
    .carousel__dot-nav a:before {
      content: "";
      display: block;
      width: 9px;
      height: 9px;
      border-radius: 9px;
      transition-property: background;
      background: #d6dce1; }
    .carousel__dot-nav a.is-active:before {
      background: #306bf5; }

/**
 * Buttons
 * Dark Button Style
 *
 * Call to action button style modifier
 *
 * @demo
 *     <a class="btn btn--dark">Normal state</a>
 *     <a class="btn btn--dark is-active">Active state</a>
 *     <a class="btn btn--dark is-disabled">Disabled state</a>
 */
.has-hover .btn--dark:hover, .has-hover .btn--dark:focus {
  color: #ffffff;
  background-color: #2b2e31; }
.btn--dark:active, .has-hover .btn--dark:active, .btn--dark.is-active {
  color: #ffffff;
  background-color: #2b2e31;
  box-shadow: 0 4px 7px rgba(0, 0, 0, 0.6) inset; }
.btn--dark, .btn--dark.is-disabled, .btn--dark:disabled, .btn--dark[disabled] {
  color: #ffffff;
  background-color: rgba(43, 46, 49, 0.8); }
.btn--dark.is-disabled, .btn--dark:disabled, .btn--dark[disabled] {
  opacity: 0; }
.btn--dark.loading {
  color: transparent !important; }

.articles-list {
  margin-top: 3.5rem; }
  .articles-list .article-item {
    margin-top: 2rem;
    margin-bottom: 2rem; }
    .articles-list .article-item:first-child {
      margin-top: 0; }
    .articles-list .article-item:last-child {
      margin-bottom: 0; }

.article-item {
  display: flex;
  border-radius: 4px;
  background: #ffffff;
  box-shadow: 0 10px 20px rgba(18, 42, 96, 0.06); }
  .article-item > a {
    display: flex;
    width: 100%;
    height: 100%;
    transition-property: none; }
    .article-item > a h2 {
      transition-property: color;
      color: #333333; }
    .article-item > a time {
      color: #90989f; }
    .has-hover .article-item > a:focus h2, .has-hover .article-item > a:hover h2, .article-item > a:active h2, .article-item > a.is-active h2 {
      color: #306bf5; }
    .has-hover .article-item > a:focus time, .has-hover .article-item > a:hover time, .article-item > a:active time, .article-item > a.is-active time {
      color: #90989f; }
  .article-item__image, .article-item__content {
    flex-grow: 0;
    flex-shrink: 0;
    width: 50%; }
  .article-item__image img {
    border-radius: 4px 0 0 4px;
    display: block; }
  .article-item__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 3.6rem 4rem 3.5rem; }

.ui-gray .article-item {
  box-shadow: none; }

.article-item--hover-zoom {
  overflow: hidden; }
  .article-item--hover-zoom .article-item__image {
    overflow: hidden; }
    .article-item--hover-zoom .article-item__image img {
      transition-timing-function: cubic-bezier(0.29, 0.51, 0.63, 0.98);
      transition-property: transform; }
  .has-hover .article-item--hover-zoom > a:focus .article-item__image img, .has-hover .article-item--hover-zoom > a:hover .article-item__image img {
    transform: scale(1.1); }

.article-text__wrapper {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto; }
  .article-text__wrapper figure {
    position: relative;
    left: 50%;
    width: 980px;
    margin-left: -490px; }
    .article-text__wrapper figure figure {
      width: 100%;
      left: auto;
      margin: 0;
      padding: 0; }
    .article-text__wrapper figure img,
    .article-text__wrapper figure .carousel {
      display: block;
      max-width: 980px;
      margin-left: auto;
      margin-right: auto; }
.article-text__intro {
  font-size: 2.2rem;
  line-height: 1.54545em; }
.article-text__banner {
  margin-right: -240px;
  flex-wrap: nowrap; }
  .article-text__banner__content {
    padding: 10px 0 0 120px; }
    .article-text__banner__content img {
      margin-top: 1rem;
      margin-bottom: 1rem; }
      .article-text__banner__content img:first-child {
        margin-top: 0; }
      .article-text__banner__content img:last-child {
        margin-bottom: 0; }
    .article-text__banner__content h2, .article-text__banner__content h3, .article-text__banner__content p {
      margin-top: 0.8rem;
      margin-bottom: 0.3rem; }
      .article-text__banner__content h2:first-child, .article-text__banner__content h3:first-child, .article-text__banner__content p:first-child {
        margin-top: 0; }
      .article-text__banner__content h2:last-child, .article-text__banner__content h3:last-child, .article-text__banner__content p:last-child {
        margin-bottom: 0; }

.page-title + .article-text {
  margin-top: 3.6rem; }

/*# sourceMappingURL=articles.css.map */
