/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace,monospace;
    font-size: 1em
}

a {
    background-color: initial
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,strong {
    font-weight: 700
}

code,kbd,samp {
    font-family: monospace,monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,input,optgroup,select,textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

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

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

[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

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

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

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

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

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

details {
    display: block
}

summary {
    display: list-item
}

[hidden],template {
    display: none
}

:root {
    --header-height: 62px;
    --announcement-height: 39px;
    --header-height-announcement: calc(var(--header-height) + var(--announcement-height))
}

@media(min-width: 1024px) {
    :root {
        --header-height:70px!important
    }
}

html {
    height: 100%
}

body {
    font-size: 1rem;
    line-height: 1.2rem;
    font-weight: 400;
    font-family: Proxima Nova,sans-serif;
    color: #4a4e4d
}

.anchor {
    display: block;
    height: calc(var(--header-height) + var(--announcement-height));
    margin-top: calc(var(--header-height-announcement)*-1);
    visibility: hidden
}

.lazyload {
    opacity: 0
}

.lazyloaded {
    min-height: 0;
    opacity: 1;
    transition: all .3s
}

.image-loaded {
    opacity: 1
}

.image__lazy--mobile {
    display: none!important
}

.image__lazy--desktop {
    display: block!important
}

@media(max-width: 1024px) {
    .image__lazy--mobile {
        display:block!important
    }

    .image__lazy--desktop {
        display: none!important
    }
}

/*
* Font Face
*/



/*
* Typography
*/
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 800;
    line-height: 1.3;
    word-wrap: break-word;
    font-family: Anton,sans-serif;
    color: #212121
}

.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {
    color: #212121
}

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

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

.h2 .text--written,.h2.text--written,h2 .text--written,h2.text--written {
    font-size: 4.2rem!important;
    margin-left: 5px;
    position: relative;
    top: 7px
}

.h3,h3 {
    font-size: 1.4rem;
    font-style: italic;
    font-weight: 600;
}

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

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

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

p {
    margin-top: 0;
    font-size: .938em;
    line-height: 1.5;
    margin-bottom: 1rem
}

a {
    color: #4a4e4d;
    text-decoration: underline;
    word-wrap: break-word
}

a:hover {
    color: shade(#44c5c3,15%)
}

.text--lg {
    font-size: 1.125em
}

.text--link {
    color: #212121;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    transition: all .2s ease
}

.text--link svg {
    margin-left: 8px;
    height: 16px;
    width: 16px
}

.text--link:hover {
    color: #44c5c3
}

.text--link:hover svg {
    fill: #44c5c3
}

.heading-underline {
    position: relative;
    margin-bottom: 30px;
    text-align: center;
}
.heading-underline:after {
    content: "";
    width: 100px;
    height: 2px;
    background-color: #44c5c3;
    position: absolute;
    left: 50%;
    margin-left: -50px;
    bottom: -15px;
}

@media only screen and (min-width: 640px) {
    .h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
        margin-top:0;
        margin-bottom: .5rem;
    }

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

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

    .h2 .text--written,.h2.text--written,h2 .text--written,h2.text--written {
        font-size: 4.4rem!important;
        margin-left: 5px;
        position: relative;
        top: 7px
    }

    .h3,.h3-md,h3 {
        font-size: 1.6rem
    }

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

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

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

@media only screen and (min-width: 992px) {
    .h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
        margin-top:0;
        margin-bottom: 1rem
    }

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

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

    .h2 .text--written,.h2.text--written,h2 .text--written,h2.text--written {
        font-size: 4.7rem!important;
        margin-left: 5px;
        position: relative;
        top: 7px
    }

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

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

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

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

    p {
        font-size: 1rem;
        margin-bottom: 1.5rem
    }
}

.text--sub-heading {
    text-transform: uppercase;
    color: #212121;
    font-size: .75rem;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 10px
}

.text--highlight {
    background-image: linear-gradient(transparent calc(100% - .4em),#44c5c3 0),linear-gradient(transparent calc(100% - .4em),#44c5c3 0);
    background-repeat: no-repeat;
    background-size: 0 88%,100% 92%;
    padding: 0 0 2px
}

.text--written {
    font-family: Backlash,serif!important
}

.text--normal,.text--written {
    text-transform: none!important;
    font-style: normal !important;
}

.text--uppercase {
    text-transform: uppercase!important
}

.text--medium {
    font-weight: 600!important
}

.text--bold {
    font-weight: 800!important
}

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

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

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

@media only screen and (min-width: 768px) {
    .text-md-center {
        text-align:center!important;
        justify-content: center
    }
}

.text--primary {
    color: #44c5c3 !important
}

.text--white {
    color: #fff !important
}

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


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

.alert p {
    margin: 0;
}

.alert-success {
    color: #056c4f;
    background-color: #cef5ea;
    border-color: #baf2e2
}

.alert-danger {
    color: #fff;
    background-color: #e63b3b;
    border-color: #e63b3b
}

.alert-warning {
    color: #856200;
    background-color: #fff2cc;
    border-color: #ffecb8
}

.alert-info {
    color: #1e5b6d;
    background-color: #d7eff6;
    border-color: #c8e9f2
}

small,sub,sup {
    font-size: .875rem;
    line-height: 1
}

caption,figcaption {
    font-size: .875rem;
    font-style: italic;
    text-align: center
}

cite,em {
    font-style: italic
}

i {
    font-style: normal
}

.bold {
    font-weight: 700
}

.regular {
    font-weight: 400
}

.italic {
    font-style: italic
}

.caps {
    text-transform: uppercase;
    letter-spacing: .2em
}

.left-align {
    text-align: left
}

.center {
    text-align: center
}

.right-align {
    text-align: right
}

.justify {
    text-align: justify
}

.list-style-none {
    list-style: none
}

.underline {
    text-decoration: underline
}

/*
* Cards 
*/
.card {
    background: #fff;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 1rem; 
    height: auto;
}


/*--------------------------------------------------------------
# accordions
--------------------------------------------------------------*/
.accordion, .accordion__item {
    margin-top: 1rem
}

.accordion__item.accordion--open .accordion__toggle {
    border-radius: 0;
    border-color: #40ccca;
    background: #40ccca;
}

.accordion__item.accordion--open .accordion__toggle .accordion__toggle--icon {
    transform: rotate(180deg)
}

.accordion__item.accordion--open .accordion__collapse {
    max-height: 1600px;
    opacity: 1;
}

.accordion__icon {
    fill: #fff;
    align-self: flex-start;
    margin-left: auto;
    transform-origin: center center;
    transition: all .2s ease-in-out
}

.accordion__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #40ccca;
    border-bottom: 3px solid #40ccca;
    border-radius: 0;
    color: #fff;
    font-size: .875rem;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 15px
}

.accordion__toggle:active, .accordion__toggle:hover {
    color: #fff
}

.accordion__toggle--icon {
    fill: #fff;
    margin-left: auto;
    height: 18px;
    width: 18px;
    transition: all .2s ease
}

.accordion__collapse {
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    height: auto;
    max-height: 0;
    opacity: 0;
    transition: all .15s ease-in
}

.accordion__collapse-content {
    padding: 15px
}

.accordion__collapse p:last-child {
    margin-bottom: 0
}

@media only screen and (min-width: 768px) {
    .accordion__icon {
        fill:#fff;
        align-self: flex-start;
        margin-left: auto;
        transform-origin: center center;
        transition: all .2s ease-in-out
    }

    .accordion__toggle {
        font-size: .938em;
        padding: 16px 15px 15px
    }
}

/*--------------------------------------------------------------
# LOADING
--------------------------------------------------------------*/
#stripe-card-error {
    display: none
}
  
#loading-overlay {
    background: rgba(0,0,0,0.8);
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    text-align: center;
    z-index: 9999;
    display: none
}

