*,
html
{
    box-sizing: border-box;
}

*:focus
{
    outline: none;
}

body
{
    font-family: verdana, arial, sans-serif;

    position: relative;

    color: #fff;
    background-color: #111;
}

body.is-locked
{
    overflow: hidden;
}

section
{
    padding: 1rem;
}

fieldset
{
    margin: 0;
    padding: 0;

    border: none;
}

nav
{
    font-size: 1.25rem;

    min-height: 3.5rem;
    padding: .75rem 1rem;

    text-align: right;

    color: #fff;
    background-color: #E52C2C;
    box-shadow: 0 0 1rem rgba(0, 0, 0, .5);
}

h2
{
    color: #E52C2C;
}

p
{
    line-height: 1.25em;
}

footer
{
    display: flex;

    padding: 1rem;

    color: #fff;
    background-color: #111;
}

footer a
{
    text-decoration: none;

    color: #fff;
}

.bodybg
{
    position: fixed;
    z-index: 0;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100vh;

    opacity: .25;
    background-image: url(../images/TP24_HG.jpg);
    background-size: cover;
}

.content
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;

    displaY: block;
}

.u_center
{
    position: relative;

    display: block;

    width: 100%;
    max-width: 860px;
    margin: 0 auto;
}

.u_orange
{
    color: #E52C2C;
}

.footer_text
{
    display: block;

    width: calc(100% - 165px);

    white-space: nowrap;
}

.footer_logo
{
    display: block;

    height: 2rem;

    white-space: nowrap;
}

.flex-wrap
{
    display: flex;

    margin: -.25rem;

    flex-wrap: wrap;
}

.flex-checkbox
{
    display: block;

    margin: 1rem 0;

    cursor: pointer;
}

.flex-checkbox input[type=checkbox]
{
    display: none;
}

.flex-checkbox input[type=checkbox] + span
{
    position: relative;

    display: inline-block;

    width: 1em;
    height: 1em;
    margin-right: .5em;

    border: #111 1px solid;
    background-color: #fff;
}

.flex-checkbox input[type=checkbox]:checked + span:after
{
    line-height: 1em;

    position: absolute;
    top: 0;
    left: 0;

    width: 1em;
    height: 1em;

    content: '✓';
    text-align: center;

    color: #E52C2C;
    /*
    background-image: url(../images/icon_checkmark.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;*/
}

.b_logo
{
    float: right;

    height: 2rem;
}

.radiolabel,
.checklabel
{
    position: relative;

    display: block;

    width: calc(33.33333% - .5rem);
    height: 0;
    margin: .25rem;
    padding-top: 33%;
}

.label_wrap
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;
    padding: 10%;

    color: #111;
    border: transparent 2px solid;
    background-color: #eee;
}

.label_wrap > span
{
    position: relative;

    display: block;

    width: 100%;
    height: calc(100% - 1rem);

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.label_wrap.label_wrap--bigwrap > span
{
    background-position: top center;
    background-size: 75%;
}

@media all and (max-width: 36rem)
{
    .label_wrap.label_wrap--bigwrap > span
    {
        background-size: 65%;
    }
}

@media all and (max-width: 28rem)
{
    .label_wrap.label_wrap--bigwrap > span
    {
        background-size: 45%;
    }
}

.label_text
{
    position: absolute;
    bottom: -1.5rem;

    width: 100%;

    text-align: center;

    color: #111;
}

.radiolabel input[type=radio],
.checklabel input[type=checkbox]
{
    display: none;
}

.radiolabel input[type=radio]:checked + .label_wrap,
.checklabel input[type=checkbox]:checked + .label_wrap
{
    border: #E52C2C 2px solid;
}

.radiolabel input[type=radio]:checked + .label_wrap,
.checklabel input[type=checkbox]:checked + .label_wrap
{
    border: #E52C2C 2px solid;
}

.info
{
    display: block;

    margin: 2rem 0 0 0;

    background-color: rgba(0, 0, 0, .25);

    backdrop-filter: blur(1px);
}

.info-block
{
    position: relative;

    display: block;

    margin: 2rem 0;
    padding-left: 5rem;
}

.info-block:before
{
    position: absolute;
    top: -.5rem;
    left: -.5rem;

    display: block;

    width: 5rem;
    height: 5rem;

    content: '';

    border-radius: 50%;
    background-color: #fff;
    background-image: url(../images/feature_card.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60%;
}

.info-block.info-block_location:before
{
    background-image: url(../images/feature_location.svg);
    background-size: 35%;
}

.info-block p
{
    color: #E52C2C;
}

.pager
{
    font-size: 14px;
}

.field-wrap
{
    width: 100%;
    margin: .5rem .25rem;
}

.label
{
    font-size: 14px;

    display: block;

    margin-bottom: .25rem;
}

.form_input
{
    width: 100%;
    padding: .5rem;

    border: 1px solid #555;
}

.slick-list
{
    display: block;

    margin-bottom: 1rem !important;
}

.slick-prev
{
    display: none !important;
}

.slick-dots
{
    display: flex;

    margin: .5rem 0;
    padding: 0;

    pointer-events: none;
}

.slick-dots li
{
    display: block;

    width: 20%;
    height: .5rem;

    transition: background-color 333ms;

    background-color: #E52C2C;
}

.slick-dots li.slick-active ~ li
{
    background-color: #eee;
}

.slick-dots li:marker
{
    display: none !important;
}

.slick-dots li button
{
    display: none !important;
}

button.slick-next
{
    float: right;

    padding: .5rem 1rem;

    color: #fff;
    border: none;
    background-color: #E52C2C;
}

.step--last
{
    color: #111;
    background-color: #eee;
}

.step_wrap
{
    padding: 1rem 2rem;
}

@media all and (max-width: 28rem)
{
    .step_wrap
    {
        padding: 1rem;
    }
}
