@charset "UTF-8";
/*!
 * Bootstrap v4.0.0 (https://getbootstrap.com)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
@import url(https://fonts.googleapis.com/css?family=Dosis|Source+Sans+Pro&display=swap);
@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css);

:root {
    --blue: #295196;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e44a7f;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #e5cf4e;
    --green: #71c171;
    --teal: #c2e718;
    --cyan: #3eb0f7;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --primary: #3ea2f7;
    --secondary: #295196;
    --success: #e44a7f;
    --info: #3eb0f7;
    --warning: #e5cf4e;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #666;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --font-family-sans-serif: "Source Sans Pro", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --font-family-monospace: "Courier New", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace
}

.generated {
    !important;

    *,
    ::after,
    ::before {
        box-sizing: border-box
    }

    a { color: #3eb0f7 }

    figcaption,
    figure,
    main {
        display: block
    }

    [tabindex="-1"]:focus {
        outline: 0 !important
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-top: 0;
        margin-bottom: .5rem
    }

    h1, h2, h3, h4, h5, h6 {
        font-size: inherit;
        font-weight: inherit;
    }

    .h2, h2 {
        font-size: 2rem;
    }

    p {
        margin-top: 0;
        margin-bottom: 1rem
    }

    ol {
        margin-top: 0;
        margin-bottom: 1rem
    }

    ol ol {
        margin-bottom: 0
    }

    b,
    strong {
        font-weight: bolder
    }

    small {
        font-size: 80%
    }


    figure {
        margin: 0 0 1rem
    }

    img {
        vertical-align: middle;
        border-style: none
    }

    table {
        border-collapse: collapse
    }

    button {
        border-radius: 0
    }

    button:focus {
        outline: 1px dotted;
        outline: 5px auto -webkit-focus-ring-color
    }

    button,
    input,
    select {
        margin: 0;
        font-family: inherit;
        font-size: inherit;
        line-height: inherit
    }

    button,
    input {
        overflow: visible
    }

    button,
    select {
        text-transform: none
    }

    [type=reset],
    [type=submit],
    button,
    html [type=button] {
        -webkit-appearance: button
    }

    [type=button]::-moz-focus-inner,
    [type=reset]::-moz-focus-inner,
    [type=submit]::-moz-focus-inner,
    button::-moz-focus-inner {
        padding: 0;
        border-style: none
    }

    input[type=checkbox],
    input[type=radio] {
        box-sizing: border-box;
        padding: 0
    }

    input[type=date],
    input[type=datetime-local],
    input[type=month],
    input[type=time] {
        -webkit-appearance: listbox
    }

    [type=number]::-webkit-inner-spin-button,
    [type=number]::-webkit-outer-spin-button {
        height: auto
    }

    [type=search] {
        outline-offset: -2px;
        -webkit-appearance: none
    }

    [type=search]::-webkit-search-cancel-button,
    [type=search]::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-file-upload-button {
        font: inherit;
        -webkit-appearance: button
    }

    [hidden] {
        display: none !important
    }

    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-bottom: .5rem;
        font-family: inherit;
        font-weight: 500;
        line-height: 1.2;
        color: inherit
    }

    .h1,
    h1 {
        font-size: 2.5rem
    }

    .h2,
    h2 {
        font-size: 2rem
    }

    .h3,
    h3 {
        font-size: 1.75rem
    }

    .h4,
    h4 {
        font-size: 1.5rem
    }

    .h5,
    h5 {
        font-size: 1.25rem
    }

    .h6,
    h6 {
        font-size: 1rem
    }

    .small,
    small {
        font-size: 80%;
        font-weight: 400
    }

    .mark,
    mark {
        padding: .2em;
        background-color: #fcf8e3
    }

    .figure {
        display: inline-block
    }

    .figure-img {
        margin-bottom: .5rem;
        line-height: 1
    }

    .container {
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
        margin-right: auto;
        margin-left: auto
    }

    @media (min-width: 1200px) {
        .container {
            max-width: 1185px
        }
    }

    .row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px
    }

    .col,
    .col-1,
    .col-10,
    .col-11,
    .col-12,
    .col-2,
    .col-3,
    .col-4,
    .col-5,
    .col-6,
    .col-7,
    .col-8,
    .col-9,
    .col-lg,
    .col-lg-1,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-md,
    .col-md-1,
    .col-md-10,
    .col-md-11,
    .col-md-12,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-sm,
    .col-sm-1,
    .col-sm-10,
    .col-sm-11,
    .col-sm-12,
    .col-sm-2,
    .col-sm-3,
    .col-sm-4,
    .col-sm-5,
    .col-sm-6,
    .col-sm-7,
    .col-sm-8,
    .col-sm-9,
    .col-xl,
    .col-xl-1,
    .col-xl-10,
    .col-xl-11,
    .col-xl-12,
    .col-xl-2,
    .col-xl-3,
    .col-xl-4,
    .col-xl-5,
    .col-xl-6,
    .col-xl-7,
    .col-xl-8,
    .col-xl-9 {
        position: relative;
        width: 100%;
        min-height: 1px;
        padding-right: 15px;
        padding-left: 15px
    }

    .col {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }

    .col-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%
    }

    .col-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .col-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%
    }

    .col-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%
    }

    .col-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%
    }

    .col-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%
    }

    .col-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%
    }

    .col-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-first {
        order: -1
    }

    .order-last {
        order: 13
    }

    .order-0 {
        order: 0
    }

    .order-1 {
        order: 1
    }

    .order-2 {
        order: 2
    }

    .order-3 {
        order: 3
    }

    .order-4 {
        order: 4
    }

    .order-5 {
        order: 5
    }

    .order-6 {
        order: 6
    }

    .order-7 {
        order: 7
    }

    .order-8 {
        order: 8
    }

    .order-9 {
        order: 9
    }

    .order-10 {
        order: 10
    }

    .order-11 {
        order: 11
    }

    .order-12 {
        order: 12
    }

    @media (min-width: 576px) {

        .alignleft {
            float: left !important;
            padding-right: 10px;
            width: 45% !important;
        }

        .col-sm {
            flex-basis: 0;
            flex-grow: 1;
            max-width: 100%
        }

        .col-sm-1 {
            flex: 0 0 8.3333333333%;
            max-width: 8.3333333333%
        }

        .col-sm-2 {
            flex: 0 0 16.6666666667%;
            max-width: 16.6666666667%
        }

        .col-sm-3 {
            flex: 0 0 25%;
            max-width: 25%
        }

        .col-sm-4 {
            flex: 0 0 33.3333333333%;
            max-width: 33.3333333333%
        }

        .col-sm-5 {
            flex: 0 0 41.6666666667%;
            max-width: 41.6666666667%
        }

        .col-sm-6 {
            flex: 0 0 50%;
            max-width: 50%
        }

        .col-sm-7 {
            flex: 0 0 58.3333333333%;
            max-width: 58.3333333333%
        }

        .col-sm-8 {
            flex: 0 0 66.6666666667%;
            max-width: 66.6666666667%
        }

        .col-sm-9 {
            flex: 0 0 75%;
            max-width: 75%
        }

        .col-sm-10 {
            flex: 0 0 83.3333333333%;
            max-width: 83.3333333333%
        }

        .col-sm-11 {
            flex: 0 0 91.6666666667%;
            max-width: 91.6666666667%
        }

        .col-sm-12 {
            flex: 0 0 100%;
            max-width: 100%
        }

        .order-sm-first {
            order: -1
        }

        .order-sm-last {
            order: 13
        }

        .order-sm-0 {
            order: 0
        }

        .order-sm-1 {
            order: 1
        }

        .order-sm-2 {
            order: 2
        }

        .order-sm-3 {
            order: 3
        }

        .order-sm-4 {
            order: 4
        }

        .order-sm-5 {
            order: 5
        }

        .order-sm-6 {
            order: 6
        }

        .order-sm-7 {
            order: 7
        }

        .order-sm-8 {
            order: 8
        }

        .order-sm-9 {
            order: 9
        }

        .order-sm-10 {
            order: 10
        }

        .order-sm-11 {
            order: 11
        }

        .order-sm-12 {
            order: 12
        }
    }

    @media (min-width: 768px) {
        .col-md {
            flex-basis: 0;
            flex-grow: 1;
            max-width: 100%
        }

        .col-md-1 {
            flex: 0 0 8.3333333333%;
            max-width: 8.3333333333%
        }

        .col-md-2 {
            flex: 0 0 16.6666666667%;
            max-width: 16.6666666667%
        }

        .col-md-3 {
            flex: 0 0 25%;
            max-width: 25%
        }

        .col-md-4 {
            flex: 0 0 33.3333333333%;
            max-width: 33.3333333333%
        }

        .col-md-5 {
            flex: 0 0 41.6666666667%;
            max-width: 41.6666666667%
        }

        .col-md-6 {
            flex: 0 0 50%;
            max-width: 50%
        }

        .col-md-7 {
            flex: 0 0 58.3333333333%;
            max-width: 58.3333333333%
        }

        .col-md-8 {
            flex: 0 0 66.6666666667%;
            max-width: 66.6666666667%
        }

        .col-md-9 {
            flex: 0 0 75%;
            max-width: 75%
        }

        .col-md-10 {
            flex: 0 0 83.3333333333%;
            max-width: 83.3333333333%
        }

        .col-md-11 {
            flex: 0 0 91.6666666667%;
            max-width: 91.6666666667%
        }

        .col-md-12 {
            flex: 0 0 100%;
            max-width: 100%
        }

        .order-md-first {
            order: -1
        }

        .order-md-last {
            order: 13
        }

        .order-md-0 {
            order: 0
        }

        .order-md-1 {
            order: 1
        }

        .order-md-2 {
            order: 2
        }

        .order-md-3 {
            order: 3
        }

        .order-md-4 {
            order: 4
        }

        .order-md-5 {
            order: 5
        }

        .order-md-6 {
            order: 6
        }

        .order-md-7 {
            order: 7
        }

        .order-md-8 {
            order: 8
        }

        .order-md-9 {
            order: 9
        }

        .order-md-10 {
            order: 10
        }

        .order-md-11 {
            order: 11
        }

        .order-md-12 {
            order: 12
        }
    }

    @media (min-width: 992px) {
        .col-lg {
            flex-basis: 0;
            flex-grow: 1;
            max-width: 100%
        }

        .col-lg-1 {
            flex: 0 0 8.3333333333%;
            max-width: 8.3333333333%
        }

        .col-lg-2 {
            flex: 0 0 16.6666666667%;
            max-width: 16.6666666667%
        }

        .col-lg-3 {
            flex: 0 0 25%;
            max-width: 25%
        }

        .col-lg-4 {
            flex: 0 0 33.3333333333%;
            max-width: 33.3333333333%
        }

        .col-lg-5 {
            flex: 0 0 41.6666666667%;
            max-width: 41.6666666667%
        }

        .col-lg-6 {
            flex: 0 0 50%;
            max-width: 50%
        }

        .col-lg-7 {
            flex: 0 0 58.3333333333%;
            max-width: 58.3333333333%
        }

        .col-lg-8 {
            flex: 0 0 66.6666666667%;
            max-width: 66.6666666667%
        }

        .col-lg-9 {
            flex: 0 0 75%;
            max-width: 75%
        }

        .col-lg-10 {
            flex: 0 0 83.3333333333%;
            max-width: 83.3333333333%
        }

        .col-lg-11 {
            flex: 0 0 91.6666666667%;
            max-width: 91.6666666667%
        }

        .col-lg-12 {
            flex: 0 0 100%;
            max-width: 100%
        }

        .order-lg-first {
            order: -1
        }

        .order-lg-last {
            order: 13
        }

        .order-lg-0 {
            order: 0
        }

        .order-lg-1 {
            order: 1
        }

        .order-lg-2 {
            order: 2
        }

        .order-lg-3 {
            order: 3
        }

        .order-lg-4 {
            order: 4
        }

        .order-lg-5 {
            order: 5
        }

        .order-lg-6 {
            order: 6
        }

        .order-lg-7 {
            order: 7
        }

        .order-lg-8 {
            order: 8
        }

        .order-lg-9 {
            order: 9
        }

        .order-lg-10 {
            order: 10
        }

        .order-lg-11 {
            order: 11
        }

        .order-lg-12 {
            order: 12
        }
    }

    @media (min-width: 1200px) {
        .col-xl {
            flex-basis: 0;
            flex-grow: 1;
            max-width: 100%
        }

        .col-xl-1 {
            flex: 0 0 8.3333333333%;
            max-width: 8.3333333333%
        }

        .col-xl-2 {
            flex: 0 0 16.6666666667%;
            max-width: 16.6666666667%
        }

        .col-xl-3 {
            flex: 0 0 25%;
            max-width: 25%
        }

        .col-xl-4 {
            flex: 0 0 33.3333333333%;
            max-width: 33.3333333333%
        }

        .col-xl-5 {
            flex: 0 0 41.6666666667%;
            max-width: 41.6666666667%
        }

        .col-xl-6 {
            flex: 0 0 50%;
            max-width: 50%
        }

        .col-xl-7 {
            flex: 0 0 58.3333333333%;
            max-width: 58.3333333333%
        }

        .col-xl-8 {
            flex: 0 0 66.6666666667%;
            max-width: 66.6666666667%
        }

        .col-xl-9 {
            flex: 0 0 75%;
            max-width: 75%
        }

        .col-xl-10 {
            flex: 0 0 83.3333333333%;
            max-width: 83.3333333333%
        }

        .col-xl-11 {
            flex: 0 0 91.6666666667%;
            max-width: 91.6666666667%
        }

        .col-xl-12 {
            flex: 0 0 100%;
            max-width: 100%
        }

        .order-xl-first {
            order: -1
        }

        .order-xl-last {
            order: 13
        }

        .order-xl-0 {
            order: 0
        }

        .order-xl-1 {
            order: 1
        }

        .order-xl-2 {
            order: 2
        }

        .order-xl-3 {
            order: 3
        }

        .order-xl-4 {
            order: 4
        }

        .order-xl-5 {
            order: 5
        }

        .order-xl-6 {
            order: 6
        }

        .order-xl-7 {
            order: 7
        }

        .order-xl-8 {
            order: 8
        }

        .order-xl-9 {
            order: 9
        }

        .order-xl-10 {
            order: 10
        }

        .order-xl-11 {
            order: 11
        }

        .order-xl-12 {
            order: 12
        }
    }

    .table {
        width: 100%;
        max-width: 100%;
        margin-bottom: 1rem;
        background-color: transparent
    }

    .table .table {
        background-color: #fff
    }

    .table-primary {
        background-color: #c9e5fd
    }

    .table-secondary {
        background-color: #c3cee2
    }

    .table-success {
        background-color: #f7ccdb
    }

    .table-danger {
        background-color: #f5c6cb
    }

    .form-control {
        display: block;
        width: 100%;
        padding: .375rem .75rem;
        font-size: 1rem;
        line-height: 1.5;
        color: #495057;
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid #ced4da;
        border-radius: 7px;
        transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
    }

    .form-control::-ms-expand {
        background-color: transparent;
        border: 0
    }

    .form-control:focus {
        color: #495057;
        background-color: #fff;
        border-color: #80bdff;
        outline: 0;
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
    }

    .form-control::placeholder {
        color: #6c757d;
        opacity: 1
    }

    .form-control:disabled,
    .form-control[readonly] {
        background-color: #e9ecef;
        opacity: 1
    }

    select.form-control:not([size]):not([multiple]) {
        height: calc(2.25rem + 2px)
    }

    select.form-control:focus::-ms-value {
        color: #495057;
        background-color: #fff
    }

    .form-control-sm,
    .input-group-sm > .form-control,
    .input-group-sm > .input-group-append > .btn,
    .input-group-sm > .input-group-append > .input-group-text {
        padding: .25rem .5rem;
        font-size: .875rem;
        line-height: 1.5;
        border-radius: .2rem
    }

    .input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]),
    .input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),
    .input-group-sm > select.form-control:not([size]):not([multiple]),
    select.form-control-sm:not([size]):not([multiple]) {
        height: calc(1.8125rem + 2px)
    }

    .form-control-lg,
    .input-group-lg > .form-control,
    .input-group-lg > .input-group-append > .btn,
    .input-group-lg > .input-group-append > .input-group-text {
        padding: .5rem 1rem;
        font-size: 1.25rem;
        line-height: 1.5;
        border-radius: .3rem
    }

    .input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]),
    .input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),
    .input-group-lg > select.form-control:not([size]):not([multiple]),
    select.form-control-lg:not([size]):not([multiple]) {
        height: calc(2.875rem + 2px)
    }

    .form-group {
        margin-bottom: 1rem
    }

    .form-text {
        display: block;
        margin-top: .25rem
    }

    .form-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -5px;
        margin-left: -5px
    }

    .form-row > .col,
    .form-row > [class*=col-] {
        padding-right: 5px;
        padding-left: 5px
    }

    .form-check {
        position: relative;
        display: block;
        padding-left: 1.25rem
    }

    .form-check-input {
        position: absolute;
        margin-top: .3rem;
        margin-left: -1.25rem
    }

    .invalid-feedback {
        display: none;
        width: 100%;
        margin-top: .25rem;
        font-size: 80%;
        color: #dc3545
    }

    .form-control.is-invalid {
        border-color: #dc3545
    }

    .form-control.is-invalid:focus {
        border-color: #dc3545;
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
    }

    .form-control.is-invalid ~ .invalid-feedback {
        display: block
    }

    .form-check-input.is-invalid ~ .invalid-feedback {
        display: block
    }

    .btn {
        display: inline-block;
        font-weight: 400;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        user-select: none;
        border: 1px solid transparent;
        padding: .375rem .75rem;
        font-size: 1rem;
        line-height: 1.5;
        border-radius: .45rem;
        transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
    }

    .btn:focus,
    .btn:hover {
        text-decoration: none
    }

    .btn:focus {
        outline: 0;
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
    }

    .btn:disabled {
        opacity: .65
    }

    .btn:not(:disabled):not(.disabled) {
        cursor: pointer
    }

    .btn:not(:disabled):not(.disabled).active,
    .btn:not(:disabled):not(.disabled):active {
        background-image: none
    }

    .btn-primary {
        color: #fff;
        background-color: #3ea2f7;
        border-color: #3ea2f7
    }

    .btn-primary:hover {
        color: #fff;
        background-color: #1990f5;
        border-color: #0d8af5
    }

    .btn-primary:focus {
        box-shadow: 0 0 0 .2rem rgba(62, 162, 247, .5)
    }

    .btn-primary:disabled {
        color: #fff;
        background-color: #3ea2f7;
        border-color: #3ea2f7
    }

    .btn-primary:not(:disabled):not(.disabled).active,
    .btn-primary:not(:disabled):not(.disabled):active {
        color: #fff;
        background-color: #0d8af5;
        border-color: #0a84eb
    }

    .btn-primary:not(:disabled):not(.disabled).active:focus,
    .btn-primary:not(:disabled):not(.disabled):active:focus {
        box-shadow: 0 0 0 .2rem rgba(62, 162, 247, .5)
    }

    .btn-secondary {
        color: #fff;
        background-color: #295196;
        border-color: #295196
    }

    .btn-secondary:hover {
        color: #fff;
        background-color: #214178;
        border-color: #1e3b6e
    }

    .btn-secondary:focus {
        box-shadow: 0 0 0 .2rem rgba(41, 81, 150, .5)
    }

    .btn-secondary:disabled {
        color: #fff;
        background-color: #295196;
        border-color: #295196
    }

    .btn-secondary:not(:disabled):not(.disabled).active,
    .btn-secondary:not(:disabled):not(.disabled):active {
        color: #fff;
        background-color: #1e3b6e;
        border-color: #1b3664
    }

    .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .btn-secondary:not(:disabled):not(.disabled):active:focus {
        box-shadow: 0 0 0 .2rem rgba(41, 81, 150, .5)
    }

    .btn-success {
        color: #fff;
        background-color: #e44a7f;
        border-color: #e44a7f
    }

    .btn-success:hover {
        color: #fff;
        background-color: #df2967;
        border-color: #da2161
    }

    .btn-success:focus {
        box-shadow: 0 0 0 .2rem rgba(228, 74, 127, .5)
    }

    .btn-success:disabled {
        color: #fff;
        background-color: #e44a7f;
        border-color: #e44a7f
    }

    .btn-success:not(:disabled):not(.disabled).active,
    .btn-success:not(:disabled):not(.disabled):active {
        color: #fff;
        background-color: #da2161;
        border-color: #cf1f5c
    }

    .btn-success:not(:disabled):not(.disabled).active:focus,
    .btn-success:not(:disabled):not(.disabled):active:focus {
        box-shadow: 0 0 0 .2rem rgba(228, 74, 127, .5)
    }

    .btn-danger {
        color: #fff;
        background-color: #dc3545;
        border-color: #dc3545
    }

    .btn-danger:hover {
        color: #fff;
        background-color: #c82333;
        border-color: #bd2130
    }

    .btn-danger:focus {
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5)
    }

    .btn-danger:disabled {
        color: #fff;
        background-color: #dc3545;
        border-color: #dc3545
    }

    .btn-danger:not(:disabled):not(.disabled).active,
    .btn-danger:not(:disabled):not(.disabled):active {
        color: #fff;
        background-color: #bd2130;
        border-color: #b21f2d
    }

    .btn-danger:not(:disabled):not(.disabled).active:focus,
    .btn-danger:not(:disabled):not(.disabled):active:focus {
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5)
    }

    .btn-group-lg > .btn,
    .btn-lg {
        padding: .5rem 1rem;
        font-size: 1.25rem;
        line-height: 1.5;
        border-radius: .45rem
    }

    .btn-group-sm > .btn,
    .btn-sm {
        padding: .25rem .5rem;
        font-size: .875rem;
        line-height: 1.5;
        border-radius: .2rem
    }

    .btn-block {
        display: block;
        width: 100%
    }

    .btn-block + .btn-block {
        margin-top: .5rem
    }

    input[type=button].btn-block,
    input[type=reset].btn-block,
    input[type=submit].btn-block {
        width: 100%
    }

    .btn-group {
        position: relative;
        display: inline-flex;
        vertical-align: middle
    }

    .btn-group > .btn {
        position: relative;
        flex: 0 1 auto
    }

    .btn-group > .btn:hover {
        z-index: 1
    }

    .btn-group > .btn:active,
    .btn-group > .btn:focus {
        z-index: 1
    }

    .btn-group .btn + .btn,
    .btn-group .btn + .btn-group,
    .btn-group .btn-group + .btn,
    .btn-group .btn-group + .btn-group {
        margin-left: -1px
    }

    .btn-group > .btn:first-child {
        margin-left: 0
    }

    .btn-group > .btn-group:not(:last-child) > .btn,
    .btn-group > .btn:not(:last-child):not(.dropdown-toggle) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .btn-group > .btn-group:not(:first-child) > .btn,
    .btn-group > .btn:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .input-group {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        width: 100%
    }

    .input-group > .form-control {
        position: relative;
        flex: 1 1 auto;
        width: 1%;
        margin-bottom: 0
    }

    .input-group > .form-control:focus {
        z-index: 3
    }

    .input-group > .form-control + .form-control {
        margin-left: -1px
    }

    .input-group > .form-control:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .input-group > .form-control:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .input-group-append {
        display: flex
    }

    .input-group-append .btn {
        position: relative;
        z-index: 2
    }

    .input-group-append .btn + .btn,
    .input-group-append .btn + .input-group-text,
    .input-group-append .input-group-text + .btn,
    .input-group-append .input-group-text + .input-group-text {
        margin-left: -1px
    }

    .input-group-append {
        margin-left: -1px
    }

    .input-group-text {
        display: flex;
        align-items: center;
        padding: .375rem .75rem;
        margin-bottom: 0;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.5;
        color: #495057;
        text-align: center;
        white-space: nowrap;
        background-color: #e9ecef;
        border: 1px solid #ced4da;
        border-radius: 7px
    }

    .input-group-text input[type=checkbox],
    .input-group-text input[type=radio] {
        margin-top: 0
    }

    .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
    .input-group > .input-group-append:last-child > .input-group-text:not(:last-child),
    .input-group > .input-group-append:not(:last-child) > .btn,
    .input-group > .input-group-append:not(:last-child) > .input-group-text {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .input-group > .input-group-append > .btn,
    .input-group > .input-group-append > .input-group-text {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .card {
        position: relative;
        display: flex;
        flex-direction: column;
        min-width: 0;
        word-wrap: break-word;
        background-color: #fff;
        background-clip: border-box;
        border: 1px solid rgba(0, 0, 0, .125);
        border-radius: .25rem
    }

    .card-body {
        flex: 1 1 auto;
        padding: 1.25rem
    }

    .card-title {
        margin-bottom: .75rem
    }

    .card-text:last-child {
        margin-bottom: 0
    }

    .card-img {
        width: 100%;
        border-radius: calc(.25rem - 1px)
    }

    .card-img-top {
        width: 100%;
        border-top-left-radius: calc(.25rem - 1px);
        border-top-right-radius: calc(.25rem - 1px)
    }

    .card-deck {
        display: flex;
        flex-direction: column
    }

    .card-deck .card {
        margin-bottom: 15px
    }

    @media (min-width: 576px) {
        .card-deck {
            flex-flow: row wrap;
            margin-right: -15px;
            margin-left: -15px
        }

        .card-deck .card {
            display: flex;
            flex: 1 0 0%;
            flex-direction: column;
            margin-right: 15px;
            margin-bottom: 0;
            margin-left: 15px
        }
    }

    .card-group {
        display: flex;
        flex-direction: column
    }

    .card-group > .card {
        margin-bottom: 15px
    }

    @media (min-width: 576px) {
        .card-group {
            flex-flow: row wrap
        }

        .card-group > .card {
            flex: 1 0 0%;
            margin-bottom: 0
        }

        .card-group > .card + .card {
            margin-left: 0;
            border-left: 0
        }

        .card-group > .card:first-child {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0
        }

        .card-group > .card:first-child .card-img-top {
            border-top-right-radius: 0
        }

        .card-group > .card:last-child {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0
        }

        .card-group > .card:last-child .card-img-top {
            border-top-left-radius: 0
        }

        .card-group > .card:only-child {
            border-radius: .25rem
        }

        .card-group > .card:only-child .card-img-top {
            border-top-left-radius: .25rem;
            border-top-right-radius: .25rem
        }

        .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {
            border-radius: 0
        }

        .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top {
            border-radius: 0
        }
    }

    .alert {
        position: relative;
        padding: .75rem 1.25rem;
        margin-bottom: 1rem;
        border: 1px solid transparent;
        border-radius: .25rem
    }

    .alert-heading {
        color: inherit
    }

    .alert-primary {
        color: #205480;
        background-color: #d8ecfd;
        border-color: #c9e5fd
    }

    .alert-secondary {
        color: #152a4e;
        background-color: #d4dcea;
        border-color: #c3cee2
    }

    .alert-success {
        color: #772642;
        background-color: #fadbe5;
        border-color: #f7ccdb
    }

    .alert-danger {
        color: #721c24;
        background-color: #f8d7da;
        border-color: #f5c6cb
    }

    @keyframes progress-bar-stripes {
        from {
            background-position: 1rem 0
        }

        to {
            background-position: 0 0
        }
    }

    .media {
        display: flex;
        align-items: flex-start
    }

    .media-body {
        flex: 1
    }

    .list-group {
        display: flex;
        flex-direction: column;
        padding-left: 0;
        margin-bottom: 0
    }

    .modal {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1050;
        display: none;
        overflow: hidden;
        outline: 0
    }

    .modal-content {
        position: relative;
        display: flex;
        flex-direction: column;
        width: 100%;
        pointer-events: auto;
        background-color: #e5cf4e;
        background-clip: padding-box;
        border: 1px solid rgba(0, 0, 0, .2);
        border-radius: .3rem;
        outline: 0
    }

    .modal-title {
        margin-bottom: 0;
        line-height: 1.5
    }

    .modal-body {
        position: relative;
        flex: 1 1 auto;
        padding: 1rem
    }

    @media (min-width: 576px) {
        .modal-sm {
            max-width: 100%
        }
    }

    @media (min-width: 992px) {
        .modal-lg {
            max-width: 800px
        }
    }

    @supports (transform-style:preserve-3d) {

        .carousel-item-next.carousel-item-left,
        .carousel-item-prev.carousel-item-right {
            transform: translate3d(0, 0, 0)
        }
    }

    @supports (transform-style:preserve-3d) {

        .active.carousel-item-right,
        .carousel-item-next {
            transform: translate3d(100%, 0, 0)
        }
    }

    @supports (transform-style:preserve-3d) {

        .active.carousel-item-left,
        .carousel-item-prev {
            transform: translate3d(-100%, 0, 0)
        }
    }

    .bg-primary {
        background-color: #3ea2f7 !important
    }

    a.bg-primary:focus,
    a.bg-primary:hover,
    button.bg-primary:focus,
    button.bg-primary:hover {
        background-color: #0d8af5 !important
    }

    .bg-secondary {
        background-color: #295196 !important
    }

    a.bg-secondary:focus,
    a.bg-secondary:hover,
    button.bg-secondary:focus,
    button.bg-secondary:hover {
        background-color: #1e3b6e !important
    }

    .bg-success {
        background-color: #e44a7f !important
    }

    a.bg-success:focus,
    a.bg-success:hover,
    button.bg-success:focus,
    button.bg-success:hover {
        background-color: #da2161 !important
    }

    .bg-danger {
        background-color: #dc3545 !important
    }

    a.bg-danger:focus,
    a.bg-danger:hover,
    button.bg-danger:focus,
    button.bg-danger:hover {
        background-color: #bd2130 !important
    }

    .border {
        border: 1px solid #dee2e6 !important
    }

    .border-top {
        border-top: 1px solid #dee2e6 !important
    }

    .border-right {
        border-right: 1px solid #dee2e6 !important
    }

    .border-0 {
        border: 0 !important
    }

    .border-top-0 {
        border-top: 0 !important
    }

    .border-right-0 {
        border-right: 0 !important
    }

    .border-primary {
        border-color: #3ea2f7 !important
    }

    .border-secondary {
        border-color: #295196 !important
    }

    .border-success {
        border-color: #e44a7f !important
    }

    .border-danger {
        border-color: #dc3545 !important
    }

    .d-none {
        display: none !important
    }

    .d-block {
        display: block !important
    }

    .d-table {
        display: table !important
    }

    .d-table-row {
        display: table-row !important
    }

    .d-flex {
        display: flex !important
    }

    @media (min-width: 576px) {
        .d-sm-none {
            display: none !important
        }

        .d-sm-block {
            display: block !important
        }

        .d-sm-table {
            display: table !important
        }

        .d-sm-table-row {
            display: table-row !important
        }

        .d-sm-flex {
            display: flex !important
        }
    }

    @media (min-width: 768px) {
        .d-md-none {
            display: none !important
        }

        .d-md-block {
            display: block !important
        }

        .d-md-table {
            display: table !important
        }

        .d-md-table-row {
            display: table-row !important
        }

        .d-md-flex {
            display: flex !important
        }
    }

    @media (min-width: 992px) {
        .d-lg-none {
            display: none !important
        }

        .d-lg-block {
            display: block !important
        }

        .d-lg-table {
            display: table !important
        }

        .d-lg-table-row {
            display: table-row !important
        }

        .d-lg-flex {
            display: flex !important
        }
    }

    @media (min-width: 1200px) {
        .d-xl-none {
            display: none !important
        }

        .d-xl-block {
            display: block !important
        }

        .d-xl-table {
            display: table !important
        }

        .d-xl-table-row {
            display: table-row !important
        }

        .d-xl-flex {
            display: flex !important
        }
    }

    .flex-row {
        flex-direction: row !important
    }

    .flex-column {
        flex-direction: column !important
    }

    @media (min-width: 576px) {
        .flex-sm-row {
            flex-direction: row !important
        }

        .flex-sm-column {
            flex-direction: column !important
        }
    }

    @media (min-width: 768px) {
        .flex-md-row {
            flex-direction: row !important
        }

        .flex-md-column {
            flex-direction: column !important
        }
    }

    @media (min-width: 992px) {
        .flex-lg-row {
            flex-direction: row !important
        }

        .flex-lg-column {
            flex-direction: column !important
        }
    }

    @media (min-width: 1200px) {
        .flex-xl-row {
            flex-direction: row !important
        }

        .flex-xl-column {
            flex-direction: column !important
        }
    }

    @supports (position:sticky) {
        .sticky-top {
            position: sticky;
            top: 0;
            z-index: 1020
        }
    }

    .w-25 {
        width: 25% !important
    }

    .w-50 {
        width: 50% !important
    }

    .w-75 {
        width: 75% !important
    }

    .w-100 {
        width: 100% !important
    }

    .h-25 {
        height: 25% !important
    }

    .h-50 {
        height: 50% !important
    }

    .h-75 {
        height: 75% !important
    }

    .h-100 {
        height: 100% !important
    }


    .text-right {
        text-align: right !important
    }

    @media (min-width: 576px) {
        .text-sm-right {
            text-align: right !important
        }
    }

    @media (min-width: 768px) {
        .text-md-right {
            text-align: right !important
        }
    }

    @media (min-width: 992px) {
        .text-lg-right {
            text-align: right !important
        }
    }

    @media (min-width: 1200px) {
        .text-xl-right {
            text-align: right !important
        }
    }

    .text-primary {
        color: #3ea2f7 !important
    }

    a.text-primary:focus,
    a.text-primary:hover {
        color: #0d8af5 !important
    }

    .text-secondary {
        color: #295196 !important
    }

    a.text-secondary:focus,
    a.text-secondary:hover {
        color: #1e3b6e !important
    }

    .text-success {
        color: #e44a7f !important
    }

    a.text-success:focus,
    a.text-success:hover {
        color: #da2161 !important
    }

    .text-danger {
        color: #dc3545 !important
    }

    a.text-danger:focus,
    a.text-danger:hover {
        color: #bd2130 !important
    }

    @media print {

        *,
        ::after,
        ::before {
            text-shadow: none !important;
            box-shadow: none !important
        }

        a:not(.btn) {
            text-decoration: underline
        }

        img {
            page-break-inside: avoid
        }

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

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

        @page {
            size: a3
        }

        body {
            min-width: 992px !important
        }

        .container {
            min-width: 992px !important
        }

        .table {
            border-collapse: collapse !important
        }
    }

    .small-box-05 {
        width: 50%
    }

    .heading-xl {
        font-family: Dosis, Arial, Helvetica, sans-serif;
        font-weight: 600;
        font-size: 21pt;
        line-height: 1
    }

    @media (min-width: 768px) {
        .heading-xl {
            font-size: 30pt
        }
    }

    .heading-lg {
        font-family: Dosis, Arial, Helvetica, sans-serif;
        font-weight: 600;
        font-size: 18pt;
        line-height: 1;
        margin: 0
    }

    @media (min-width: 768px) {
        .heading-lg {
            font-size: 24pt
        }
    }

    .heading-lg small {
        font-size: 13pt
    }

    .heading-md {
        font-family: Dosis, Arial, Helvetica, sans-serif;
        font-weight: 600;
        font-size: 16pt;
        line-height: 1
    }

    @media (min-width: 768px) {
        .heading-md {
            font-size: 20pt
        }
    }

    .heading-sm {
        font-family: Dosis, Arial, Helvetica, sans-serif;
        font-weight: 600;
        font-size: 14pt;
        line-height: 1
    }

    @media (min-width: 768px) {
        .heading-sm {
            font-size: 16pt
        }
    }

    .heading-primary {
        color: #295196
    }

    .heading-secondary {
        color: #666
    }


    .text-row .tour-name {
        font-size: 14px
    }

    .btn {
        font-size: 10pt
    }

    @media (min-width: 992px) {
        .btn {
            font-size: 13pt
        }
    }

    .form-control {
        font-size: 14px
    }

    .input-group-append .btn {
        font-size: 13pt
    }

    @font-face {
        font-family: icomoon;
        src: url(/themes/cruisewatch/assets/fonts/icomoon.woff%3Fwu1b5k) format("woff");
        font-weight: 400;
        font-style: normal;
        font-display: auto
    }

    [class*=" icon-"],
    [class^=icon-] {
        font-family: icomoon !important;
        speak: none;
        font-style: normal;
        font-weight: 400;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }

    .thypography-content .text-block:after {
        content: "";
        display: block;
        clear: both
    }

    .container {
        position: relative
    }

    .form-control {
        font-family: "Source Sans Pro", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
    }

    .form-group {
        position: relative
    }

    .btn {
        font-weight: 600;
        padding: .375rem .5rem
    }

    .btn-group-sm > .btn,
    .btn-sm {
        font-size: 10pt;
        border-radius: 10px
    }

    @media (min-width: 768px) {

        .btn-group-sm > .btn,
        .btn-sm {
            font-size: 11pt
        }
    }

    .input-group-append .btn {
        font-weight: 600
    }

    .content {
        padding-bottom: 15px;
        position: relative
    }

    .form-bg-box {
        background-color: #e9f3fa
    }

    .alert {
        display: none
    }

    .signup-form .form-control {
        border-top-left-radius: .375rem;
        border-bottom-left-radius: .375rem;
        border: none
    }

    .signup-form .btn {
        border-top-right-radius: .375rem;
        border-bottom-right-radius: .375rem;
        padding-left: .9375rem;
        padding-right: .9375rem
    }

    .prepare-text-box {
        width: 215px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0
    }

    @media (min-width: 768px) {
        .prepare-text-box {
            position: relative;
            width: 250px;
            left: 15px
        }
    }

    @media (min-width: 992px) {
        .prepare-text-box {
            width: 410px
        }
    }

    .prepare-text-box .heading-xl {
        letter-spacing: -.6px;
        line-height: 28px;
        margin-bottom: 15px
    }

    @media (min-width: 768px) {
        .prepare-text-box .heading-xl {
            line-height: 46px;
            margin-bottom: 25px
        }
    }

    .prepare-text-box .btn {
        padding: 5px 23px;
        border-radius: 10px
    }

    .map-bg {
        background-image: url(https://assets.cruisewatch.com/media/img/map-bg-opacity.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover
    }

    @media (min-width: 768px) {
        .map-bg {
            background-position: right;
            background-size: 70%
        }
    }

    .modal-body {
        padding: 0
    }

    .modal-body .signup-form {
        padding: 0 1rem 2rem
    }

    .modal-heading-text-box p {
        margin: 0
    }

    .modal-row {
        align-items: flex-start
    }

    .back-button-modal {
        border-color: #295196;
        color: #295196;
        background-color: transparent;
        cursor: pointer;
        position: absolute;
        left: 40px;
        top: 15%;
        z-index: 3
    }

    @media (min-width: 768px) {
        .back-button-modal {
            position: relative;
            width: 200px;
            top: 0;
            left: 0;
            padding-left: 30px
        }
    }

    @media (min-width: 992px) {
        .back-button-modal {
            width: 145px;
            position: absolute
        }
    }

    @media (min-width: 1150px) {
        .back-button-modal {
            top: 15%;
            width: auto;
            width: 200px
        }
    }

    .back-button-modal:active,
    .back-button-modal:focus,
    .back-button-modal:hover {
        background-color: #295196;
        color: #fff
    }

    .form-group {
        padding-bottom: 27px;
        margin: 0
    }

    @media (min-width: 768px) {
        .form-group {
            padding-bottom: 15px
        }
    }

    .form-check input[type=checkbox] {
        position: absolute;
        left: -99999px
    }

    .success-alert-box {
        padding: 20px 23px;
        background-color: #e44a7f
    }

    .success-alert-box .heading-lg {
        color: #fff;
        display: block;
        width: 100%;
        position: relative;
        padding-right: 40px;
        font-size: 24pt;
        line-height: 38px
    }

    .success-alert-box .heading-lg:after {
        content: url(https://assets.cruisewatch.com/media/img/check-mark-white.png);
        position: absolute;
        right: 0;
        bottom: 0
    }

    input[type=number] {
        padding-left: 20px;
        position: relative
    }

    .check-description {
        display: block;
        padding-left: 33px;
        font-size: 11pt;
        margin-top: 2px
    }

    #map {
        position: relative;
        z-index: 1;
        height: 250px
    }

    @media (min-width: 768px) {
        #map {
            height: 600px
        }
    }

    .placeholder-true .select-bg.placeholder {
        display: block
    }

    .placeholder-true .select-bg.for-selected {
        display: none
    }

    .select-bg {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        width: 22px;
        height: 22px
    }

    @media (min-width: 768px) {
        .select-bg {
            left: 8px;
            width: 18px;
            height: 18px
        }
    }

    .new-select {
        width: 100%
    }

    .new-select.flex-line {
        display: flex;
        align-items: stretch
    }

    .cruise-select-group .select-bg.for-selected {
        display: none !important
    }

    .cruise-select-group .select-bg.placeholder {
        display: block !important
    }

    .card {
        width: 100%;
        border-radius: 4px;
        border: 1px solid #dcdcdc;
        position: relative
    }

    .card .card-img-top {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        width: 100%;
        height: 200px;
        position: relative;
        border-radius: 4px 4px 0 0;
        padding: 1rem;
        display: flex;
        flex-direction: column;
        justify-content: space-between
    }

    .card .card-body {
        padding: 1rem 5px
    }

    @media (min-width: 768px) {
        .card .card-body {
            padding: 1rem .5rem;
            height: calc(100% - 200px);
            display: flex;
            flex-direction: column;
            justify-content: flex-start
        }
    }

    .card .card-body .card-title {
        white-space: nowrap;
        overflow-x: hidden;
        text-overflow: ellipsis;
        height: 25px
    }

    .card .card-body .block-price {
        height: 58px
    }

    .card .card-body .block-price .cost {
        font-size: 10pt
    }

    .text-row {
        margin-bottom: 20px
    }

    .text-row .tour-name {
        color: #3eb0f7
    }

    .select-box {
        position: relative;
        padding: 10px 0 0
    }

    .select-box img {
        position: absolute;
        z-index: 10;
        top: 62%;
        transform: translateY(-50%);
        left: 7px
    }

    .select-box.placeholder-true .image-placeholder {
        display: block
    }

    .image-placeholder {
        display: none
    }

    .tour-name {
        display: flex;
        margin-bottom: 10px;
        min-height: 55px
    }

    .find-cruise .card .card-img-top {
        background-repeat: initial
    }

    @media (max-width: 991px) {
        .find-cruise h1.heading-primary {
            padding-left: 5px
        }
    }

    #main {
        margin-top: 60px
    }

    #main.homepage {
        margin-top: 55px
    }

    .offer-box {
        position: relative;
        background-color: #fff;
        height: 130px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column
    }

    @media (min-width: 768px) {
        .offer-box {
            height: 200px
        }
    }

    .offer-box:before {
        content: "";
        width: 0;
        height: 0;
        border-top: 20px solid transparent;
        border-bottom: 20px solid transparent;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10
    }

    @media (min-width: 768px) {
        .offer-box:before {
            border-top: 30px solid transparent;
            border-bottom: 30px solid transparent
        }
    }

    .offer-box .offer-text {
        padding: 0 25px
    }

    @media (min-width: 768px) {
        .offer-box .offer-text {
            padding: 0 15px
        }
    }

    .offer-box .offer-text p {
        font-size: 10pt;
        margin-bottom: 5px
    }

    @media (min-width: 768px) {
        .offer-box .offer-text p {
            font-size: 11pt
        }
    }

    .offer-box .offer-text .btn {
        padding: 1px 12px
    }

    @media (min-width: 768px) {
        .offer-box .offer-text .btn {
            padding: 6px 23px
        }
    }

    .price .old {
        text-decoration: line-through
    }

    @media (min-width: 992px) {
        .price .old {
            margin-left: 7px
        }
    }

    .text {
        z-index: 9
    }

    @media (min-width: 768px) {
        .text {
            width: 30%
        }
    }

    .back-box {
        padding: .8125rem 0
    }

    @media (max-width: 767px) {
        .back-box .btn {
            width: 100%;
            margin: 0 3px
        }

        .back-box .btn:first-child {
            width: auto
        }
    }

    .back-box .btn-group-lg > .btn,
    .back-box .btn.btn-lg {
        width: auto
    }

    .back-box .btn span {
        vertical-align: middle;
        line-height: 1px;
        font-size: 30px
    }

    @media (min-width: 768px) {
        .back-box .btn span {
            font-size: 20px
        }
    }

    @media (min-width: 992px) {
        .back-box .btn span {
            font-size: 30px
        }
    }

    @media (min-width: 768px) {
        .back-box .btn {
            min-width: auto;
            margin-right: 5px
        }
    }

    @media (min-width: 992px) {
        .back-box .btn {
            min-width: 150px;
            margin-right: 5px
        }
    }

    .back-box .btn.btn-bg-image {
        background-repeat: no-repeat;
        background-position: 5px center;
        background-size: 20px;
        padding-left: 30px
    }

    @media (min-width: 768px) {
        .back-box .btn.btn-bg-image {
            background-position: 10px center;
            background-size: 30px;
            padding-left: 50px
        }
    }

    @media (max-width: 767px) {
        .back-box .full-row {
            display: flex;
            align-items: center;
            justify-content: space-between
        }
    }

    .advice {
        margin-bottom: 20px
    }

    @media (min-width: 768px) {
        .advice {
            padding-bottom: 45px;
            margin-bottom: 0
        }
    }

    .advice .btn {
        font-size: 10pt
    }

    @media (min-width: 768px) {
        .advice .btn {
            position: absolute;
            bottom: 0;
            font-size: 11pt;
            min-width: 115px
        }
    }

    .advice p {
        font-size: 11pt;
        line-height: 20px;
        margin-bottom: 10px
    }

    @media (max-width: 767px) {
        .table.to-one-table {
            margin-bottom: 0
        }
    }

    .value {
        display: block;
        z-index: 999;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        white-space: nowrap;
        font-size: 10pt
    }

    @media (min-width: 992px) {
        .value {
            font-size: 11pt
        }
    }

    .total-value {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        text-align: right
    }

    .total-value p,
    .total-value span {
        color: #b9b9b9;
        font-size: 10pt
    }

    @media (min-width: 992px) {

        .total-value p,
        .total-value span {
            font-size: 11pt
        }
    }

    .price-description {
        position: absolute;
        bottom: 10px;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    @media (max-width: 767px) {
        .price-description {
            bottom: auto;
            top: 15px
        }
    }

    .price-description .price-box {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px
    }

    .price-description .price-box span {
        font-weight: 600;
        font-family: "Source Sans Pro", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
    }

    @media (max-width: 767px) {
        .price-description .price-box span {
            font-size: 10pt
        }
    }

    .pt-40 {
        padding-top: 40px !important
    }

    @media screen and (max-width: 768px) {
        .ship-overview .port-card .port-description .heading-sm {
            height: 36px
        }
    }

    @media (max-width: 767px) {
        .list-headline {
            flex-direction: column-reverse;
            padding-top: 20px
        }

        .list-headline .heading-sm {
            font-size: 21pt;
            line-height: 33px;
            margin-bottom: 10px;
            padding-top: 10px
        }
    }

    @media (max-width: 767px) {
        .text-box {
            padding-top: 45px
        }
    }

    .find-cruises {
        background-color: #3ea2f7;
        padding: 0
    }

    .placeholder-place {
        background-color: #eaf4fa;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        background-position: center
    }

    .author {
        display: flex;
        align-items: center;
        margin-bottom: 48px
    }

    .author .description p {
        margin: 0;
        line-height: 20px
    }

    .data-table .table {
        margin: 0
    }

    .form-select {
        background-color: #3ea2f7;
        padding: 15px;
        margin: 0 -15px
    }

    @media (min-width: 768px) {
        .form-select {
            margin: 0 0 20px;
            border-radius: 10px
        }
    }

    .form-select .new-select {
        flex-wrap: wrap
    }

    .table {
        position: relative
    }

    .box-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 5px
    }

    .data-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding: 10px 0 5px
    }

    .data-row .data-row {
        padding: 0 0 0 20px;
        position: relative
    }

    .data-row .data-row img {
        max-width: 15px;
        position: absolute;
        left: 0;
        top: -3px
    }

    .data-row .data-row .col-text {
        padding-left: 5px
    }

    .data-col {
        display: flex;
        align-items: flex-start
    }

    .data-col .col-text {
        padding-left: 20px;
        position: relative
    }

    .data-col .col-text p {
        text-transform: none;
        margin: 0;
        color: inherit
    }

    @media (max-width: 479px) {
        .data-col .col-text p.small {
            text-overflow: ellipsis;
            white-space: nowrap;
            overflow: hidden;
            max-width: 100px
        }
    }

    @media (max-width: 379px) {
        .data-col .col-text p.small {
            max-width: 75px
        }
    }

    .data-col .col-text p img {
        max-width: 15px;
        position: absolute;
        left: 0;
        top: 0
    }

    .thypography-content {
        padding-top: 1.5625rem;
        padding-bottom: 3.125rem
    }

    @media (min-width: 992px) {
        .thypography-content {
            padding-top: 1.5625rem;
            padding-bottom: 1.5625rem
        }
    }

    .thypography-content .text-block {
        padding-bottom: .625rem
    }

    @media (min-width: 992px) {
        .thypography-content .text-block {
            padding-bottom: 1.25rem
        }
    }

    .thypography-content .text-block:last-child {
        padding-bottom: 0
    }

    .thypography-content h1,
    .thypography-content h2,
    .thypography-content h3,
    .thypography-content h4,
    .thypography-content h5 {
        font-family: Dosis, Arial, Helvetica, sans-serif;
        margin-bottom: 1.25rem
    }

    .thypography-content .text-block {
        padding-bottom: 0.625rem;
    }

    .thypography-content .toc {
        border-radius: 7px;
        border: 1px solid #3ea2f7;
        justify-content: space-between;
        align-items: flex-start;
        padding: 15px 5px;
        margin: 5px 0 15px 0;
    }

    .thypography-content ul, .thypography-content ol {
        padding: 0.625rem 0 0.625rem 1.8125rem;
        padding-left: 1.8125rem;
        margin: 0;
        list-style: none;
    }

    .thypography-content .toc li::before {
        color: #3ea2f7;
    }

    .thypography-content ol li::before {
        counter-increment: newCounter;
        content: counters(newCounter, ".") ". ";
        margin-left: -1.375rem;
        display: inline-block;
        vertical-align: top;
        min-width: 1.375rem;
        padding-right: 0.25rem;
        color: #c0c0c0;
    }


    .thypography-content ol {
        counter-reset: newCounter;
        padding-left: 1.9375rem;
    }

    .thypography-content hr {
        display: block;
        height: 1px;
        border: 0;
        border-top-width: 0px;
        border-top-style: none;
        border-top-color: currentcolor;
        border-top: 1px solid #999;
        margin: 2em 0;
        padding: 0;
    }

    @media (min-width: 992px) {
        .thypography-content .text-block {
            padding-bottom: 1.25rem;
        }
    }

    @media (min-width: 992px) {

        .thypography-content h1,
        .thypography-content h2,
        .thypography-content h3,
        .thypography-content h4,
        .thypography-content h5 {
            margin-bottom: 1.25rem
        }
    }

    @media (min-width: 992px) {
        .thypography-content h2 {
            margin-bottom: 1.25rem
        }
    }

    .thypography-content h2.headline-only {
        margin-bottom: 0;
        padding-bottom: 0
    }

    h2, .h2 {
        font-size: 2rem;
    }

    @media (min-width: 992px) {
        .thypography-content h3 {
            margin-bottom: 1rem;
            font-size: 1.4em
        }
    }

    .thypography-content h3.headline-only {
        margin-bottom: 0;
        padding-bottom: 0
    }

    .thypography-content h4 {
        margin-bottom: 1rem
    }

    @media (min-width: 992px) {
        .thypography-content h4 {
            margin-bottom: 1rem
        }
    }

    .thypography-content h4.headline-only {
        margin-bottom: 0;
        padding-bottom: 0
    }

    .thypography-content h5 {
        margin-bottom: .8125rem
    }

    .thypography-content .box-framed {
        border-radius: 7px;
        border: 1px solid #3ea2f7;
        justify-content: space-between;
        align-items: flex-start;
        padding-bottom: 5px;
        margin-bottom: 15px;
    }

    .thypography-content ul, .thypography-content ol {
        padding: 0.625rem 0 0.625rem 1.8125rem;
        margin: 0;
        list-style: none;
    }

    ol, ul, dl {
        margin-top: 0;
        margin-bottom: 1rem;
    }

    .thypography-content .box-framed li {
        margin-right: 25px;
    }

    .list-inline-item:not(:last-child) {
        margin-right: 0.5rem;
    }

    .thypography-content ul li + li, .thypography-content ol li + li {
        margin-top: 0.625rem;
    }

    .thypography-content ul li, .thypography-content ol li {
        position: relative;
        padding-left: 1.375rem;
    }

    .thypography-content .box-framed li {
        margin-right: 25px;
    }

    .list-inline-item:not(:last-child) {
        margin-right: 0.5rem;
    }

    .thypography-content ul li + li, .thypography-content ol li + li {
        margin-top: 0.625rem;
    }

    .thypography-content ul li, .thypography-content ol li {
        position: relative;
        padding-left: 1.375rem;
    }

    .list-inline-item {
        display: inline-block;
    }

    .thypography-content ul li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.625rem;
        width: 0.3125rem;
        height: 0.3125rem;
        border-top: 1px solid #c0c0c0;
        border-right: 1px solid #c0c0c0;
        transform: rotate(45deg);
    }

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


    .thypography-content ul, .thypography-content ol {
        list-style: none;
    }

    .thypography-content li a {
        color: #3eb0f7;
        text-decoration: none;
        transition: color 0.3s ease-in;
    }

    .thypography-content li a:hover {
        color: #0762ae;
        text-decoration: none;
    }

    .list-inline {
        padding-left: 0;
        list-style: none;
    }

    .list-inline-item {
        display: inline-block;
    }

    @media (min-width: 992px) {
        .thypography-content h5 {
            margin-bottom: .8125rem
        }
    }

    .thypography-content h5.headline-only {
        margin-bottom: 0;
        padding-bottom: 0
    }

    .thypography-content h6 {
        font-family: "Source Sans Pro", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
        margin-bottom: .6875rem
    }

    @media (min-width: 992px) {
        .thypography-content h6 {
            margin-bottom: .6875rem
        }
    }

    .thypography-content h6.headline-only {
        margin-bottom: 0;
        padding-bottom: 0
    }

    .thypography-content p {
        line-height: 1.385
    }

    .thypography-content a:active,
    .thypography-content a:focus {
        color: silver
    }

    .thypography-content .mark,
    .thypography-content mark {
        background: #007bff;
        color: #fff;
        margin: 0;
        padding: .125rem
    }

    .thypography-content ol {
        padding: .625rem 0 .625rem 1.8125rem;
        margin: 0;
        list-style: none
    }

    .thypography-content ol li {
        position: relative;
        padding-left: 1.375rem
    }

    .thypography-content ol li + li {
        margin-top: .625rem
    }

    .thypography-content ol {
        counter-reset: newCounter;
        padding-left: 1.9375rem
    }

    .thypography-content ol li:before {
        counter-increment: newCounter;
        content: counters(newCounter, ".") ". ";
        margin-left: -1.375rem;
        display: inline-block;
        vertical-align: top;
        min-width: 1.375rem;
        padding-right: .25rem;
        color: silver
    }

    .thypography-content img {
        width: 100%;
        height: auto;
        vertical-align: top;
        margin-bottom: 1.25rem
    }

    @media (min-width: 992px) {
        .thypography-content img {
            margin-bottom: 1.875rem
        }
    }

    .thypography-content figcaption {
        margin-top: -80px;
        font-size: .8em;
        width: 100%;
        font-style: italic;
        background: #666;
        opacity: .7;
        color: #fff;
        padding: 10px
    }

    @media (min-width: 992px) {
        .thypography-content figcaption {
            margin-top: -70px;
            padding: 10px
        }
    }

    .thypography-content img.lozad.block {
        min-height: 100px
    }

    .thypography-content .ports.overview {
        margin-top: 0;
        padding-top: 5px;
        margin-bottom: 0;
        padding-bottom: 0
    }

    .cta {
        background: #f4d452;
        width: 100%;
        padding: 15px 20px 0 20px;
        margin: 0 0 55px 0;
        border-radius: 10px
    }

    .cta p {
        color: #295196
    }

    .cta .heading-primary {
        margin: 5px 0 10px 0
    }

    .cta .btn-group-lg > .btn,
    .cta .btn-lg {
        margin-top: 20px
    }

    .cta .signup-form {
        margin-top: 20px
    }

    .cta .input-group {
        width: 75%
    }

    @media only screen and (max-width: 600px) {
        .cta {
            padding: 0
        }

        .cta .heading-primary {
            margin: 15px 0 10px 0
        }

        .cta .btn-group-lg > .btn,
        .cta .btn-lg {
            margin: 0 0 5px 0
        }

        .cta .signup-form {
            margin-top: 0;
            margin-bottom: 25px
        }

        .cta .input-group {
            width: 100%
        }
    }

    .see-here {
        position: relative;
        margin-bottom: 41px;
        display: none
    }

    @media (min-width: 768px) {
        .see-here {
            display: block
        }
    }

    .see-here p {
        padding-right: 30px;
        margin-bottom: 0;
        font-weight: 600;
        line-height: 22px
    }

    .booking-form .form-group-alt.is-invalid .form-control {
        padding-right: 42px
    }

    .booking-form .form-group-alt .form-control {
        padding-top: 5px;
        padding-bottom: 5px
    }

    @media (min-width: 768px) {
        .booking-form .form-group-alt .form-control {
            padding-top: 8px;
            padding-bottom: 8px
        }
    }

    @media (max-width: 767px) {
        .booking-form .select-box-alt {
            margin-bottom: 0
        }
    }

    .notes-text {
        padding: 25px 0
    }

    .notes-text p {
        font-size: 11pt;
        color: #999
    }

    .operator {
        display: none
    }

    @media (min-width: 768px) {
        .operator {
            display: block;
            position: absolute;
            bottom: 0;
            height: 185px;
            width: 100%;
            background-repeat: no-repeat;
            background-position: 50%;
            background-size: cover
        }
    }

    @media (min-width: 992px) {
        .operator {
            height: 285px
        }
    }

    .operator:only-child {
        position: relative;
        bottom: auto
    }

    @media (min-width: 768px) {
        .operator:only-child {
            height: 185px;
            background-position: 50%
        }
    }

    @media (min-width: 992px) {
        .operator:only-child {
            height: 285px;
            background-position: 20%
        }
    }

    .operator img {
        max-width: 100%
    }

    @media (min-width: 768px) {
        .booking-check-row {
            margin-top: -20px;
            margin-bottom: 20px
        }
    }

    .booking-check-row .form-check {
        padding: 0 0 20px;
        padding-left: 0
    }

    .btn-group-lg > .btn,
    .btn-lg {
        width: 100%;
        white-space: normal;
        font-size: 12pt
    }

    @media (min-width: 768px) {

        .btn-group-lg > .btn,
        .btn-lg {
            max-width: 340px;
            font-size: 13pt
        }
    }

    @-webkit-keyframes vertical-movement {

        0%,
        100% {
            -webkit-transform: translateY(0)
        }

        50% {
            -webkit-transform: translateY(15px)
        }
    }

    @keyframes vertical-movemen {

        0%,
        100% {
            transform: translateY(0)
        }

        50% {
            transform: translateY(15px)
        }
    }

    .ports {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding-top: 32px
    }

    @media (min-width: 768px) {
        .ports {
            padding-right: 28px
        }
    }

    @media (min-width: 992px) {
        .ports {
            justify-content: flex-start;
            margin: 0 -10px 20px
        }
    }

    .port-overview .port-card .port-description {
        vertical-align: top;
        width: 100%;
        height: 244px
    }

    .port-overview .port-card .port-description h5 {
        height: 30px
    }

    .port-overview .port-card .port-description p {
        height: 110px
    }

    .port-card {
        border-radius: 7px;
        border: 1px solid #dcdcdc;
        width: 49%;
        margin: 0 0 15px;
        justify-content: space-between;
        align-items: flex-start;
        padding-bottom: 5px
    }

    @media (min-width: 992px) {
        .port-card {
            width: 32%;
            margin: 0 4px 15px;
            padding-bottom: 20px
        }
    }

    .port-card .port-image {
        border-radius: 7px 7px 0 0;
        height: 112px;
        width: 100%;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        position: relative
    }

    @media (min-width: 768px) {
        .port-card .port-image {
            height: 140px
        }
    }

    .port-card .port-description {
        padding: 10px 10px 20px;
        position: relative
    }

    @media (min-width: 768px) {
        .port-card .port-description {
            padding: 25px 15px 25px
        }
    }

    .port-card .port-description .heading-sm {
        margin-bottom: 18px
    }

    .port-card .port-description p {
        line-height: 23px;
        margin-bottom: 0
    }

    @media (max-width: 767px) {
        .port-card .port-description p {
            overflow: hidden;
            display: inline-block;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical
        }
    }

    .port-card .port-description.cruise-port {
        padding: 15px 15px 5px 15px
    }

    @media (min-width: 768px) {
        .port-card .port-description.cruise-port {
            padding: 20px 15px 10px 15px;
            display: flex;
            flex-direction: column;
            justify-content: space-between
        }
    }

    .port-card .btn {
        padding: 5px 27px;
        margin-left: 10px;
        max-width: 100px;
        white-space: pre-wrap;
        word-break: break-word
    }

    @media (min-width: 768px) {
        .port-card .btn {
            margin-left: 15px
        }
    }

    @media (min-width: 768px) {
        .find-cruises.ports-form {
            border-radius: 7px
        }
    }

    .ports-box {
        background-color: #3ea2f7
    }

    @media (max-width: 768px) {
        .port-overview .port-card .port-description {
            height: calc(100% - 115px)
        }

        .port-overview .port-card .port-description h5 {
            height: 35px
        }

        .port-overview .port-card .port-description a {
            margin-left: 0
        }
    }

    @-webkit-keyframes load8 {
        0% {
            -webkit-transform: rotate(0);
            transform: rotate(0)
        }

        100% {
            -webkit-transform: rotate(360deg);
            transform: rotate(360deg)
        }
    }

    @keyframes load8 {
        0% {
            -webkit-transform: rotate(0);
            transform: rotate(0)
        }

        100% {
            -webkit-transform: rotate(360deg);
            transform: rotate(360deg)
        }
    }

    #try-now-button {
        position: absolute;
        left: 50%;
        top: 50%;
        margin-left: -50px;
        width: 100px;
        z-index: 2
    }

    input.error {
        border: 1px solid red
    }

    .is-invalid {
        color: #e44a7f !important
    }

    .is-invalid .form-control {
        border-color: #e44a7f !important;
        color: currentColor !important
    }

    .is-invalid .invalid-feedback {
        display: inline-block;
        color: currentColor !important
    }

    .error {
        display: none;
        color: red
    }

    .error.is-invalid {
        display: block
    }

    .card-body .card-title {
        max-width: 500px
    }

    .port-card .port-description p {
        margin-bottom: 25px
    }

    @media screen and (max-width: 768px) {
        .port-card .port-description {
            min-height: 200px;
            height: calc(100% - 115px)
        }
    }

    @media (min-width: 768px) {
        .port-card .port-description {
            padding: 25px 15px 0
        }

        .port-card .btn {
            margin-left: 0
        }
    }


    .table {
        position: relative;
    }

    .table {
        width: 100%;
        max-width: 100%;
        margin-bottom: 1rem;
        background-color: transparent;
    }

    th {
        text-align: inherit;
    }

    table {
        border-collapse: collapse;
    }

    .table.non-top-border th {
        border-top: none;
    }

    .table thead th {
        vertical-align: bottom;
        border-bottom: 2px solid #dee2e6;
    }

    .table th, .table td {
        padding: 0 0.4rem;
        vertical-align: top;
        border-top: 1px solid #dee2e6;
    }

    .table tr td {
        padding: 0.375rem 0.25rem;
        white-space: nowrap;
    }

    .mobile-hidden {
        display: none;
    }


}

.blog-page {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 215px;
    display: flex;
    align-items: center;
    position: relative;
}
section {
    padding: 25px 0;
}

.blog-page > .credits {
    position: absolute;
    bottom: 5px;
    left: 10px;
    opacity: 0.7;
}
.credits {
    color: #fff;
    opacity: 0.7;
    font-size: 7pt;
}
