body {
    font-size: 13px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    line-height: 140%;
}
a {
    text-decoration: none;
}
a:focus, input:focus, button:focus {
    outline: none;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 130%;
    margin: 0 0 25px;
}
h1 {
    font-size: 33px;
}
h2 {
    font-size: 26px;
}
h3 {
    font-size: 20px;
}
h4 {
    font-size: 18px;
}
h5 {
    font-size: 16px;
}
h6 {
    font-size: 13px;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/** Transition */
#footer-sp li a,
.tve_btnLink,
.button, .btn, input[type="submit"], button,
#site-contact a,
.menu a,
#breadcrumbs ul li a,
#site-cart-contents ul.cart-dropdown > li ul li a,
#site-cart-contents ul.cart-dropdown > li > a:before,
.cart-contents-btn, ul.cart-dropdown > li > a {
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

/** Site Header */
#site-header {
    padding: 20px 0 10px;
    background-color: #fff;
    background-image: -webkit-linear-gradient(#fff 0%,#f8f8f8 50%,#f2f2f2 100%);
    background-image: linear-gradient(#fff 0%,#f8f8f8 50%,#f2f2f2 100%);
    border-bottom: 1px solid #ebebeb;
    position: relative;
}
#site-header .nav-wr {
    display: table;
    width: 100%;
}
#site-logo, #site-nav, #site-contact, #site-cart-contents, #site-mobile-toggle {
    display: table-cell;
    vertical-align: middle;
}

/** Logo */
#site-logo .logo {
    display: inline-block;
}
#site-logo .logo img {
    max-width: 200px;
}

/** Mobile Toggle */
#site-mobile-toggle {
    text-align: right;
    display: none;
}
#site-mobile-toggle .menu-toggle {
    background-image: linear-gradient(#9e82b6 0%, #8562a3 100%);
    border-style: solid;
    border-width: 1px;
    border-color: #9e82b6 #8562a3 #8562a3 #8562a3;
    color: #fff;
    font-size: 32px;
    height: 46px;
    line-height: 46px;
    margin: 0 0 0 10px;
    text-align: center;
    width: 46px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: inline-block;
}

/** Site Navigation */
#site-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
#site-menu > li {
    display: inline-block;
    padding: 10px;
}
#site-menu > li > a {
    display: block;
    color: #4E4E4E;
    font-size: 1.25em;
}
#site-menu > li > a:hover {
    color: #8562a3;
}
#site-menu > li ul {
    display: none;
}
#site-menu > li.mobile-cart {
    display: none;
    padding: 10px 20px;
}
#site-menu > li.mobile-cart > a {
    box-sizing: border-box;
    display: block;
    height: 36px;
    line-height: 36px;
    padding-left: 20px;
    width: 100%;
    border: 2px solid #387fc8 !important;
    border-radius: 5px;
}
#site-menu > li.mobile-cart > a.mobile-cart-count:not(.empty):before {
    content: "\f07a";
    font-size: 16px;
    font-family: FontAwesome;
    color: #387fc8;
    margin-right: 5px;
}
#site-menu > li.mobile-cart > a.empty {
    text-align: center;
}

/** Site Contact */
#site-contact {
    width: 235px;
}
#site-contact a {
    display: block;
    text-align: center;
    -webkit-border-radius: 9px;
    -moz-border-radius: 9px;
    border-radius: 9px;
    border: 1px solid #bbbbbb;
    padding: 10px;
    color: #4e4e4e;
}
#site-contact a:hover {
    color: #8562a3;
}
#site-contact a span {
    display: block;
    line-height: 22px;
}
#site-contact a .text {
    font-size: 13px;
}
#site-contact a .phone {
    font-size: 19px;
}
#site-contact a .phone span {
    display: inline-block;
}
#site-contact a .phone:before {
    content: "\f095";
    font-family: FontAwesome;
    margin-right: 5px;
    color: #660066;
}

