/*! Pre Loader */
.css3-spinner{position:fixed;width:100%;height:100%;top:0;left:0;z-index:1000;text-align:center;background-color:#FFF;-webkit-animation-fill-mode:both;animation-fill-mode:both}.css3-spinner>.custom-bg{position:absolute;top:0;left:0;right:0;bottom:0}.css3-spinner>.custom-bg.bg-1{background:-moz-linear-gradient(top,rgba(23,117,131,.94) 0,rgba(165,228,213,1) 100%);background:-webkit-linear-gradient(top,rgba(23,117,131,.94) 0,rgba(165,228,213,1) 100%);background:linear-gradient(to bottom,rgba(23,117,131,.94) 0,rgba(165,228,213,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0177583', endColorstr='#a5e4d5', GradientType=0 )}.css3-spinner>.custom-bg.bg-2{opacity:.7;background:-moz-linear-gradient(top,rgba(214,150,129,.17) 0,rgba(214,150,129,.41) 29%,rgba(255,198,155,1) 100%);background:-webkit-linear-gradient(top,rgba(214,150,129,.17) 0,rgba(214,150,129,.41) 29%,rgba(255,198,155,1) 100%);background:linear-gradient(to bottom,rgba(214,150,129,.17) 0,rgba(214,150,129,.41) 29%,rgba(255,198,155,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#2bd69681', endColorstr='#ffc69b', GradientType=0 )}.css3-spinner>div:not(.custom-bg){position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:13px;width:18px;height:18px;background-color:#DDD;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.css3-spinner>div.css3-spinner-ball-scale-multiple{width:160px;height:160px;margin-left:-80px;margin-top:-80px;background-color:transparent!important;-webkit-animation:none;animation:none}.css3-spinner-ball-scale-multiple>div{background-color:#bce9f1;border-radius:100%;position:absolute;left:0;top:0;opacity:0;width:160px;height:160px;-webkit-animation:ball-scale-multiple 1.25s 0s linear infinite;animation:ball-scale-multiple 1.25s 0s linear infinite}.css3-spinner-ball-scale-multiple>div:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.css3-spinner-ball-scale-multiple>div:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}@-webkit-keyframes ball-scale-multiple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}5%{opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes ball-scale-multiple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}5%{opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}

a, a:hover, a:focus, a:active {
    color: #008DA6;
}

textarea { resize: none; }
a:hover, a:focus { text-decoration: none; outline: none; box-shadow: none; }
button:focus, .btn:focus, .btn:active:focus { outline: none; }

.overflow-hidden { overflow: hidden !important; }
.nomargin { margin: 0 !important; }
.nopadding { padding: 0 !important; }

.alt-font { font-family: 'Playfair Display', serif !important; }
.alt-font-2 { font-family: 'Roboto', sans-serif !important; }
.alt-font-3 { font-family: 'Open Sans', sans-serif !important; }
.text-primary { color: #F7BA44; }
.text-lightblue { color: #4FBED1; }

.btn {
    border-radius: 0;
}
.btn-lg {
    font-size: 20px;
    line-height: 28px;
    font-weight: 600;
}
.btn-gray {
    background: #7C7C7C;
    color: #fff;
    transition: background .2s;
}
.btn-gray:hover {
    background: #474747;
    color: #fff;
}
.btn-50px {
    font-size: 16px;
    line-height: 50px;
    height: 50px;
    font-weight: 600;
    padding: 0 18px;
}
.btn-blue {
    background: #2C79A5;
    color: #fff;
    border: none;
    transition: background .2s;
}
.btn-blue:hover, .btn-blue:focus, .btn-blue:active {
    background: #1d8bca;
    color: #fff;
}

input.datepicker { cursor: pointer; }

.reverse-underline-animated {
    position: relative;
}
.reverse-underline-animated:after {
    content: "";
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background-color: #fff;
    top: 100%;
    left: 0;
    transition: width 150ms;
}
.reverse-underline-animated:hover:after {
    width: 0;
}

html, body {
	font-family: 'Dosis', sans-serif;
    font-size: 13px;
    letter-spacing: 0;
    line-height: 1;
	background: #fff;
	position: relative;
    min-height: 100vh;
}
body {
    overflow-x: hidden;
}


/* PRETTY CHECKBOX */
    .pretty {
        margin: 0;
    }
    .pretty .state label {
        white-space: normal;
        position: relative;
        text-indent: 0;
        padding-left: 28px;
        display: block;
        width: 100%;
        line-height: 18px;
    }
    .pretty .state label:before {
        top: 0;
        left: 0;
        height: 18px;
        width: 18px;
        background: #F7F7F7;
    }
    .pretty .state label:after {
        top: 4px;
        left: 4px;
        height: 10px;
        width: 10px;
    }


/* COMMON BOX */
    .common-box {
        padding: 25px 20px 60px;
        background: #f7f7f7;
    }
    .common-box > .content {
        text-align: center;
    }
    .common-box > .content  p.alt-font {
        font-size: 15px;
        color: #2C79A5;
        letter-spacing: 1.25px;
        line-height: 20px;
        margin-bottom: 2px;
        font-weight: normal;
    }
    .common-box > .content  h1 {
        font-size: 30px;
        line-height: 41px;
        font-weight: 600;
        margin: 0 0 10px;
    }
    .common-box > .content  p.text {
        font-size: 13px;
        color: #333333;
        margin: 0;
        line-height: 18px;
        text-align: justify;
    }


/* CLAMP TEXT */
    .clamp-text > .continuum {
        display: none;
    }
    .clamp-text.opened > .preview > .ellipsis {
        display: none;
    }
    .clamp-text > .toggle-wrapper > .toggle.more {
        display: unset;
    }
    .clamp-text > .toggle-wrapper > .toggle.less {
        display: none;
    }
    .clamp-text.opened > .toggle-wrapper > .toggle.more {
        display: none;
    }
    .clamp-text.opened > .toggle-wrapper > .toggle.less {
        display: unset;
    }


/* AVAILABILITY CALENDAR SLOTS */
    .cs-calendar {
        background: #F7F7F7;
        padding: 10px 0 11.5px;
    }
    .cs-calendar > .nav {
        position: relative;
        display: flex;
        justify-content: center;
    }
    .cs-calendar > .nav > select {
        background: #FFFFFF;
        border: 1px solid #CCCCCC;
    }
    .cs-calendar > .nav > select:first-of-type {
        margin-right: 15px;
    }
    .cs-calendar > .nav > .cs-arrow.disabled {
        cursor: not-allowed;
        opacity: .3;
    }
    .cs-calendar > .nav > .cs-arrow {
        display: block;
        height: 17px;
        width: 17px;
        background-image: url(/images/icons-sprite.png);
        background-repeat: no-repeat;
        position: absolute;
        top: 4px;
    }
    .cs-calendar > .nav > .cs-arrow.cs-previous {
        background-position: -326px -66px;
        left: 20px;
    }
    .cs-calendar > .nav > .cs-arrow.cs-next {
        background-position: -355px -66px;
        right: 20px;
    }
    .cs-calendar > ul.weekdays {
        margin: 0;
        padding: 0 12.5px;
        list-style: none;
        display: flex;
    }
    .cs-calendar > ul.weekdays > li {
        flex: 1;
        text-align: center;
        font-size: 14px;
        line-height: 25px;
        font-weight: 600;
    }
    .cs-calendar > ul.days {
        margin: 0 -3.5px;
        padding: 0 16.5px;
        list-style: none;
    }
    .cs-calendar > ul.days:before, .cs-calendar > ul.days:after {
        display: table;
        content: " ";
    }
    .cs-calendar > ul.days:after {
        clear: both;
    }
    .cs-calendar > ul.days > li {
        text-align: center;
        font-size: 14px;
        line-height: 25px;
        float: left;
        width: 14.2857143%;
        color: #fff;
        padding: 3.5px;
    }
    .cs-calendar > ul > li > span {
        display: block;
    }
    .cs-calendar > ul.days > li > span {
        background: #70CD5D;
    }
    .cs-calendar > ul.days > li > span.blank {
        opacity: .35;
    }
    .cs-calendar > ul.days > li > span.booked {
        background: #9F9F9F;
    }
    .cs-calendar > ul.days > li > span.today {
        border-radius: 50%;
    }



@media (min-width: 768px) {
    html, body {
        background: #1f1f1f;
    }

    #main-wrapper {
        background: #fff;
    }

    /* COMMON BOX */
    .common-box {
        padding: 25px;
    }
    .common-box > .content h1 {
        font-size: 30px;
        line-height: 41px;
        margin-bottom: 25px;
    }
    .common-box > .content p.text {
        font-size: 14px;
        line-height: 19px;
    }
}

@media (min-width: 1200px) {
    body {
        padding-left: 225px;
    }

    .container {
        width: 1044px;
    }

    /* COMMON BOX */
    .common-box {
        padding: 51px 90px;
    }
    .common-box > .content {
        width: 100%;
        padding: 0;
        text-align: left;
        height: auto;
        display: flex;
        align-items: center;
    }
    .common-box > .content p.alt-font {
        font-size: 24px;
        letter-spacing: 3px;
        line-height: 32px;
    }
    .common-box > .content h1 {
        font-size: 70px;
        line-height: 70px;
        margin-bottom: 0;
        font-weight: 700;
    }
    .common-box > .content p.text {
        flex: 1;
        padding-left: 50px;
    }
}
