@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html
{
    font-family: sans-serif;
    /* 1 */

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

/**
 * Remove default margin.
 */
body
{
    margin: 0;
}

/* HTML5 display definitions
	 ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary
{
    display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video
{
    display: inline-block;
    /* 1 */

    vertical-align: baseline;
    /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls])
{
    display: none;

    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template
{
    display: none;
}

/* Links
	 ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a
{
    background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover
{
    outline: 0;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title]
{
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong
{
    font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn
{
    font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1
{
    font-size: 2em;

    margin: .67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark
{
    color: #000; 
    background: #ff0;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small
{
    font-size: 80%;
}

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

    position: relative;

    vertical-align: baseline;
}

sup
{
    top: -.5em;
}

sub
{
    bottom: -.25em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img
{
    border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root)
{
    overflow: hidden;
}

/* Grouping content
	 ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure
{
    margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr
{
    box-sizing: content-box;
    height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre
{
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp
{
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
	 ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea
{
    /* 1 */
    font: inherit;
    /* 2 */

    margin: 0;

    color: inherit;
    /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button
{
    overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select
{
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type='button'],
input[type='reset'],
input[type='submit']
{
    /* 2 */
    cursor: pointer;

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

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled]
{
    cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner
{
    padding: 0; 

    border: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input
{
    line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],
input[type='radio']
{
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button
{
    height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type='search']
{
    /* 1 */
    box-sizing: content-box;

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

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset
{
    margin: 0 2px;
    padding: .35em .625em .75em; 

    border: 1px solid #c0c0c0;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend
{
    /* 1 */
    padding: 0;

    border: 0;
    /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea
{
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup
{
    font-weight: bold;
}

/* Tables
	 ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table
{
    border-spacing: 0; 
    border-collapse: collapse;
}

td,
th
{
    padding: 0;
}

.listreset,
.app-links ul,
.step-second .box ul,
.step-second .text ul
{
    margin: 0;
    padding: 0;

    list-style: none;
}

.clearfix:after,
dl:after
{
    display: block;
    clear: both; 

    content: '';
}

.btn
{
    -webkit-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out;
}

.ellipsis
{
    /* 2 */
    overflow: hidden; 

    white-space: nowrap;
    /* 1 */
    text-overflow: ellipsis;
}

.btn
{
    display: inline-block;

    vertical-align: top;
}

html
{
    box-sizing: border-box;
}

*,
*:before,
*:after
{
    box-sizing: inherit;
}

*
{
    max-height: 1000000px;
}

body
{
    font: 16px/1.3125 'Roboto', 'Arial', 'Helvetica Neue', 'Helvetica', sans-serif;

    min-width: 320px;

    color: #707070;
    background: #fff;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img
{
    max-width: 100%;
    height: auto; 

    vertical-align: top;
}

.gm-style img
{
    max-width: none;
}

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

.vjs-dock-text
{
    display: none !important;
}

ul,
ol,
dl,
p,
h1,
h2,
h3,
h4,
h5,
h6,
address,
form,
table,
blockquote,
applet,
embed,
object,
iframe,
frameset
{
    margin: 0 0 1.3125em;
}

blockquote
{
    margin-left: 1.3125em; 
    padding-left: .5em;

    border-left: 4px solid #999;
}

th,
td
{
    padding: .5em;

    text-align: left;
    vertical-align: top; 

    border: 1px solid #999;
}

th
{
    text-align: center;
    vertical-align: middle;
}

ul,
ol
{
    padding-left: 3em;
}

ul ul,
ul ol,
ol ul,
ol ol
{
    margin: 0; 
    padding-left: 3em;
}

ul
{
    list-style-type: disc;
}

dl dt
{
    font-weight: bold; 

    float: left;
    clear: left;

    padding-right: .3em;
}

dl dd
{
    overflow: hidden;
}

pre
{
    max-width: 100%;
}

form,
fieldset
{
    margin: 0;
    padding: 0;

    border-style: none;
}

input[type='text'],
input[type='tel'],
input[type='email'],
input[type='search'],
input[type='password'],
textarea
{
    box-sizing: border-box;
    padding: .4em .7em; 

    border: 1px solid #999;
    -webkit-border-radius: 0;

    -webkit-appearance: none;
}
input[type='text']:focus,
input[type='tel']:focus,
input[type='email']:focus,
input[type='search']:focus,
input[type='password']:focus,
textarea:focus
{
    border-color: #000;
}
input[type='text']::-webkit-input-placeholder,
input[type='tel']::-webkit-input-placeholder,
input[type='email']::-webkit-input-placeholder,
input[type='search']::-webkit-input-placeholder,
input[type='password']::-webkit-input-placeholder,
textarea::-webkit-input-placeholder
{
    color: #999;
}
input[type='text']::-moz-placeholder,
input[type='tel']::-moz-placeholder,
input[type='email']::-moz-placeholder,
input[type='search']::-moz-placeholder,
input[type='password']::-moz-placeholder,
textarea::-moz-placeholder
{
    opacity: 1;
    color: #999;
}
input[type='text']:-moz-placeholder,
input[type='tel']:-moz-placeholder,
input[type='email']:-moz-placeholder,
input[type='search']:-moz-placeholder,
input[type='password']:-moz-placeholder,
textarea:-moz-placeholder
{
    color: #999;
}
input[type='text']:-ms-input-placeholder,
input[type='tel']:-ms-input-placeholder,
input[type='email']:-ms-input-placeholder,
input[type='search']:-ms-input-placeholder,
input[type='password']:-ms-input-placeholder,
textarea:-ms-input-placeholder
{
    color: #999;
}
input[type='text'].placeholder,
input[type='tel'].placeholder,
input[type='email'].placeholder,
input[type='search'].placeholder,
input[type='password'].placeholder,
textarea.placeholder
{
    color: #999;
}

select
{
    -webkit-border-radius: 0;
}

textarea
{
    resize: vertical;
    vertical-align: top;
}

button,
input[type='button'],
input[type='reset'],
input[type='file'],
input[type='submit']
{
    cursor: pointer; 

    -webkit-border-radius: 0;

    -webkit-appearance: none;
}

@font-face
{
    font-family: 'icomoon';
    font-weight: normal;
    font-style: normal;

    src: url('fonts/icomoon.eot?s1d305');
    src: url('fonts/icomoon.eot?s1d305#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?s1d305') format('truetype'), url('fonts/icomoon.woff?s1d305') format('woff'), url('fonts/icomoon.svg?s1d305#icomoon') format('svg');
    font-display: block;
}

[class^='icon-'],
[class*=' icon-']
{
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;

    text-transform: none;

    speak: never;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-triangle-down:before
{
    content: '\e905';
}

.icon-people:before
{
    content: '\e901';
}

.icon-book:before
{
    content: '\e903';
}

.icon-question:before
{
    content: '\e904';
}

.icon-triangle:before
{
    content: '\e900';
}

.icon-warning:before
{
    content: '\e902';
}

.icon-play:before
{
    content: '\ea1c';
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h
{
    font-family: inherit;
    font-weight: bold;

    margin: 0 0 .5em;

    color: inherit;
}

h1,
.h1
{
    font-size: 42px;
}
@media (min-width: 1024px)
{
    h1,
    .h1
    {
        font-size: 60px;
    }
}
@media (min-width: 1200px)
{
    h1,
    .h1
    {
        font-size: 70px;
    }
}

h2,
.h2
{
    font-size: 30px;
}
@media (min-width: 1024px)
{
    h2,
    .h2
    {
        font-size: 38px;
    }
}
@media (min-width: 1200px)
{
    h2,
    .h2
    {
        font-size: 45px;
    }
}

h3,
.h3
{
    font-size: 28px;
}
@media (min-width: 1024px)
{
    h3,
    .h3
    {
        font-size: 32px;
    }
}
@media (min-width: 1200px)
{
    h3,
    .h3
    {
        font-size: 36px;
    }
}

h4,
.h4
{
    font-size: 24px;
}

h5,
.h5
{
    font-size: 22px;
}

h6,
.h6
{
    font-size: 18px;
}

p
{
    margin: 0 0 1em;
}

a
{
    color: #39f;
}
a:hover,
a:focus
{
    text-decoration: none;
}

.footer
{
    padding: 20px 12px 100px;

    color: #fff; 
    background: #05676b;
}
@media (min-width: 768px)
{
    .footer
    {
        padding: 20px 0 100px;
    }
}
@media (min-width: 1024px)
{
    .footer
    {
        padding: 15px 0 100px;
    }
}
.footer .logo
{
    display: inline-block;

    margin-bottom: 34px; 
    margin-left: -12px;
}
@media (min-width: 768px)
{
    .footer .logo
    {
        margin-bottom: 32px; 
        margin-left: -20px;
    }
}
.footer .logo img
{
    width: 128px;
}
@media (min-width: 768px)
{
    .footer .logo img
    {
        width: auto;
    }
}
.footer p
{
    margin: 0 0 21px;
}
.footer p a
{
    text-decoration: none; 

    color: #fff;
}
.footer p a:hover
{
    text-decoration: underline;
}

#wrapper
{
    position: relative; 

    overflow: hidden;

    max-width: 100%;
}

.accessibility
{
    position: absolute;
    top: auto;
    left: -10000px;

    overflow: hidden; 

    width: 1px;
    height: 1px;
}

.accessibility:focus
{
    position: static;

    width: auto;
    height: auto;
}

.container
{
    max-width: 1112px;
    margin: 0 auto; 
    padding: 0 20px;
}

.hero-banner
{
    position: relative;
    z-index: 1;

    overflow: hidden; 

    height: 596px;
    padding: 40px 0;

    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
@media (min-width: 768px)
{
    .hero-banner
    {
        overflow: visible;

        height: 430px;
        padding: 0;
    }
}
@media (min-width: 1024px)
{
    .hero-banner
    {
        height: 670px; 
        padding: 18px 0;
    }
}
.hero-banner .container
{
    max-width: 1340px;
    padding: 0 20px;
}
@media (min-width: 768px)
{
    .hero-banner .container
    {
        padding: 0 10px;
    }
}
@media (min-width: 1024px)
{
    .hero-banner .container
    {
        padding: 0 10px;
    }
}
.hero-banner .row
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.hero-banner h1
{
    line-height: .98;

    margin: 0 0 15px;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #ccdbc1;
}
@media (min-width: 768px)
{
    .hero-banner h1
    {
        max-width: 80%;

        letter-spacing: 3.5px;
    }
}
.hero-banner .subtitle
{
    font: 500 28px/28px 'Roboto', 'Arial', 'Helvetica Neue', 'Helvetica', sans-serif;

    display: block;

    margin-bottom: 35px; 
    padding-right: 20px;

    letter-spacing: .5px;
}
@media (min-width: 768px)
{
    .hero-banner .subtitle
    {
        margin-bottom: 20px;
        padding-right: 0; 

        letter-spacing: .9px;
    }
}
@media (min-width: 1024px)
{
    .hero-banner .subtitle
    {
        font-size: 40px;
        line-height: 50px; 

        margin: 0 0 30px;
    }
}
.hero-banner .text
{
    font: 20px/26px 'Roboto', 'Arial', 'Helvetica Neue', 'Helvetica', sans-serif;

    position: relative; 

    padding: 25px 0;
}
@media (min-width: 768px)
{
    .hero-banner .text
    {
        padding: 15px 0 25px;
    }
}
@media (min-width: 1024px)
{
    .hero-banner .text
    {
        font-size: 28px;
        line-height: 36px;

        padding: 25px 0 15px;
    }
}
.hero-banner .text:after
{
    position: absolute;
    top: 0;
    right: -30px;
    left: -50px;

    height: 1px;

    content: '';

    background: #fff;
}
@media (min-width: 768px)
{
    .hero-banner .text:after
    {
        right: -11px; 
        left: -30px;
    }
}
@media (min-width: 1024px)
{
    .hero-banner .text:after
    {
        right: -20px; 
        left: -50px;
    }
}
.hero-banner .col:first-child
{
    display: none;
}
@media (min-width: 768px)
{
    .hero-banner .col:first-child
    {
        display: block;

        width: 240px;
    }
}
@media (min-width: 1024px)
{
    .hero-banner .col:first-child
    {
        width: 377px;
    }
}
.hero-banner .col:last-child
{
    width: 100%;
}
@media (min-width: 768px)
{
    .hero-banner .col:last-child
    {
        width: calc(100% - 240px);
        margin-top: -38px;
    }
}
@media (min-width: 1024px)
{
    .hero-banner .col:last-child
    {
        width: calc(100% - 377px);
        margin-top: -65px;
    }
}
.hero-banner .text-holder
{
    position: relative;

    padding: 42px 10px; 

    color: #fff;
}
@media (min-width: 768px)
{
    .hero-banner .text-holder
    {
        margin-right: 35px;
        padding: 14px 12px;
    }
}
@media (min-width: 1024px)
{
    .hero-banner .text-holder
    {
        margin-right: 0; 
        padding: 54px 22px;
    }
}
.hero-banner .text-holder:after
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: -40px;
    bottom: 0; 
    left: -40px;

    content: '';

    background: rgba(5, 103, 107, .8);
}
@media (min-width: 768px)
{
    .hero-banner .text-holder:after
    {
        right: 0;

        border-radius: 0 36px 36px 0;
    }
}

@media (min-width: 768px)
{
    .france .step-first .row .col.inner .text-holder h3
    {
        letter-spacing: 0;
    }
    .france .step-first .row .col.inner .text-holder .box-holder
    {
        padding: 20px 20px 20px 45px;
    }
}

@media (min-width: 1200px)
{
    .france .step-first .row .col.inner .text-holder .box-holder
    {
        padding: 48px 80px 40px 36px;
    }
}

.about
{
    position: relative; 

    padding: 88px 0 84px;

    text-align: center;

    background-position: 60% 50%;
    background-size: cover;
}
@media (min-width: 768px)
{
    .about
    {
        padding: 100px 0 127px;

        background-position: 50% 50%;
    }
}
.about:after
{
    position: absolute;
    z-index: 1; 
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';

    background: rgba(5, 103, 107, .85);
}
.about .container
{
    position: relative;
    z-index: 2;
}
.about h2
{
    font: italic 500 22px/26px 'Roboto', 'Arial', 'Helvetica Neue', 'Helvetica', sans-serif;

    margin: 0 0 48px;

    letter-spacing: 1px; 

    color: #ccdbc1;
}
@media (min-width: 768px)
{
    .about h2
    {
        font-size: 36px;
        line-height: 44px;

        margin: 0 0 40px;
        padding: 0 40px;
    }
}
.about .photo
{
    display: inline-block;

    margin: 0 0 35px; 
    padding: 15px;

    border: 3px solid #fff;
    border-radius: 50%;
}
@media (min-width: 768px)
{
    .about .photo
    {
        margin: 0 0 40px;
    }
}
.about .photo img
{
    overflow: hidden; 

    border-radius: 50%;
}
.about .text
{
    font-size: 20px;
    line-height: 1.3;

    padding: 0 20px; 

    color: #fff;
}
@media (min-width: 768px)
{
    .about .text
    {
        font-size: 24px;
        line-height: 1.416;
    }
}
.about .text span
{
    font-weight: 700;

    display: block; 

    letter-spacing: 1px;
}

.app-links
{
    position: relative; 

    padding: 28px 0 85px;

    text-align: center;

    color: #05676b;
    background: #fff;
}
@media (min-width: 768px)
{
    .app-links
    {
        padding: 59px 0 62px;
    }
}
@media (min-width: 1024px)
{
    .app-links
    {
        padding: 90px 0 62px;
    }
}
@media (min-width: 1280px)
{
    .app-links
    {
        padding: 136px 0 80px;
    }
}
.app-links .container
{
    position: relative;
}
.app-links.color
{
    padding: 100px 0 50px; 

    color: #fff;
    background: #05676b;
}
@media (min-width: 768px)
{
    .app-links.color
    {
        padding: 100px 0 50px;
    }
}
@media (min-width: 1280px)
{
    .app-links.color
    {
        padding: 115px 0 10px;
    }
}
.app-links.color .icon-decor
{
    position: absolute;
    z-index: 2; 
    top: -48px;
    left: 50%;

    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}
@media (min-width: 768px)
{
    .app-links.color .icon-decor
    {
        top: -40px;
    }
}
.app-links.color .text
{
    font-size: 16px;
    line-height: 20px;

    position: static;

    width: auto;
    margin: 0; 
    padding: 46px 12px 0;

    text-align: left;

    color: #fff;
}
@media (min-width: 768px)
{
    .app-links.color .text
    {
        margin-bottom: 44px; 
        padding: 60px 0 0;
    }
}
.app-links h2
{
    font-size: 30px;
    line-height: 1.2;

    margin: 0 0 30px; 

    letter-spacing: 1.7px;
}
@media (min-width: 768px)
{
    .app-links h2
    {
        font-size: 38px;
    }
}
@media (min-width: 1024px)
{
    .app-links h2
    {
        font-size: 45px;
    }
}
.app-links ul
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.app-links ul li
{
    margin: 0 9px 16px;
}
.app-links ul a
{
    display: block;
}
.app-links ul a:hover
{
    opacity: .75;
}
.app-links ul img
{
    width: 220px;
}
@media (min-width: 1024px)
{
    .app-links ul img
    {
        width: auto;
    }
}
.app-links .text
{
    font-size: 20px;
    line-height: 26px;

    margin-bottom: 65px; 
    padding: 0 10px;

    text-align: center;

    color: #707070;
}
@media (min-width: 768px)
{
    .app-links .text
    {
        font-size: 20px;
        line-height: 22px;

        margin-bottom: 44px; 
        padding: 0 55px;

        text-align: left;
    }
}
@media (min-width: 1280px)
{
    .app-links .text
    {
        font-size: 24px;
        line-height: 28px;

        position: absolute;
        top: -119px;
        right: 0;

        width: calc(100% - 305px); 
        padding: 0;
    }
}

.banner-video
{
    position: relative;

    height: 550px;
    padding: 62px 0; 

    text-align: center;

    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
@media (min-width: 768px)
{
    .banner-video
    {
        height: 430px;
        padding: 27px 0;
    }
}
@media (min-width: 1024px)
{
    .banner-video
    {
        height: 685px; 
        padding: 81px 0;
    }
}
.banner-video:after
{
    position: absolute;
    z-index: 1; 
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';

    background: rgba(5, 103, 107, .85);
}
.banner-video .icon-decor
{
    position: absolute;
    z-index: 2;
    bottom: -26px;
    left: 50%;

    width: 70px; 

    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}
@media (min-width: 768px)
{
    .banner-video .icon-decor
    {
        bottom: -46px;

        width: 82px;
    }
}
@media (min-width: 1024px)
{
    .banner-video .icon-decor
    {
        bottom: -48px;

        width: 94px;
    }
}
.banner-video .container
{
    position: relative;
    z-index: 2;
}
.banner-video h2
{
    font-size: 32px;
    line-height: 35px;

    margin: 0 0 30px; 

    letter-spacing: 1px;
    text-transform: uppercase;

    color: #ccdbc1;
}
@media (min-width: 768px)
{
    .banner-video h2
    {
        font-size: 36px;
        line-height: 40px; 

        margin: 0 0 22px;
    }
}
@media (min-width: 1024px)
{
    .banner-video h2
    {
        font-size: 55px;
        line-height: 1;

        letter-spacing: 2.5px;
    }
}
.banner-video .video-holder
{
    position: relative;

    display: inline-block;

    width: 310px;

    border: 3px solid #ccdbc1;
    border-radius: 8px;
    box-shadow: 0 4px 10px 1px rgba(0, 0, 0, .5);
}
@media (min-width: 768px)
{
    .banner-video .video-holder
    {
        width: 340px;
    }
}
@media (min-width: 1024px)
{
    .banner-video .video-holder
    {
        width: 503px;
    }
}
.banner-video .video-holder video
{
    width: 100%; 

    vertical-align: top;
}
.banner-video .video-holder.active .play
{
    z-index: -10; 

    opacity: 0;
}
.banner-video .video-holder .play
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 91px;

    cursor: pointer;
    -webkit-transition: all .3s;
            transition: all .3s; 
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    opacity: 1;
}
@media (min-width: 1024px)
{
    .banner-video .video-holder .play
    {
        width: 146px;
    }
}
.banner-video .video-holder .play img
{
    width: 100%;
}

.steps .container
{
    max-width: 1300px;
}

.steps h2.title
{
    font-size: 30px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    margin-bottom: 20px; 

    text-align: center;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #05676b;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
}
@media (min-width: 768px)
{
    .steps h2.title
    {
        font-size: 45px;

            flex-direction: row;

        margin-bottom: 45px; 

        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}
@media (min-width: 1200px)
{
    .steps h2.title
    {
        margin-bottom: 29px;
    }
}
.steps h2.title span
{
    font-weight: 400;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 70px;
    height: 70px;
    margin-bottom: 17px; 

    border: 3px solid #05676b;
    border-radius: 50%;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
@media (min-width: 768px)
{
    .steps h2.title span
    {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;

        width: 72px;
        height: 72px;
        margin-right: 15px; 
        margin-bottom: 0;
    }
}

.steps .link-more-less
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 50%;

    cursor: pointer; 
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    text-transform: uppercase;

    color: #00adb5;
}
@media (min-width: 768px)
{
    .steps .link-more-less
    {
        display: none;
    }
}
.steps .link-more-less.link-active
{
    bottom: -30px;
}
.steps .link-more-less.link-active .less
{
    display: inline-block;
}
.steps .link-more-less.link-active .more
{
    display: none;
}
.steps .link-more-less .less
{
    display: none;
}

@media (max-width: 767px)
{
    .steps.step-first
    {
        padding-bottom: 50px;
    }
    .steps.step-second
    {
        padding-bottom: 93px;
    }
    .steps.step-third
    {
        padding-top: 65px;
        padding-bottom: 83px;
    }
    .steps.step-third .row.block-slide .col:first-child
    {
        margin-top: -10px;
        margin-bottom: 0;
    }
    .steps.step-third .row.block-slide .col .img.mobile
    {
        height: 210px;
    }
    .steps.step-third.block-active
    {
        overflow: visible; 

        max-height: 4000px;
    }
    .steps.step-third.block-active:after
    {
        display: none;
    }
    .steps.step-third.block-active .row.block-slide .img.mobile
    {
        position: relative; 

        overflow: visible;

        height: auto;

        text-align: center;

        border-bottom: 0;
    }
    .steps.block-active .row.block-slide
    {
        overflow: visible; 

        max-height: 4000px;
    }
    .steps.block-active .row.block-slide:after
    {
        display: none;
    }
    .steps.block-active .row.block-slide .img.mobile
    {
        position: relative; 

        overflow: visible;

        height: auto;

        text-align: center;

        border-bottom: 0;
    }
    .steps.block-active .row.block-slide .text.mobile
    {
        display: block; 
        overflow: visible;

        max-height: none;

        -webkit-line-clamp: none;
        box-orient: unset;
    }
    .steps .row.block-slide
    {
        position: relative;

        overflow: hidden;

        max-height: 350px;

        -webkit-transition: all .3s;
                transition: all .3s;
    }
    .steps .row.block-slide .col
    {
        margin-bottom: 30px;
    }
    .steps .row.block-slide:after
    {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;

        height: 35px;

        content: '';

        background: inherit;
    }
    .steps .row.block-slide .text.mobile
    {
        font-size: 20px;
        line-height: 26px;

        display: -webkit-box;
        overflow: hidden;

        max-height: 78px;

        text-overflow: ellipsis;

        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }
    .steps .row.block-slide .img.mobile
    {
        position: relative;

        display: inline-block;
        overflow: hidden;

        width: 260px;
        height: 200px;
        margin-bottom: 30px; 

        text-align: center;

        border-bottom: 1px solid #707070;
    }
}

.step-first
{
    padding: 145px 0;

    background: #fff;
}
@media (min-width: 768px)
{
    .step-first
    {
        padding: 104px 0;
    }
}
@media (min-width: 1200px)
{
    .step-first
    {
        padding: 194px 0 120px;
    }
}
.step-first .row
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    background: #fff; 

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
@media (min-width: 768px)
{
    .step-first .row
    {
        padding: 0 5px 0 70px;
    }
}
@media (min-width: 1200px)
{
    .step-first .row
    {
        padding-left: 63px;
    }
}
@media (min-width: 768px)
{
    .step-first .row .col:first-child
    {
        margin-bottom: 35px;
    }
}
@media (min-width: 1200px)
{
    .step-first .row .col:first-child
    {
        width: 47.5%;
        margin-bottom: 0; 
        padding: 0 30px;
    }
}
.step-first .row .col:first-child .text
{
    padding-bottom: 80px;
}
@media (min-width: 1200px)
{
    .step-first .row .col:nth-child(2)
    {
        width: 52.5%;
    }
}
.step-first .row .col.inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
@media (min-width: 768px)
{
    .step-first .row .col.inner
    {
        padding-top: 50px; 
        padding-left: 7px;
    }
}
@media (min-width: 1200px)
{
    .step-first .row .col.inner
    {
        padding-top: 100px;
        padding-left: 34px;
    }
}
.step-first .row .col.inner .img-holder
{
    position: relative;
    z-index: 2;

    width: 100%;

    text-align: center;
}
@media (min-width: 768px)
{
    .step-first .row .col.inner .img-holder
    {
        width: 162px;
    }
}
@media (min-width: 1200px)
{
    .step-first .row .col.inner .img-holder
    {
        width: 192px;
    }
}
.step-first .row .col.inner .img-holder img
{
    width: 200px;
}
@media (min-width: 768px)
{
    .step-first .row .col.inner .img-holder img
    {
        width: 100%;
    }
}
.step-first .row .col.inner .img-holder .play
{
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}
.step-first .row .col.inner .img-holder .play img
{
    width: 88px;
    height: 88px;
}
@media (min-width: 1200px)
{
    .step-first .row .col.inner .img-holder .play img
    {
        width: 104px;
        height: 104px;
    }
}
.step-first .row .col.inner .text-holder
{
    width: 100%;
}
@media (min-width: 768px)
{
    .step-first .row .col.inner .text-holder
    {
        width: calc(100% - 162px);
    }
}
@media (min-width: 1200px)
{
    .step-first .row .col.inner .text-holder
    {
        width: calc(100% - 192px);
        padding-right: 86px;
    }
}
.step-first .row .col.inner .text-holder .box-holder
{
    font-size: 20px;
    line-height: 24px;

    position: relative;

    overflow: hidden;

    padding: 20px; 

    color: #fff;
    border: 3px solid #05676b;
    border-radius: 50px;
    background-position: 50% 50%;
    background-size: cover;
}
@media (min-width: 768px)
{
    .step-first .row .col.inner .text-holder .box-holder
    {
        margin-left: -12px;
        padding: 38px 20px 38px 45px;

        border-left: 0; 
        border-radius: 0 80px 80px 0;
    }
}
@media (min-width: 1200px)
{
    .step-first .row .col.inner .text-holder .box-holder
    {
        font-size: 24px;
        line-height: 34px; 

        padding: 58px 80px 58px 36px;
    }
}
.step-first .row .col.inner .text-holder .box-holder:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: ''; 

    background: rgba(0, 173, 181, .8);
}
.step-first .row .col.inner .text-holder h3
{
    font-size: 36px;
    line-height: 1;

    position: relative;
    z-index: 1;

    margin-bottom: 20px;
}
@media (min-width: 768px)
{
    .step-first .row .col.inner .text-holder h3
    {
        font-size: 28px;
        line-height: 32px; 

        letter-spacing: 1.7px;
    }
}
@media (min-width: 1200px)
{
    .step-first .row .col.inner .text-holder h3
    {
        letter-spacing: 2.2px;
    }
}
.step-first .row .col.inner .text-holder span
{
    font-weight: 500;

    position: relative;
    z-index: 1;

    margin-bottom: 0;
    padding-right: 40px;
}
.step-first .box
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.step-first .box .img
{
    width: 200px;
}
@media (min-width: 768px)
{
    .step-first .box .img
    {
        width: 162px;
    }
}
@media (min-width: 1200px)
{
    .step-first .box .img
    {
        width: 192px;
    }
}
.step-first .box .text
{
    font-size: 20px;
    line-height: 26px;

    width: 100%; 
    padding: 0 15px 10px;
}
@media (min-width: 768px)
{
    .step-first .box .text
    {
        width: calc(100% - 162px); 
        padding: 26px 95px 0 35px;
    }
}
@media (min-width: 1200px)
{
    .step-first .box .text
    {
        font-size: 24px;
        line-height: 34px;

        width: calc(100% - 192px); 
        padding-right: 0;
    }
}
.step-first .box .text br
{
    margin-bottom: 7px;
}

.step-second
{
    padding: 75px 0 100px; 

    background: #f0f6ee;
}
@media (min-width: 768px)
{
    .step-second
    {
        padding: 94px 0 164px;
    }
}
.step-second .row
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin: 0 -20px;

    background: #f0f6ee; 

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
@media (min-width: 768px)
{
    .step-second .row
    {
        padding: 0 60px;
    }
}
@media (min-width: 1024px)
{
    .step-second .row
    {
        padding: 0;
    }
}
@media (min-width: 1200px)
{
    .step-second .row
    {
        padding-left: 100px;
    }
}
.step-second .row .col:first-child
{
    width: 100%; 
    padding: 0 20px;
}
@media (min-width: 1024px)
{
    .step-second .row .col:first-child
    {
        width: 53.5%;
    }
}
.step-second .row .col.inn
{
    width: 100%;
    padding: 15px 30px 0;
}
@media (min-width: 768px)
{
    .step-second .row .col.inn
    {
        padding: 15px 20px 0;
    }
}
@media (min-width: 1024px)
{
    .step-second .row .col.inn
    {
        width: 46.5%;
    }
}
.step-second .block
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.step-second .block .img
{
    width: 200px;
    margin: 0 auto 50px;
}
@media (min-width: 768px)
{
    .step-second .block .img
    {
        margin-bottom: 0;
    }
}
.step-second .box
{
    font-size: 20px;
    line-height: 26px;

    max-width: 520px;
    margin: 0 auto;
    padding: 45px 30px 57px;

    color: #fff;
    border: 3px solid #05676b;
    border-radius: 50px; 
    background-position: 50% 50%;
    background-size: cover;
}
@media (min-width: 768px)
{
    .step-second .box
    {
        font-size: 24px;
        line-height: 34px; 

        padding: 60px 65px 70px;

        border-radius: 80px;
    }
}
.step-second .box h3
{
    font-size: 28px;
    font-weight: 500;
    line-height: 36px;

    margin-bottom: 24px; 

    letter-spacing: .5px;
}
@media (min-width: 768px)
{
    .step-second .box h3
    {
        font-size: 36px;
        line-height: 42px; 

        margin-bottom: 21px;

        letter-spacing: 1.5px;
    }
}
.step-second .box ul li
{
    position: relative;

    margin: 0 0 5px 20px;
    padding: 0 0 0 16px;
}
@media (min-width: 768px)
{
    .step-second .box ul li
    {
        margin: 0 0 5px 29px; 
        padding: 0 0 0 20px;
    }
}
.step-second .box ul li:before
{
    position: absolute;
    top: 12px;
    left: 0; 

    width: 6px;
    height: 6px;

    content: '';

    border-radius: 50%;
    background: #fff;
}
@media (min-width: 768px)
{
    .step-second .box ul li:before
    {
        top: 16px;
    }
}
.step-second .text
{
    font-size: 20px;
    line-height: 26px;

    width: 100%;
    padding: 0 12px 28px;
}
@media (min-width: 768px)
{
    .step-second .text
    {
        font-size: 24px;
        line-height: 34px;

        width: calc(100% - 200px);
        padding: 45px 0 0 16px;
    }
}
.step-second .text p
{
    margin: 0 0 14px;
}
@media (min-width: 768px)
{
    .step-second .text p
    {
        margin: 0 0 18px;
    }
}
.step-second .text ul li
{
    position: relative;

    margin: 0 0 6px 20px;
    padding-left: 19px;
}
@media (min-width: 768px)
{
    .step-second .text ul li
    {
        margin: 0 0 6px 34px;
        padding-left: 18px;
    }
}
.step-second .text ul li:before
{
    position: absolute;
    top: 10px;
    left: 0; 

    width: 6px;
    height: 6px;

    content: '';

    border-radius: 50%;
    background: #00adb5;
}
@media (min-width: 768px)
{
    .step-second .text ul li:before
    {
        top: 14px;
    }
}
.step-second .text ul span
{
    font-weight: bold; 

    color: #00adb5;
}

.step-third
{
    padding: 132px 0 144px; 

    background: #fff;
}
.step-third .row
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    max-width: 880px;
    margin: 0 auto;

    background: #fff; 

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
@media (min-width: 768px)
{
    .step-third .row
    {
            flex-direction: row-reverse; 

        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
    }
}
.step-third .row .col
{
    padding: 0 14px;
}
@media (min-width: 768px)
{
    .step-third .row .col
    {
        padding: 0 16px;
    }
}
.step-third .row .col.inn
{
    width: 100%;
}
@media (min-width: 768px)
{
    .step-third .row .col.inn
    {
        width: 58.5%;
        padding: 72px 16px 0;
    }
}
.step-third .row .col:first-child
{
    width: 100%;

    text-align: center;
}
@media (min-width: 768px)
{
    .step-third .row .col:first-child
    {
        width: 41.5%;
    }
}
.step-third .text
{
    font-size: 20px;
    line-height: 26px;
}
@media (min-width: 768px)
{
    .step-third .text
    {
        font-size: 24px;
        line-height: 34px;
    }
}

.bc-player-MNneztJMW_default
{
    background-color: white !important;
}

@media (max-width: 767px)
{
    .v-holder
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

.btn
{
    padding: .4em .7em;

    text-decoration: none; 

    color: #fff;
    border-radius: 0;
    background: #000;
}

@media print
{
    body
    {
        overflow: visible; 

        color: #000;
        background: #fff;
    }
    *
    {
        color: #000 !important;
        background: none !important;
    }
    .search-form,
    .navigation,
    .navigation-single,
    #header,
    #footer
    {
        display: none !important;
    }
}

.resize-active *
{
    -webkit-transition: none !important;
            transition: none !important;
}