/** Woocommerce Header Dropdown */
#site-cart-contents {
    width: 150px;
    text-align: right;
}
.cart-contents-btn {
    display: inline-block;
    padding: 10px 15px;
    font-size: 16px;
    line-height: 16px;
    border: 2px solid #660066;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.cart-contents-btn, ul.cart-dropdown > li > a {
    border-color: #660066;
}
.cart-contents-btn, ul.cart-dropdown > li > a,
ul.cart-dropdown > li > a::before {
    color: #660066;
}
.cart-contents-btn:hover, ul.cart-dropdown > li:hover > a {
    background-color: #660066;
    color: #ffffff;
}
#site-cart-contents ul.cart-dropdown {
    list-style: none;
    padding: 0;
    margin: 0;
}
#site-cart-contents ul.cart-dropdown > li {
    position: relative;
}
#site-cart-contents ul.cart-dropdown > li > a::before {
    content: "\f07a";
    font-size: 16px;
    font-family: FontAwesome;
    color: #660066;
}
#site-cart-contents ul.cart-dropdown > li:hover > a:before {
    color: #ffffff;
}
#site-cart-contents ul.cart-dropdown > li ul {
    display: none;
    width: 250px;
    top: 100%;
    right: 0;
    z-index: 9999;
    list-style: none;
    position: absolute;
    min-width: 160px;
    padding: 5px 0;
    margin: 0;
    font-size: 14px;
    background-color: #fff;
    border: 1px solid #f4f3f3;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    box-shadow: 0 6px 12px rgba(0,0,0,0.175);
}
#site-cart-contents ul.cart-dropdown > li:hover > ul {
    display: block;
}
#site-cart-contents ul.cart-dropdown > li ul li.divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: #e5e5e5;
}
#site-cart-contents ul.cart-dropdown > li ul li .item {
    display: block;
    padding: 3px 10px;
    margin: 3px 0;
}
#site-cart-contents ul.cart-dropdown > li ul li .item::after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-left {
    float: left;
    width: 85%;
    text-align: left;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-right {
    float: right;
}
#site-cart-contents ul.cart-dropdown li .item-left img,
#site-cart-contents ul.cart-dropdown li .item-left span.item-info {
    float: left;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-left img {
    width: 50px;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-left span.item-info {
    margin-left: 10px;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-left a {
    color: #555;
    font-size: 14px;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-left a:hover {
    color: #8562a3;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-left span.item-info span.quantity-amount {
    display: block;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-right a {
    margin-top: 14px;
    background-color: #FF4136;
    color: #fff;
    border-radius: 100%;
    height: 20px;
    width: 20px;
    text-align: center;
    display: block;
    position: relative;
}
#site-cart-contents ul.cart-dropdown > li ul li .item-right a::after {
    content: "\f00d";
    font-family: 'FontAwesome';
    font-size: 12px;
    height: 9px;
    width: 9px;
    line-height: 8px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -4.5px;
    margin-left: -4.5px;
}
#site-cart-contents ul.cart-dropdown > li ul li a.view-more {
    text-align: center;
    display: block;
    padding: 10px 0;
    color: #555;
}
#site-cart-contents ul.cart-dropdown > li ul li a.view-more:hover {
    color: #8562a3;
}

/** Custom Calendar */
.tve_shortcode_rendered {
    text-align: center;
}
.calendar-event-widget-list {
    display: inline-block;
    margin: 5px 8px;
    border: 3px solid #660066;
    color: #660066;
    padding-top: 5px;
}
.calendar-event-widget-list .list-info .tribe-events-month,
.calendar-event-widget-list .list-info .tribe-events-date {
    text-transform: uppercase;
    padding: 2px 5px;
    color: #660066 !important;
    font-weight: 700 !important;
}
.calendar-event-widget-list .list-info .tribe-events-duration {
    padding: 2px 5px 8px;
    color: #660066 !important;
    font-weight: 700 !important;
}
.calendar-event-widget-list .list-info a {
    display: block;
    text-transform: uppercase;
    color: #ffffff !important;
    font-size: 16px;
    background: #A005D7;
    padding: 6px 5px;
    border-top: 3px solid #660066;
    font-weight: 700 !important;
    text-decoration: none;
}

.single-tribe_events .tribe-events-event-meta {
    border: none;
    background: none;
}
.tribe-events-event-meta .tribe-events-meta-group {
    padding: 0;
}
.single-tribe_events .tribe-events-venue-map {
    margin: 20px 0 2%;
}
.single-tribe_events .tribe-events-tickets tr:last-child,
.single-tribe_events .tribe-events-tickets tr:last-child td {
    border-bottom: none !important;
}
h2.tribe-events-tickets-title {
    font-size: 1.923em !important;
}
.single-tribe_events .tribe-events-tickets .tickets_price,
.single-tribe_events .tribe-events-tickets .tribe-tickets-remaining,
.single-tribe_events .tribe-events-tickets .tickets_name,
.single-tribe_events .tribe-events-tickets .tickets_description {
    font-size: 1.4em;
    font-weight: 700;
}
.single-tribe_events .tribe-events-event-meta address.tribe-events-address,
.single-tribe_events .bSe article,
.single-tribe_events .bSe table td,
.single-tribe_events .bSe h2,
.single-tribe_events .bSe h3,
.single-tribe_events dl dt,
.single-tribe_events .bSe a {
    color: #660066;
}
button[name="wootickets_process"] {
    background: url("../img/add-to-cart-btn.jpg") no-repeat center center / contain;
    border: none;
    height: 120px;
    width: 120px;
    cursor: pointer;
}
.single-tribe_events .woocommerce .qty {
    padding: 14px 10px;
    width: 140px;
}
.single-event-chat-with-us a,
.single-event-chat-with-us {
    color: #660066 !important;
    text-decoration: none !important;
}
.single-event-chat-with-us-mobile {
    display: none;
}
.single-event-sms,
.single-event-chat-with-us-mobile a {
    background-color: #387fc8;
    border: 2px solid #387fc8;
    border-radius: 5px;
    color: #fff !important;
    cursor: pointer;
    display: inline-block;
    font-size: 17px;
    line-height: 12px;
    padding: 12px 16px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    font-weight: 400 !important;
    text-decoration: none !important;
}
.single-event-sms-wrapper {
    padding-top: 10px;
}
@media (max-width: 722px) {
    .single-event-chat-with-us {
        display: none;
    }
    .single-event-chat-with-us-mobile {
        display: block;
    }
}

/** Custom Add to Cart Styles */
.woocommerce-cart .product-thumbnail {
    display: none !important;
}
.woocommerce-cart .wc-book-button,
.woocommerce-cart .wc-proceed-to-checkout {
    text-align: right;
}
.woocommerce-cart .wc-book-button {
    margin: 15px 0;
}
.woocommerce-cart .wc-book-button .button,
.woocommerce-cart .wc-proceed-to-checkout .button {
    min-width: 170px;
    text-decoration: none !important;
}
@media (max-width: 722px) {
    .woocommerce-cart .wc-book-button .button,
    .woocommerce-cart .wc-proceed-to-checkout .button {
        width: 100%;
        box-sizing: border-box;
    }
}
.tve-woocommerce table.shop_table tbody tr td.actions .coupon {
    display: none !important;
}

/** Woocommerce checkout */
.woocommerce-checkout .woocommerce-info {
    display: none;
}
.woocommerce-checkout .create-account {
    display: none;
}
.woocommerce-checkout #place_order {
    min-width: 206px;
}
@media (max-width: 722px) {
    .woocommerce-checkout #place_order {
        width: 100%;
        box-sizing: border-box;
    }
}

