@charset 'UTF-8';
/**
 * @license
 * MyFonts Webfont Build ID 3425517, 2017-07-20T11:58:46-0400
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: FF Tibere Web Medium by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-medium/
 *
 * Webfont: FF Tibere Web Light by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-light/
 *
 * Webfont: FF Tibere Web Italic by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-italic/
 *
 * Webfont: FF Tibere Web Light Italic by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-light-italic/
 *
 * Webfont: FF Tibere Web Bold by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-bold/
 *
 * Webfont: Tibere Ornaments Banded by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ornaments-banded/
 *
 * Webfont: FF Tibere Web by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot/
 *
 *
 * License: https://www.myfonts.com/viewlicense?type=web&buildid=3425517
 * Licensed pageviews: 500,000
 * Webfonts copyright: 2010 Albert Boton published by FSI FontShop International GmbH
 *
 * © 2017 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@import url('//hello.myfonts.net/count/3444ed');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700');
@font-face
{
    font-family: 'FF Tibere';
    font-weight: 300;
    font-style: normal;

    src: url('../fonts/3444ED_1_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_1_0.woff2') format('woff2'), url('../fonts/3444ED_1_0.woff') format('woff'), url('../fonts/3444ED_1_0.ttf') format('truetype');
}

@font-face
{
    font-family: 'FF Tibere';
    font-weight: 500;
    font-style: normal;

    src: url('../fonts/3444ED_6_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_6_0.woff2') format('woff2'), url('../fonts/3444ED_6_0.woff') format('woff'), url('../fonts/3444ED_6_0.ttf') format('truetype');
}

@font-face
{
    font-family: 'FF Tibere';
    font-weight: 700;
    font-style: normal;

    src: url('../fonts/3444ED_4_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_4_0.woff2') format('woff2'), url('../fonts/3444ED_4_0.woff') format('woff'), url('../fonts/3444ED_4_0.ttf') format('truetype');
}

.radios .option__input,
.webform-radios-other .option__input,
.checkboxes .option__input,
.webform-checkboxes-other .option__input
{
    position: absolute;
    top: auto;
    left: -10000px;

    overflow: hidden; 

    width: 1px;
    height: 1px;
    margin: 0 !important;
}

label,
.radios legend,
.webform-radios-other legend,
.checkboxes legend,
.webform-checkboxes-other legend
{
    font-weight: 600;

    display: block;

    margin-bottom: 8px;

    cursor: pointer;
}

/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html
{
    font-family: sans-serif;
    /* 1 */

        -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body
{
    margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary
{
    /* 1 */
    display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video
{
    display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls])
{
    display: none;

    height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress
{
    vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden]
{
    display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a
{
    background-color: transparent;
    /* 1 */

    -webkit-text-decoration-skip: objects;
    /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover
{
    outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title]
{
    /* 1 */
    text-decoration: underline;
    /* 2 */
    text-decoration: underline dotted;

    border-bottom: none;
    /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong
{
    font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong
{
    font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn
{
    font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1
{
    font-size: 2em;

    margin: .67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark
{
    color: #000; 
    background-color: #ff0;
}

/**
 * Add the correct font size in all browsers.
 */
small
{
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sub
{
    bottom: -.25em;
}

sup
{
    top: -.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img
{
    border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root)
{
    overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp
{
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */
figure
{
    margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr
{
    /* 1 */
    overflow: visible;

    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 2 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea
{
    font: inherit;
    /* 1 */

    margin: 0;
    /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup
{
    font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input
{
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select
{
    /* 1 */
    text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type='button'],
[type='reset'],
[type='submit']
{
    -webkit-appearance: button;
    /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner
{
    padding: 0; 

    border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring
{
    outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset
{
    margin: 0 2px;
    padding: .35em .625em .75em; 

    border: 1px solid #c0c0c0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend
{
    /* 2 */
    display: table;

    box-sizing: border-box;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */

    white-space: normal;
    /* 1 */

    color: inherit;
    /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea
{
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type='checkbox'],
[type='radio']
{
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button
{
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search']
{
    /* 1 */
    outline-offset: -2px;

    -webkit-appearance: textfield;
    /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder
{
    opacity: .54; 
    color: inherit;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button
{
    /* 1 */
    font: inherit;

    -webkit-appearance: button;
    /* 2 */
}

*
{
    box-sizing: border-box;
}

body
{
    font: 400 14px/1.5 'Open Sans', Helvetica, Arial, sans-serif;

    overflow-x: hidden;

    color: #181919;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 640px)
{
    body
    {
        font: 400 16px/1.5 'Open Sans', Helvetica, Arial, sans-serif;
    }
}
@media (min-width: 1024px)
{
    body
    {
        font: 400 19px/1.5 'Open Sans', Helvetica, Arial, sans-serif;
    }
}
body:before
{
    position: fixed;
    z-index: 0; 
    top: 0;
    left: 0;

    width: 0;
    height: 0;

    content: '';
    transition: opacity 300ms cubic-bezier(.77, 0, .175, 1);

    opacity: 0;
    background-color: rgba(24, 25, 25, .25);
}
body.clipped
{
    overflow-y: hidden;
}
body.clipped:before
{
    z-index: 10; 

    width: 100%;
    height: 100%;

    opacity: 1;
}
@media (max-width: 1023px)
{
    body.clipped--mobile
    {
        overflow-y: hidden;
    }
}
@media (max-width: 1023px)
{
    body.clipped--mobile:before
    {
        z-index: 10; 

        width: 100%;
        height: 100%;

        opacity: 1;
    }
}

::selection
{
    color: #181919; 
    background-color: #ffbf47;
}

fieldset
{
    margin: 0;
    padding: 0;

    border: 0;
}

h1
{
    font: 700 32px/1.25 'FF Tibere', Palatino, Georgia, sans-serif; 

    display: block;

    margin: 64px 0 32px;
}
@media (min-width: 640px)
{
    h1
    {
        font-size: 48px; 

        margin: 96px 0 48px;
    }
}
@media (min-width: 1024px)
{
    h1
    {
        font-size: 62px; 

        margin: 124px 0 62px;
    }
}

h2
{
    font: 700 24px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 48px 0 24px;
}
@media (min-width: 640px)
{
    h2
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}
@media (min-width: 1024px)
{
    h2
    {
        font-size: 32px; 

        margin: 64px 0 32px;
    }
}

h3
{
    font: 600 21px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 42px 0 21px;
}
@media (min-width: 640px)
{
    h3
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}
@media (min-width: 1024px)
{
    h3
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}

h4
{
    font: 400 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 19px;
}
@media (min-width: 640px)
{
    h4
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}
@media (min-width: 1024px)
{
    h4
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}

h5
{
    font: 700 16px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 32px 0 16px;
}
@media (min-width: 640px)
{
    h5
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}
@media (min-width: 1024px)
{
    h5
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}

h6
{
    font: 600 14px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 14px;
}
@media (min-width: 640px)
{
    h6
    {
        font-size: 16px; 

        margin: 32px 0 16px;
    }
}
@media (min-width: 1024px)
{
    h6
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}

.h1
{
    font: 700 32px/1.25 'FF Tibere', Palatino, Georgia, sans-serif; 

    display: block;

    margin: 64px 0 32px;
}
@media (min-width: 640px)
{
    .h1
    {
        font-size: 48px; 

        margin: 96px 0 48px;
    }
}
@media (min-width: 1024px)
{
    .h1
    {
        font-size: 62px; 

        margin: 124px 0 62px;
    }
}

.h2
{
    font: 700 24px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 48px 0 24px;
}
@media (min-width: 640px)
{
    .h2
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}
@media (min-width: 1024px)
{
    .h2
    {
        font-size: 32px; 

        margin: 64px 0 32px;
    }
}

.h3
{
    font: 600 21px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 42px 0 21px;
}
@media (min-width: 640px)
{
    .h3
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}
@media (min-width: 1024px)
{
    .h3
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}

.h4
{
    font: 400 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 19px;
}
@media (min-width: 640px)
{
    .h4
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}
@media (min-width: 1024px)
{
    .h4
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}

.h5
{
    font: 700 16px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 32px 0 16px;
}
@media (min-width: 640px)
{
    .h5
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}
@media (min-width: 1024px)
{
    .h5
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}

.h6
{
    font: 600 14px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 14px;
}
@media (min-width: 640px)
{
    .h6
    {
        font-size: 16px; 

        margin: 32px 0 16px;
    }
}
@media (min-width: 1024px)
{
    .h6
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}

h1:focus,
h2:focus,
h3:focus,
h4:focus,
h5:focus,
h6:focus
{
    outline: none;
}

a:link
{
    transition: color 150ms cubic-bezier(.77, 0, .175, 1), background 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    color: #002f87;
}

a:visited
{
    color: #4c2c92;
}

a:hover
{
    color: #0041ba; 
    background-color: #f2f4f9;
}

a:focus
{
    z-index: 1; 

    color: #0041ba;
    outline: 0;
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

a:active
{
    color: #0041ba; 
    outline: 0;
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

a.teaser
{
    font-weight: 600;
}

a[target='_blank']
{
    margin-right: -24px;
}
a[target='_blank']:after
{
    z-index: 0; 

    display: inline-block;

    width: 24px;
    height: 24px;

    content: '';
    transition: opacity 150ms cubic-bezier(.77, 0, .175, 1), transform 150ms cubic-bezier(.77, 0, .175, 1);
    transform: translateX(-25%);
    vertical-align: bottom;

    opacity: 0;
    background: #f2f4f9 url('../img/icons/i_external.svg') no-repeat 50% 50%/16px auto;
}
a[target='_blank']:hover:after
{
    z-index: 1; 

    transform: translateX(0%);

    opacity: 1;
}

a[href^='tel:']
{
    white-space: nowrap;
}

ul
{
    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    ul
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    ul
    {
        margin-bottom: 19px;
    }
}

li
{
    margin-top: 8px;
}
li:first-child
{
    margin-top: 0;
}

ol
{
    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    ol
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    ol
    {
        margin-bottom: 19px;
    }
}

dl
{
    margin: 0 0 28px;
}
@media (min-width: 640px)
{
    dl
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    dl
    {
        margin-bottom: 38px;
    }
}

dt
{
    font-weight: 600; 

    margin-top: 28px;
}
@media (min-width: 640px)
{
    dt
    {
        margin-top: 32px;
    }
}
@media (min-width: 1024px)
{
    dt
    {
        margin-top: 38px;
    }
}
dt:first-child
{
    margin-top: 0;
}

dd
{
    margin: 16px 0 0;
}

img,
picture
{
    display: block;

    max-width: 100%;
    height: auto;

    border-radius: 4px;
}

figure
{
    overflow: hidden; 

    margin: 0 0 28px;

    border-radius: 4px;
}
@media (min-width: 640px)
{
    figure
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    figure
    {
        margin-bottom: 38px;
    }
}
@media (max-width: 639px)
{
    figure.map--locations
    {
        display: none;
    }
}

figcaption
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 14px; 
    font-style: italic;

    margin: 16px 0 0;

    color: #596063;
}

iframe,
video
{
    overflow: hidden; 

    margin: 0 0 14px;

    border-radius: 4px;
}
@media (min-width: 640px)
{
    iframe,
    video
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    iframe,
    video
    {
        margin-bottom: 19px;
    }
}

p
{
    margin: 0 0 28px;
}
@media (min-width: 640px)
{
    p
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    p
    {
        margin-bottom: 38px;
    }
}

strong
{
    font-weight: 600;
}

.casing--caps
{
    text-transform: uppercase;
}

.casing--lowercase
{
    text-transform: lowercase;
}

mark
{
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

abbr[title]
{
    font-variant: none;

    cursor: help; 
    text-decoration: none;

    border-bottom: 1px dotted;
}

blockquote
{
    font-family: 'FF Tibere', Palatino, Georgia, sans-serif;
    font-size: 28px;
    line-height: 1.25; 

    margin: 56px 0;
    padding: 0 28px;

    border-left: 4px solid #ae936c;
}
@media (min-width: 640px)
{
    blockquote
    {
        font-size: 32px; 

        margin: 64px 0;
        padding: 0 32px;
    }
}
@media (min-width: 1024px)
{
    blockquote
    {
        margin: 76px 0; 
        padding: 0 38px;
    }
}
blockquote p:before
{
    content: open-quote;
}
blockquote p:after
{
    content: close-quote;
}
blockquote footer
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 16px; 
    font-style: normal;
}
blockquote footer:before
{
    display: inline-block;

    margin-right: 8px; 

    content: '\2014';
}

hr
{
    height: 1px;
    margin: 32px 0;

    border: 0; 
    background-color: #b3b9bb;
}

table
{
    width: 100%;

    border-collapse: collapse;
}

caption
{
    text-align: left; 

    color: #596063;
}

tr:hover th,
tr:hover td
{
    background-color: rgba(89, 96, 99, .05);
}

thead th,
thead td
{
    font-weight: 700;

    padding: 8px 0;

    text-align: left; 

    color: #002f87;
    border-bottom: 2px solid;
}

tbody th,
tbody td
{
    padding: 8px 0;

    text-align: left; 

    border-top: 1px solid #181919;
}

tbody th
{
    font-weight: 600;
}

tbody tr:first-child th,
tbody tr:first-child td
{
    border-top: 0;
}

select
{
    font-size: 16px;

    overflow: hidden;

    width: 100%;
    height: 41px;
    padding: 8px 40px 8px 8px;

    cursor: pointer;
    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 
    text-overflow: ellipsis;

    border: 2px solid #596063;
    border-radius: 4px;
    background-image: url('../img/icons/i_caret-down.svg');
    background-repeat: no-repeat;
    background-position: calc(100% - 8px) 50%;
    background-size: 24px auto;

    appearance: none;
}
@media (min-width: 640px)
{
    select
    {
        height: 44px;
    }
}
@media (min-width: 1024px)
{
    select
    {
        height: 48px;
    }
}
select::-ms-expand
{
    display: none;
}
select:hover
{
    border-color: #002f87;
}
select:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}

.radios .option,
.webform-radios-other .option
{
    position: relative;
}
.radios .option__icon,
.webform-radios-other .option__icon
{
    position: absolute;
    z-index: 1; 
    top: 1px;

    display: block;

    width: 20px;
    height: 20px;

    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1);

    border: 2px solid #596063;
    border-radius: 50%;
}
@media (min-width: 640px)
{
    .radios .option__icon,
    .webform-radios-other .option__icon
    {
        top: 2px;
    }
}
@media (min-width: 1024px)
{
    .radios .option__icon,
    .webform-radios-other .option__icon
    {
        top: 4px;
    }
}
.radios .option__icon:before,
.webform-radios-other .option__icon:before
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;

    content: '';
    transition: transform 150ms cubic-bezier(.77, 0, .175, 1), opacity 150ms cubic-bezier(.77, 0, .175, 1); 
    transform: scale(0);

    opacity: 0;
    border-radius: 50%;
    background-color: #002f87;
}
.radios .option__label,
.webform-radios-other .option__label
{
    font-weight: 400;

    position: relative;
    z-index: 2; 

    display: inline-block;

    padding-left: 28px;

    cursor: pointer;
}
.radios .option__input:focus + .option__label + .option__icon,
.webform-radios-other .option__input:focus + .option__label + .option__icon
{
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
.radios .option__input:focus + .option__label + .option__icon svg path,
.webform-radios-other .option__input:focus + .option__label + .option__icon svg path
{
    stroke-dashoffset: 0;
}
.radios .option:hover .option__icon,
.webform-radios-other .option:hover .option__icon
{
    border-color: #002f87;
    box-shadow: 0 0 0 4px #f2f4f9;
}
.radios .option:hover .option__icon:before,
.webform-radios-other .option:hover .option__icon:before
{
    transform: scale(.5); 

    opacity: .25;
    background-color: #002f87;
}
.radios .option__input:checked + .option__label + .option__icon,
.webform-radios-other .option__input:checked + .option__label + .option__icon
{
    border-color: #002f87;
}
.radios .option__input:checked + .option__label + .option__icon:before,
.webform-radios-other .option__input:checked + .option__label + .option__icon:before
{
    transform: scale(1); 

    opacity: 1;
}

.checkboxes .option,
.webform-checkboxes-other .option
{
    position: relative;
}
.checkboxes .option__icon,
.webform-checkboxes-other .option__icon
{
    position: absolute;
    z-index: 1; 
    top: 1px;

    display: block;

    width: 20px;
    height: 20px;

    transition: box-shadow 150ms cubic-bezier(.77, 0, .175, 1);

    border: 2px solid #596063;
    border-radius: 4px;
}
@media (min-width: 640px)
{
    .checkboxes .option__icon,
    .webform-checkboxes-other .option__icon
    {
        top: 2px;
    }
}
@media (min-width: 1024px)
{
    .checkboxes .option__icon,
    .webform-checkboxes-other .option__icon
    {
        top: 4px;
    }
}
.checkboxes .option__icon svg,
.webform-checkboxes-other .option__icon svg
{
    position: absolute;
    top: -2px;
    left: -2px;

    width: 20px;
    height: 20px;
}
.checkboxes .option__icon svg path,
.webform-checkboxes-other .option__icon svg path
{
    transition: all .6s ease; 

    fill: none;
    stroke: #002f87;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 71px;
    stroke-dashoffset: 71px;
}
.checkboxes .option__icon svg polyline,
.webform-checkboxes-other .option__icon svg polyline
{
    transition: all .3s ease; 

    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 18px;
    stroke-dashoffset: 18px;
}
.checkboxes .option__label,
.webform-checkboxes-other .option__label
{
    font-weight: 400;

    position: relative;
    z-index: 2; 

    display: inline-block;

    padding-left: 28px;

    cursor: pointer;
}
.checkboxes .option__input:focus + .option__label + .option__icon,
.webform-checkboxes-other .option__input:focus + .option__label + .option__icon
{
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
.checkboxes .option__input:focus + .option__label + .option__icon svg path,
.webform-checkboxes-other .option__input:focus + .option__label + .option__icon svg path
{
    stroke-dashoffset: 0;
}
.checkboxes .option:hover .option__icon,
.webform-checkboxes-other .option:hover .option__icon
{
    box-shadow: 0 0 0 4px #f2f4f9;
}
.checkboxes .option:hover .option__icon svg path,
.webform-checkboxes-other .option:hover .option__icon svg path
{
    stroke-dashoffset: 0;
}
.checkboxes .option__input:checked + .option__label + .option__icon,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon
{
    border-color: #002f87;
}
.checkboxes .option__input:checked + .option__label + .option__icon svg path,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon svg path
{
    fill: #002f87;
}
.checkboxes .option__input:checked + .option__label + .option__icon svg polyline,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon svg polyline
{
    stroke-dashoffset: 0;
}

input
{
    /*appearance: none;*/
    display: block;

    width: 100%;
    padding: 8px;

    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    border: 2px solid #596063;
}
input:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
input:hover
{
    border-color: #002f87;
}

input[type='search']
{
    border-radius: 0; 

    appearance: none;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button
{
    margin: 0; 

    appearance: none;
}

textarea
{
    display: block;

    width: 100%;
    min-height: 128px;
    padding: 8px;

    resize: vertical;
    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    border: 2px solid #596063;
}
textarea:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
textarea:hover
{
    border-color: #002f87;
}

address
{
    font-style: normal;

    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    address
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    address
    {
        margin-bottom: 19px;
    }
}

@page
{
    margin: 2cm;
}

*,
*:before,
*:after
{
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

a,
a:visited
{
    text-decoration: underline;
}

a[href]:after
{
    content: ' (' attr(href) ')';
}

abbr[title]:after
{
    content: ' (' attr(title) ')';
}

a[href^='#']:after,
a[href^='javascript:']:after
{
    content: '';
}

pre
{
    white-space: pre-wrap !important;
}

pre,
blockquote
{
    border: 1px solid #999;

    page-break-inside: avoid;
}

thead
{
    display: table-header-group;
}

tr,
img
{
    page-break-inside: avoid;
}

p,
h2,
h3
{
    orphans: 3;
    widows: 3;
}

h2,
h3
{
    page-break-after: avoid;
}

#header-container,
#footer-container,
.shortcut--main,
.shortcut--header,
.pagination,
svg,
img
{
    display: none;
}