#loading-overlay img {
    margin-bottom: 25px
}

#loading-overlay .center-block {
    position: absolute;
    top: 50%;
    margin-top: -80px;
    text-align: center;
    padding: 0 10px;
    width: 100%
}

#loading-overlay p {
    color: #fff;
    font-size: 19px
}

/*
* Announcement Bar 
*/
.announcement-bar {
    background: #44c5c3;
    position: relative;
    z-index: 9;
    display: flex
}

.announcement-bar a {
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%
}

.announcement-bar__content {
    color: #fff;
    font-size: .938em;
    font-weight: 800;
    text-align: center;
    flex-grow: 1;
    padding: 10px 35px;
    position: relative
}

.announcement-bar__close {
    position: absolute;
    right: 0;
    top: -1px;
    bottom: 0;
    padding: 0 15px;
    height: 100%;
    cursor: pointer;
    display: flex;
    align-items: center;
    z-index: 1
}

.announcement-bar__close svg {
    fill: #fff;
    width: 1em;
    height: 1em;
    font-size: 14px
}


/*
* Hero
*/
.hero {
    height: 380px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.hero--xs, .hero--sm {
    height: 230px
}

.hero--xs .hero__title, .hero--sm .hero__title {
    font-size: 2.5rem;
    text-align: center;
    margin: 0
}

.hero--md:before, .hero--sm:before, .hero--xs:before {
    content: "";
    background: rgba(0,0,0,.2);
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1
}

.hero--auto,.hero--simple {
    background: #efe1e1
}

.hero--auto:before,.hero--simple:before {
    display: none
}

.hero--auto .hero__title,.hero--simple .hero__title {
    color: #44c5c3;
    margin-bottom: 10px
}

.hero--auto p,.hero--simple p {
    color: #4a4e4d
}

.hero--auto {
    background: 0 0;
    height: auto;
    padding: 40px 0
}

.hero.bg--peach .hero__title {
    color: #fff
}

.hero__gallery {
    display: none
}

.hero__container {
    max-width: 1400px;
    padding: 0 22px;
    position: relative;
    margin: 0 auto;
    z-index: 1
}

.hero__title {
    font-family: Anton,sans-serif;
    color: #fff;
    margin-bottom: 1.5rem;
}

.hero__title .emoji {
    position: relative;
    top: -5px;
    font-size: 1.2em
}

.hero__image {
    height: 100%;
    position: absolute;
    width: 100%
}

.hero__image-container {
    display: block;
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}
.hero__image-container:after {
    content: "";
    background-color: #00000059;
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;

}

.hero__image-container img {
    height: 100%;
    min-height: 100%;
    min-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.hero__image-container img.high-res {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: opacity .2s
}

.hero__image-container img.image-loaded {
    opacity: 1
}

.hero__image video {
    position: absolute;
    top: 0;
    height: 100%;
    min-height: 100%;
    min-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

@media only screen and (min-width: 992px) {
    .hero {
        height:530px
    }

    .hero--xs {
        height: 280px
    }

    .hero--xs .hero__title {
        font-size: 3rem;
        text-align: center;
        margin: 0
    }

    .hero--sm {
        height: 380px
    }

    .hero--sm .hero__title {
        font-size: 3rem;
        text-align: center;
        margin: 0
    }

    .hero--auto {
        height: auto;
        padding: 60px 0
    }
}


/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/
.section {
    padding: 60px 0;
    position: relative;
    z-index: 0
}

.section--xs {
    padding: 15px 0!important
}

.section--sm {
    padding: 30px 0!important
}

.section--md {
    padding: 40px 0!important
}

.section.pt-0 {
    padding-top: 0!important
}

.section.pb-0 {
    padding-bottom: 0!important
}

.section--image {
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    padding: 50px 0
}

.section--image:before {
    content: "";
    background-color: rgba(0,0,0,.45);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.section--image * {
    position: relative;
    color: #fff
}

@media only screen and (min-width: 992px) {
    .section {
        padding:80px 0;
        position: relative
    }

    .section--sm {
        padding: 50px 0!important
    }

    .section--md {
        padding: 60px 0!important
    }

    .section.pb-md-0 {
        padding-bottom: 0!important
    }

    .section--wave {
        margin-top: 50px
    }
}

@media only screen and (min-width: 1248px) {
    .section {
        padding:90px 0;
        position: relative
    }

    .section--sm {
        padding: 60px 0!important
    }

    .section--md {
        padding: 70px 0!important
    }
}

@media(max-width:600px) {
    .mobile--text {
        font-size: 10vw !important
    }
}

/*--------------------------------------------------------------
# Payment options
--------------------------------------------------------------*/
.payment__option {
    cursor: pointer;
    background: #fff;
    border: 3px solid #ddd;
    padding: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: 10px 0 15px 0;
}
.payment__option.payment__option-active {
    border-color: #5fb659;
    background: #fff;
}
.payment__option.payment__option-active .payment__option-price {
    background: #5fb659;
}
.payment__option-price {
    color: #fff;
    height: 60px;
    width: 60px;
    background: #ccc;
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-right: 15px;
    flex: 0 0 60px;
}
.payment__option-desc {
    font-size: 16px;
    margin: 0;
    font-weight: 400;
}
.payment__option input {
    display: none !important;
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
.btn {
    background-color: initial;
    border-radius: 3px;
    border: none;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 800;
    text-transform: none;
    line-height: 42px;
    height: 44px;
    margin-bottom: 1rem;
    padding: 0 30px;
    text-align: center;
    text-decoration: none;
    transition-duration: .2s;
    white-space: nowrap;
    outline: none;
    -webkit-appearance: none
}

.btn svg {
    margin-right: 5px;
    position: relative;
    top: 6px;
    height: 24px;
    width: 24px
}

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

.btn--primary {
    color: #fff;
    background-color: #44c5c3;
    border-color: #44c5c3
}

.btn--primary:focus,.btn--primary:hover {
    color: #fff;
    background-color: #36a5a4;
    border-color: #36a5a4
}

.btn--primary svg {
    fill: #fff
}

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

.btn--secondary:focus,.btn--secondary:hover {
    color: #fff;
    background-color: #111;
    border-color: #111
}

.btn--light {
    color: #4a4e4d;
    background-color: #e0e0e0;
    border-color: #e0e0e0
}

.btn--light:focus,.btn--light:hover {
    color: #4a4e4d;
    background-color: #dbdbdb
}

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

.btn--danger:focus,.btn--danger:hover {
    color: #fff;
    background-color: #b03230
}



.btn--success {
    background-color: #5fb659;
    border-color: #499943;
    color: #fff;
    border-radius: 4px
}

.btn--success:focus,.btn--success:hover {
    color: #fff;
    background-color: #51ab4b;
    border-color: #5fb659
}

.btn--facebook {
    color: #fff;
    background-color: #5776b2;
    border-color: #456196
}

.btn--facebook:focus,.btn--facebook:hover {
    color: #fff;
    background-color: #456196;
    border-color: #456196
}

.btn--play {
    position: relative;
    z-index: 1;
    text-align: center;
    width: 80px
}

.btn--square {
    border-radius: 4px;
    border: none;
    padding: 0 15px;
    margin: 0
}

.btn--standard {
    border-radius: 8px;
    padding: 0 15px;
    margin: 0
}

.btn--white {
    background: #fff;
    color: #212121
}

.btn-outline--primary {
    background-color: initial;
    border-color: #44c5c3;
    color: #44c5c3
}

.btn-outline--primary:focus,.btn-outline--primary:hover {
    color: #fff;
    background-color: #44c5c3;
    border-color: #44c5c3
}

.btn-outline--secondary {
    background-color: initial;
    border: 2px solid #4a4e4d;
    color: #4a4e4d;
    line-height: 40px!important
}

.btn-outline--secondary:focus,.btn-outline--secondary:hover {
    color: #fff;
    background-color: #4a4e4d;
    border-color: #4a4e4d
}

.btn-outline--secondary:focus svg,.btn-outline--secondary:hover svg {
    fill: #fff
}

.btn-outline--white {
    background-color: initial;
    border: 2px solid #fff;
    color: #fff
}

.btn-outline--white:focus,.btn-outline--white:hover {
    color: #4a4e4d;
    background-color: #fff;
    border-color: #fff
}

.btn-outline--white:focus svg,.btn-outline--white:hover svg {
    fill: #fff
}

.btn-outline--success {
    background-color: initial;
    border-color: #5fb659;
    color: #5fb659
}

.btn-outline--success:focus,.btn-outline--success:hover {
    color: #fff;
    background-color: #5fb659!important;
    border-color: #5fb659
}

.btn--link {
    font-weight: 600;
    text-decoration: none;
    padding: 5px
}

.btn--sm {
    font-size: .875rem;
    padding: 0 15px;
    height: 35px;
    line-height: 35px
}

.btn--md {
    font-size: 1.125em
}

.btn--lg,.btn--md {
    padding: 0 25px;
    height: 48px;
    line-height: 48px
}

.btn--lg {
    font-size: 1.2rem
}

/*
* Forms
*/
input[type="text"],
input[type="password"],
input[type="email"],
input[type="time"],
select,
textarea,
#card-element, 
#card-element2 {
    border-radius: 6px;
    padding: 12px;
    border: 1px solid #ccc;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus {
    border: 1px solid #44c5c3;
    outline: 0
}

.form-group {
    margin-bottom: 20px
}

.form-control, .wpwl-control {
    appearance: none;
    background-color: #fff;
    border-radius: 8px;
    border: 1px solid #d1d1d1;
    box-shadow: none;
    box-sizing: border-box;
    height: 44px;
    padding: 8px 12px;
    -moz-appearance: none;
    -webkit-appearance: none;
    width: 100%
}

.form-control:focus, .wpwl-control:focus {
    border: 1px solid #44c5c3;
    outline: 0
}

select.form-control {
    background: #fff url(../images/icons/down-arrow.svg) 95% 12px no-repeat;
    background-size: 16px 16px;
    padding-right: 35px
}

textarea {
    appearance: none;
    min-height: 65px;
    padding-bottom: 6px;
    padding-top: 6px;
    -moz-appearance: none;
    -webkit-appearance: none
}

label,legend {
    display: block;
    font-size: .938em;
    font-weight: 600;
    margin-bottom: .5rem
}

.wpwl-has-error~.wpwl-hint {
    color: #f74646;
    font-weight: 500;
    margin: 5px 0 0 0;
    padding: 0;
    font-size: 13px;
    list-style: none;
}

input[type=checkbox],input[type=radio] {
    display: inline
}

input.placeholder,textarea.placeholder {
    color: get-map((#fff:#fff,grey:#b5b5b5,grey-light:#efefef,grey-lighter:#f8f8f8,primary:#0c9ba8,primary-soft:#44c5c3,primary-light:#83cbd1,charcoal-hard:#212121,charcoal-soft:#4a4e4d,gold-soft:#d3a74b,gold-hard:#b68c35,orange:#e8a334,peach:#f58a72,peach-light:#f6bbaf,sand:#efe1e1,sand-light:#f8f2f2,heading-underline:#efe1e1,facebook:#5776b2,discount:#d34c3b,success:#5fb659,warning:#e67e22,danger:#c3423f),grey)
}

input:-moz-placeholder,input::-moz-placeholder,textarea:-moz-placeholder,textarea::-moz-placeholder {
    color: get-map((#fff:#fff,grey:#b5b5b5,grey-light:#efefef,grey-lighter:#f8f8f8,primary:#0c9ba8,primary-soft:#44c5c3,primary-light:#83cbd1,charcoal-hard:#212121,charcoal-soft:#4a4e4d,gold-soft:#d3a74b,gold-hard:#b68c35,orange:#e8a334,peach:#f58a72,peach-light:#f6bbaf,sand:#efe1e1,sand-light:#f8f2f2,heading-underline:#efe1e1,facebook:#5776b2,discount:#d34c3b,success:#5fb659,warning:#e67e22,danger:#c3423f),grey)
}

input:-ms-input-placeholder,textarea:-ms-input-placeholder {
    color: get-map((#fff:#fff,grey:#b5b5b5,grey-light:#efefef,grey-lighter:#f8f8f8,primary:#0c9ba8,primary-soft:#44c5c3,primary-light:#83cbd1,charcoal-hard:#212121,charcoal-soft:#4a4e4d,gold-soft:#d3a74b,gold-hard:#b68c35,orange:#e8a334,peach:#f58a72,peach-light:#f6bbaf,sand:#efe1e1,sand-light:#f8f2f2,heading-underline:#efe1e1,facebook:#5776b2,discount:#d34c3b,success:#5fb659,warning:#e67e22,danger:#c3423f),grey)
}

input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
    color: get-map((#fff:#fff,grey:#b5b5b5,grey-light:#efefef,grey-lighter:#f8f8f8,primary:#0c9ba8,primary-soft:#44c5c3,primary-light:#83cbd1,charcoal-hard:#212121,charcoal-soft:#4a4e4d,gold-soft:#d3a74b,gold-hard:#b68c35,orange:#e8a334,peach:#f58a72,peach-light:#f6bbaf,sand:#efe1e1,sand-light:#f8f2f2,heading-underline:#efe1e1,facebook:#5776b2,discount:#d34c3b,success:#5fb659,warning:#e67e22,danger:#c3423f),grey)
}

.form-inline {
    display: flex;
    align-items: center
}

.form-inline .form-control,.form-inline label {
    display: inline-block;
    width: auto
}

.form-inline label {
    margin-right: 10px
}

.form-inline .form__radio {
    display: inline-block;
    margin-right: 7px
}

.combodate select.form-control,.form-inline select.form-control {
    background-position: 80% 12px;
    margin-right: 10px
}

.form__checkbox {
    position: relative;
    margin: 0 0 10px 0;
}

.form__checkbox input[type=checkbox]:empty {
    display: none
}

.form__checkbox input[type=checkbox]~span {
    font-weight: 400;
    font-size: 15px;
    display: block;
    position: relative;
    line-height: 22px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 30px;
    width: 100%
}

.form__checkbox input[type=checkbox]~span a {
    color: #fff;
    font-weight: 600;
    text-decoration: underline!important
}

.form__checkbox input[type=checkbox]~span:before {
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    content: "";
    width: 21px;
    height: 21px;
    background: #fff;
    color: #fff;
    border: 1px solid #c2d1d9;
    border-radius: 4px;
    transition: border .15s ease-in-out,color .15s ease-in-out
}

.form__checkbox input[type=checkbox]:checked~span:before {
    content: "";
    background-image: url(../images/icons/check.svg);
    background-size: 10px;
    background-position: 50%;
    background-repeat: no-repeat;
    background-color: #44c5c3;
    border: 1px solid #44c5c3;
    line-height: 19px;
    font-size: .7rem;
    text-align: center
}


.form__radio input:empty {
    display: none
}

.form__radio input:empty~.form__radio--label .label {
    color: #515961;
    display: block;
    position: relative;
    line-height: 1.4;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
    padding-left: 35px;
    padding-top: 1px
}

.form__radio input:empty~.form__radio--label .label:before {
    position: absolute;
    display: block;
    top: 2px;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    width: 22px;
    height: 22px;
    background: #fff;
    border-radius: 50% 50%;
    border: 0 solid #fff;
    box-shadow: 0 0 0 1px #ccc
}

.form__radio input:checked~.form__radio--label .label:before {
    content: "";
    background-image: url(../images/icons/check.svg);
    background-size: 10px;
    background-position: 50%;
    background-repeat: no-repeat;
    background-color: #44c5c3;
    box-shadow: 0 0 0 1px #44c5c3;
    border: 1px solid #44c5c3;
    box-shadow: inset 0 0 #fff;
    height: 22px;
    left: 0;
    width: 22px
}

.form__radio input:checked~.form__radio--label .label:after {
    background-color: #fff;
    box-shadow: 0 0 0 2px #44c5c3,0 2px 9px rgba(84,54,110,.2),0 2px 10px rgba(103,65,134,.2);
    color: #44c5c3
}

.form__radio input:checked~.form__radio--label .label:after:before {
    border-radius: 50%;
    content: "";
    position: absolute;
    transition: all .2s linear;
    transform-origin: center;
    top: 0;
    bottom: 0;
    margin: auto
}

.options__grid {
    display: flex;
    text-align: center;
    justify-content: center
}

.options__grid .option__item {
    margin: 0 10px
}

.options__grid .option__item label {
    margin-bottom: 0
}

.options__grid .option__item input {
    display: none;
    -webkit-appearance: none
}

.options__grid .option__item.checked label .circle {
    background-color: #83cbd1
}

.options__grid .option__item.checked label svg {
    fill: #fff
}

.options__grid .option__item .circle {
    background-color: #fff;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    height: 132px;
    margin: 0 auto;
    width: 133px;
    display: flex;
    align-items: center
}

.options__grid .option__item svg {
    fill: #212121;
    width: 80px;
    line-height: 130px;
    display: block;
    text-shadow: none;
    margin: 0 auto
}

.options__grid .option__item [for=room-private-double] svg,.options__grid .option__item [for=room-want-double] svg {
    transform: scale(.9)
}

.options__grid .option__item [for=room-shared-friends] svg,.options__grid .option__item [for=room-shared-twin] svg {
    transform: scale(1.2)
}

.options__grid .option__item span {
    cursor: pointer;
    text-transform: none;
    font-weight: 600;
    font-size: .938em;
    display: block;
    padding-top: 10px;
    margin: 0 0 10px
}

.form-group input {
    float: none;
}

.stat {
    margin: 1rem 0;
}
.stat .stat-number {
    display: block;
    font-size: 2.5em;
}
.stat .stat-text {
    margin: 0.5rem 0 0;
}
@media (max-width: 991px) {
    .stat i {
        float: none !important;
        display: block;
        margin-bottom: 10px;
    }
}
@media (max-width: 769px) {
    .stat i {
        text-align: center;
    }
    .stat .media-body {
        text-align: center;
    }
}

/*
* Modal
*/

.modal-header {
    background: #111;
}

/* .modal {
    bottom: 0;
    left: 0;
    max-height: 100vh;
    opacity: 0;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    transition: all .2s ease 50ms;
    visibility: hidden;
    z-index: 900
}

.modal--open {
    overflow: hidden
}

.modal__box {
    background: #fff;
    border-radius: 8px;
    color: #00294d;
    font-weight: 400;
    line-height: 1.5;
    margin: auto;
    max-width: 686px;
    opacity: 0;
    position: relative;
    transform: scale(.96);
    transition: all .2s ease 0s;
    width: 100%;
    z-index: 2
}

.modal--small .modal__box {
    max-width: 400px
}

.modal__overlay {
    cursor: pointer;
    background: rgba(0,0,0,.85);
    bottom: 0;
    left: 0;
    max-height: 100vh;
    opacity: 0;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    transition: all .2s ease 50ms;
    visibility: hidden;
    z-index: 1
}

.modal__close {
    cursor: pointer;
    position: absolute;
    right: 15px;
    top: 15px
}

.modal__close .icon {
    fill: #4a4e4d;
    width: 1em;
    height: 1em;
    font-size: 1.2rem;
    opacity: .8;
    transition: all .1s ease-in
}

.modal__close .icon:hover {
    opacity: 1
}

.modal__inner {
    align-items: center;
    display: flex;
    min-height: 100%;
    padding: 20px 16px;
    width: 100%
}

.modal__body {
    padding: 36px 28px;
    width: 100%
}

.modal__heading {
    color: #212121;
    font-family: Proxima Nova,sans-serif;
    font-size: 1.25em;
    font-weight: 700;
    text-transform: none
}

.modal__heading .emoji {
    position: relative;
    top: 4px;
    left: 1px;
    font-size: 1.5em
}

.modal .social {
    align-items: flex-start;
    flex-direction: column
}

.modal .social__icon {
    margin: 10px 0
}

.modal .review {
    box-shadow: none;
    padding: 0;
    margin: 0
}

.modal .review__avatar {
    border-radius: 50px;
    height: 50px;
    width: 50px;
    margin-right: 15px
}

.modal .review__avatar:before {
    content: "";
    width: 20px;
    height: 20px;
    background-size: 20px
}

.modal .review__avatar img {
    border-radius: 50px;
    height: 50px;
    width: 50px
}

.modal .review__detail {
    justify-content: flex-start
}

.modal .review__destination,.modal .review__name {
    font-size: 1rem
}

.modal .review__rating {
    margin-left: 10px!important;
    width: 90px
}

.modal .review__body {
    margin-top: 15px;
    font-size: .938em
}

.modal--active {
    opacity: 1;
    transition: all .3s ease 0s;
    visibility: visible
}

.modal--active .modal__box {
    opacity: 1;
    transform: none;
    visibility: visible
}

.modal--active .modal__overlay {
    opacity: 1;
    transition: all .3s ease 0s;
    visibility: visible
}

@media(min-width: 36em) {
    .modal__inner {
        padding:48px 16px
    }
} */

.position-relative {
    position: relative !important;
}
.destination__item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    padding: 2.5rem 1rem;
    background-size: cover;
    background-position: center;
  }
  .destination__item:before {
    content: "";
    background: rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
  }
  .destination__item .destination__item-name {
    position: relative;
    font-size: 4.5rem;
    color: #fff;
    font-weight: 800;
    line-height: 1.5;
  }
  .destination__item .destination__item-date {
    position: relative;
    color: #fff;
    padding: 5px 20px;
    background: #44c5c3;
  }
  .destination__included ul {
    padding-left: 30px;
  }
  .destination__included li {
    list-style: none;
    margin: 12px 0;
    position: relative;
  }
  .destination__included li:before {
    content: "";
    display: block;
    background-image: url(../images/icons/check-primary.svg);
    background-size: 18px;
    background-repeat: no-repeat;
    width: 18px;
    height: 18px;
    position: absolute;
    left: -30px;
  }
  

/*
* Icon & Text block
*/

.icon-block {
    display: flex;
    margin: 0 0 10px
}

.icon-block--inline {
    align-items: center;
    flex-direction: row
}

.icon-block--inline .icon-block__graphic {
    margin-right: 10px
}

.icon-block--shadow {
    box-shadow: 0 1px 15px rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 1rem
}

.icon-block__graphic {
    flex: 0 0 65px
}

.icon-block__graphic--sm {
    flex: 0 0 45px;
    height: 20px
}

.icon-block__title {
    font-size: 1.2rem;
    margin: 0
}

.icon-block__body {
    margin-top: 2px;
    font-size: .875rem;
    line-height: 1.3
}

@media only screen and (min-width: 768px) {
    .icon-block {
        margin:0 0 20px;
        text-align: center
    }

    .icon-block--inline {
        flex-direction: column
    }

    .icon-block--inline .icon-block__graphic {
        margin: 0 0 15px;
        align-items: center;
        justify-content: center;
        display: flex
    }

    .icon-block--inline .icon-block__graphic img {
        width: 60px
    }

    .icon-block--retain {
        flex-direction: row
    }

    .icon-block--retain .icon-block__graphic {
        margin: 0 10px 0 0;
        justify-content: flex-start;
        display: flex
    }

    .icon-block__title {
        font-size: 1.2rem;
        margin: 0
    }

    .icon-block__body {
        margin-top: 5px;
        line-height: 1.4
    }
}

@media only screen and (min-width: 1248px) {
    .icon-block {
        margin:0
    }
}


/*--------------------------------------------------------------
# TOTALPROCESSING Checkout
--------------------------------------------------------------*/
.wpwl-form {
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
  .wpwl-form-card {
    background: #333;
    border: none;
    padding: 15px;
    box-shadow: none;
  }
  .wpwl-form .form__checkbox input[type=checkbox]~span {
    color: #fff;
  }
  .wpwl-control-surName, .wpwl-control-givenName {
    width: 49%;
  }
  .wpwl-group.wpwl-group-brand {
    display: none;
  }
  div.wpwl-group-cardNumber {
    font-size: 1rem;
    width: 100%;
  }
  div.wpwl-sup-wrapper-country {
    width: 100%;
  }
  .wpwl-group {
    float: left;
  }
  div.wpwl-label {
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
  }
  
  .wpwl-group-cardHolder, div.wpwl-group-cardNumber, div.wpwl-sup-wrapper-country {
    padding-right: 0;
    width: 100% !important;
  }
  
  .cnpBillingCheckoutWrapper {position:relative;}
  .cnpBillingCheckoutHeader {width:100%;border-bottom: 1px solid #c0c0c0;margin-bottom:10px;}
  .cnpBillingCheckoutLeft {width:240px;margin-left: 5px;margin-bottom: 10px;border: 1px solid #c0c0c0;display:inline-block;vertical-align: top;padding:10px;}
  .cnpBillingCheckoutRight {width:50%;margin-left: 5px;border: 1px solid #c0c0c0;display:inline-block;vertical-align: top;padding:10px;}
  .cnpBillingCheckoutOrange {font-size:110%;color: rgb(255, 60, 22);font-weight:bold;}
  div.wpwl-wrapper, div.wpwl-label, div.wpwl-sup-wrapper { width: 100% }
  div.wpwl-group-expiry, div.wpwl-group-brand { width: 30%; float:left }
  div.wpwl-group-cvv { width: 68%; float:left; margin-left:2% }
  div.wpwl-group-cardHolder, div.wpwl-sup-wrapper-street1, div.wpwl-group-expiry { clear:both }
  div.wpwl-sup-wrapper-street1 { padding-top: 1px }
  div.wpwl-wrapper-brand { width: auto }
  div.wpwl-sup-wrapper-state, div.wpwl-sup-wrapper-city { width:32%;float:left;margin-right:2% }
  div.wpwl-sup-wrapper-postcode { width:32%;float:left }
  div.wpwl-sup-wrapper-country { width: 66% }
  div.wpwl-wrapper-brand, div.wpwl-label-brand, div.wpwl-brand { display: none;}
  div.wpwl-group-cardNumber { width:60%; float:left; font-size: 20px;  }
  div.wpwl-group-brand { width:35%; float:left; margin-top:28px }
  div.wpwl-brand-card  { width: 65px }
  div.wpwl-brand-custom  { margin: 0px 5px; background-image: url("https://oppwa.com/v1/paymentWidgets/img/brand.png") }