/** Page */
h1.entry-title {
    color: #660066 !important;
}
.main {
    padding: 0 0 40px;
}
h1, .entry-title {
    margin: 0 0 33px 0;
}
h1.entry-title {
    color: #660066;
    font-weight: 700;
    line-height: 1.25em;
}
.single-post .hentry p,
.page .hentry p {
    color: #555555;
    margin: 0 0 30px;
    word-wrap: break-word;
    line-height: 2em;
    font-size: 1em;
    padding: 0;
}
.single-post .hentry a,
.page .hentry a {
    color: #8562a3;
    text-decoration: underline;
}

/** Course List */
.woocommerce-course-shortcode {
    text-align: center;
    padding: 0 20px;
}
.woocommerce-course-list {
    display: inline-block;
    margin: 5px 8px;
    border: 3px solid #660066;
    color: #660066;
    padding-top: 5px;
    text-align: center;
}
@media (max-width: 767px) {
    .woocommerce-course-shortcode {
        padding: 0;
        margin: 0 -8px;
    }
}
.woocommerce-course-list .course-date,
.woocommerce-course-list .course-month {
    text-transform: uppercase;
    padding: 2px 5px;
    color: #660066 !important;
    font-weight: 700 !important;
}
.woocommerce-course-list .course-duration {
    padding: 2px 5px 8px;
    color: #660066 !important;
    font-weight: 700 !important;
}
.woocommerce-course-list a {
    display: block;
    text-transform: uppercase;
    color: #ffffff !important;
    font-size: 16px;
    background: #A005D7;
    padding: 6px 5px;
    border-top: 3px solid #660066;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.view-more-wrapper {
    padding-top: 20px;
    clear: both;
}
.view-more-wrapper a {
    font-size: 16px;
    color: #660066 !important;
}

/** Contact Us Shortcode */
.call-us-shortcode h3 {
    margin: 0;
    text-align: center;
}

/** Course Single */
.single-product .course-date-start {
    color: #660066;
    margin: 25px 0 32px;
    font-size: 1.923em;
}
.single-product .product .summary.entry-summary {
    float: none;
    width: 100%;
}
.single-product .course-ticket-title {
    font-size: 1.923em;
    margin: 0 0 15px;
    color: #660066;
}
.single-product .product form.cart {
    border-top: 0;
    border-bottom: 0;
    padding: 0;
}
.single-product .product form.cart .single_add_to_cart_button {
    margin-left: 0;
}
.single-product .course-ticket {
    display: table;
    width: 100%;
    border-top: 1px solid #e4e4e4;
    margin-bottom: 15px;
}
.single-product .ticket-availability,
.single-product .ticket-name,
.single-product .ticket-price {
    display: table-cell;
    vertical-align: middle;
    width: 33.3333%;
    border-bottom: 1px solid #ddd;
    padding: 10px;
}
.single-product .ticket-name,
.single-product .ticket-price {
    text-align: center;
}
.single-product .ticket-availability span,
.single-product .ticket-name span,
.single-product .ticket-price span,
.single-product .product .summary.entry-summary .price > span.amount {
    color: #660066;
    font-size: 18px;
    font-weight: 700;
}
.single-product .ticket-availability span {
    display: block;
}
.single-product .ticket-price span {
    font-style: italic;
}
.single-product .course-ticket .quantity {
    display: table;
    width: 100%;
}
.single-product .course-ticket .quantity input.input-text.qty.text[type="number"] {
    padding: 14px 10px;
    width: 140px;
    height: auto;
    text-align: left;
}
.single-product .product form.cart .single_add_to_cart_button {
    background: url("../img/add-to-cart-btn.jpg") no-repeat center center / contain;
    border: none;
    height: 120px;
    width: 120px;
    cursor: pointer;
}
.single-product span.course-nostock {
    font-size: 16px;
    font-style: italic;
}
.single-product .alt-courses {
    margin: 0;
    padding: 10px 0 0;
    list-style: none;
}
.single-product .alt-courses li a {
    text-decoration: none;
    display: inline-block;
}
.single-product .alt-courses-more {
    text-decoration: none;
}

.single-product .course-details {
    padding: 80px 0;
    display: table;
    width: 100%;
}
.single-product .course-details .venue-details {
    float: left;
    width: 33.3333%;
}
@media (max-width: 767px) {
    .single-product .course-details .venue-details {
        float: none;
        width: 100%;
    }
}
.single-product .course-details .venue-details * {
    color: #660066;
    text-decoration: none;
    font-size: 14px;
}
.single-product .course-details .venue-details .course-single-section-title {
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 10px;
}
.single-product .course-details .venue-details address {
    margin: 0;
}
.single-product .course-details .venue-details address a {
    display: block;
}
.single-product .course-details .venue-details dd {
    margin: 0 0 10px;
    line-height: 1.5;
}
.single-product .course-details .venue-details dt {
    clear: left;
    font-weight: 700;
    line-height: 1;
    list-style: none
}
.single-product .course-details .venue-map {
    float: right;
    width: 58%;
}
@media (max-width: 767px) {
    .single-product .course-details .venue-map {
        float: none;
        width: 100%;
    }
}
.course-unit-info {
    padding: 0 0 80px;
    text-align: center;
}
.course-unit-info span {
    display: inline-block;
    margin: 10px;
    color: #660066 !important;
    font-size: 1.538em;
    font-weight: 700;
}

/** Yith Bundle */
.bundle-price {
    display: block;
    margin-bottom: 20px;
    color: #660066;
    font-size: 1.5em;
    font-weight: 700;
}
.yith-wcpb-bundle-form .quantity {
    display: table;
    width: 100%;
    margin-bottom: 20px;
}
.yith-wcpb-bundle-form .quantity input.input-text.qty.text[type="number"] {
    padding: 14px 10px;
    width: 140px;
    height: auto;
    text-align: left;
}
.yith-wcpb-product-bundled-item-data h3 {
    color: #660066 !important;
}

/** Product Taxonomy */
.tax-product_cat section.bSe {
    padding-bottom: 100px;
}
.tax-product_cat ul.products {
    text-align: center;
}
.tax-product_cat article a {
    text-decoration: none;
}

/** Shop */
.shop-products {
    list-style: none;
    margin: 0;
    padding: 0;
}
.shop-products li {
    float: left;
    box-sizing: border-box;
    text-align: center;
    list-style: none;
    margin-bottom: 23px !important;
}
.shop-products:after {
    content: "";
    display: block;
    clear: both;
}
.shop-products li a {
    border: 1px solid #d3d3d3;
    padding: 20px;
    display: block;
    text-decoration: none;
    color: #5a5a5a;
    font-size: 19px;
}
@media (min-width: 940px) {
    .shop-products li {
        width: 32%;
        margin-right: 2%;
    }
    .shop-products li:nth-child(3n) {
        margin-right: 0;
    }
    .shop-products li:nth-child(3n+1) {
        clear: left;
    }
}

/** Breadcrumbs */
#breadcrumbs {
    border-bottom: 1px solid #e0e0e0;
    padding: 12px 0;
    margin-bottom: 10px;
}
#breadcrumbs ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#breadcrumbs ul li {
    font-size: .923em;
    display: inline-block;
    color: #8b8b8b;
}
#breadcrumbs ul li a {
    color: #8b8b8b;
}
#breadcrumbs ul li a:hover {
    color: #8562a3;
}
#breadcrumbs ul li a.no-link {
    cursor: default;
}
#breadcrumbs ul li.sep {
    display: inline-block;
    margin: 0 5px;
}
#breadcrumbs ul li:last-child,
#breadcrumbs ul li:last-child a {
    color: #8562a3;
}

/** 404 */
.error404 .entry-header {
    padding-top: 20px;
}
.search404 {
    max-width: 400px;
}
.search404 input.search-field {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border-style: solid;
    border-color: #cdcdcd;
    border-width: 1px 0 1px 1px;
    font-weight: 700;
    font-size: 1.308em;
    float: left;
    height: 39px;
    padding: 0 5% 4px 5%;
    width: 73.6%;
    box-sizing: content-box;
}
.search-button {
    background-color: #660066;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-style: solid;
    border-width: 1px;
    border-color: #660066;
    color: #fff;
    font-family: FontAwesome;
    float: left;
    height: 45px;
    width: 16%;
    cursor: pointer;
}
.search404:after {
    content: "";
    display: block;
    clear: both;
}

    /** Site Footer */
#footer-menu-wr {
    padding: 20px 0;
    background: #660066;
}
#footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}
#footer-menu > li {
    display: inline-block;
    padding: 0 15px;
}
#footer-menu > li > a {
    display: block;
    text-transform: uppercase;
    color: #ffffff;
    font-size: 1.5em;
}
#footer-menu > li > a:hover {
    opacity: 0.7;
}
#footer-menu > li ul {
    display: none;
}

#footer-others {
    padding: 20px 0;
    border-top: 1px solid #2b2b2b;
    background: #660066;
}
#footer-copyright {
    text-align: center;
    color: #b0b0b0;
    font-size: 13px;
}

#footer-sp {
    list-style: none;
    margin: 25px auto 0;
    padding: 0;
    display: table;
}
#footer-sp li {
    display: inline-block;
    padding: 0 5px;
}
#footer-sp li a {
    border-radius: 100px;
    box-shadow: 0 1px 1px 1px #eaeaea;
    border: 1px solid #dedede;
    background: #ffffff;
    color: #7e7e7e;
    display: block;
    height: 34px;
    line-height: 34px;
    text-align: center;
    width: 34px;
    font-size: 20px;
}
#footer-sp li a:hover {
    opacity: 0.7;
}

@media (max-width: 959px) {
    #site-cart-contents, #site-contact, #site-nav {
        display: none;
    }
    #site-menu > li.mobile-cart {
        display: block;
    }
    #site-mobile-toggle {
        display: table-cell;
    }
    #site-nav.open {
        display: block;
    }
    #site-nav {
        position: absolute;
        top: 100%;
        width: 100%;
        left: 0;
        background: #E9E9E9;
        overflow-y: scroll;
        z-index: 999;
    }
    #site-menu {
        display: block;
        width: 100%;
        margin-top: 10px;
    }
    #site-menu > li {
        display: block;
        margin: 0;
        padding: 0;
    }
    #site-menu > li > a {
        border-top: 1px solid #dcdcdc;
        display: block;
        height: 36px;
        line-height: 36px;
        padding-left: 20px;
        width: 100%;
    }
    #site-menu > li:first-child {
        border-top: 2px solid #8562a3;
    }
}

/** Thrive Editor CSS */
.in {
    margin: 0 auto;
    padding: 20px;
}
.out {
    font-size: 13px;
}
.fullWidth .in, .fullWidth .cck {
    margin: 0 auto;
    width: 1040px;
}
.cnt .lightSec p, .cnt .lightSec ul, .cnt .lightSec ol, .cnt .lightSec div,
.cnt .lightSec span, .cnt .lightSec h1, .cnt .lightSec h2, .cnt .lightSec h3,
.cnt .lightSec h4, .cnt .lightSec h5, .cnt .lightSec h6, .cnt .lightSec a,
.lightSec p, .lightSec ul, .lightSec ol, .lightSec div, .lightSec span,
.lightSec h1, .lightSec h2, .lightSec h3, .lightSec h4, .lightSec h5, .lightSec h6, .lightSec a {
    color: #fff;
}
.fullWidth .out {
    margin-left: -2500px;
    width: 6040px;
}