/**
0. RESET AND CUSTOM CLASSES
1. HEADER
2. FOOTER
3. SIDEBAR
4. CONTENT
5. WIDGETS AND PLUGINS
**/

/* 0. RESET AND CUSTOM CLASSES */
a {
    transition: all 300ms ease-in-out !important;
}

ul, ol {
    padding: 0;
}

#page {
	position: relative;
}

#toTop {
    background-color: #333;
    border-radius: 4px;
    bottom: 10px;
    color: #FFF;
    display: none;
    height: 38px;
    width: 38px;
    position: fixed;
    right: 10px;
    text-align: center;
    text-transform: uppercase;
    padding-top: 10px;
    opacity: 0.9;
    z-index: 10000;
    text-decoration: none !important;
}

#toTop:hover {
    background-color: #000;
}

#toTopHover {
    display: block;
    overflow: hidden;
    float: left;
    opacity: 0;
    -moz-opacity: 0;
    filter: alpha(opacity=0);
}

#toTop:active, #toTop:focus {
    outline:none;
}

#toTop:before {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    #toTop {
        display: none !important;
    }
}

/* animation */
.pulsating {
    -webkit-animation: pulsate 3s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation: pulsate 3s ease-out;
    animation-iteration-count: infinite;
}

.pulsatingH:hover {
    -webkit-animation: pulsate3 3s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation: pulsate3 3s ease-out;
    animation-iteration-count: infinite;
}

.spinning {
    -webkit-animation: spinner 2s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation: spinner 2s ease-out;
    animation-iteration-count: infinite;
}

@-webkit-keyframes pulsate {
    0% {opacity: 0.7;}
    50% {opacity: 1.0;}
    100% {opacity: 0.7;}
}

@-webkit-keyframes pulsate2 {
    0% {-webkit-transform: scale(0.8, 0.8); opacity: 0.0;}
    50% {opacity: 1.0;}
    100% {-webkit-transform: scale(1, 1); opacity: 0.0;}
}

@-webkit-keyframes pulsate3 {
    0% {-webkit-transform: scale(0.9, 0.9); opacity: 0.0;}
    50% {opacity: 1.0;}
    100% {-webkit-transform: scale(1, 1); opacity: 0.0;}
}

@-webkit-keyframes spinner {
	from { -webkit-transform: rotateY(0deg);    }
	to   { -webkit-transform: rotateY(-360deg); }
}

@keyframes pulsate {
    0% {opacity: 0.3;}
    50% {opacity: 1.0;}
    100% {opacity: 0.3;}
}

@keyframes pulsate2 {
    0% {transform: scale(0.8, 0.8); opacity: 0.0;}
    50% {opacity: 1.0;}
    100% {transform: scale(1, 1); opacity: 0.0;}
}

@keyframes pulsate3 {
    0% {transform: scale(0.9, 0.9); opacity: 0.0;}
    50% {opacity: 1.0;}
    100% {transform: scale(1, 1); opacity: 0.0;}
}

@keyframes spinner {
	from { transform: rotateY(0deg);    }
	to   { transform: rotateY(-360deg); }
}

/* positioning */
.absolutecenter {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.absolutecenter:nth-child(1) {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
}

/* WOW fixes */
nav {
    transform: translate3d(0, 0, 0);
}

/* image scale fix */
*:hover img {
    image-rendering: optimizeQuality;
}

a:hover {text-decoration: underline;}

code {
    white-space: normal !important;
}

a, img {
    max-width: 100% !important;
}

.gm-style img {
    max-width: none !important;
}

img {
    height: auto;
}

img.black-and-white, img.black-and-white-color {
    transition: all 0.5s ease-in-out;
}

img.black-and-white:hover, img.black-and-white-color {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    filter: gray;
    filter: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' height='0'><filter id='greyscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' /></filter></svg>#greyscale");
}

img.black-and-white-color:hover {
    -webkit-filter: grayscale(0%);
    filter: none;
}

.nobackground {
    background: none !important;
}

.backgroundtop {
    background-position: top center;
    background-repeat: no-repeat;
}

.backgroundleft {
    background-position: center left;
    background-repeat: no-repeat;
}

.backgroundright {
    background-position: center right;
    background-repeat: no-repeat;
}

.noborder {
    border: 0 !important;
}

.nomargin {
    margin: 0 !important
}

.marginauto {
    margin-left: auto !important;
    margin-right: auto !important;
}

.nolabels label, .nolabels em {
    display: none;
}

.topmargin10 {
    margin-top: 10px !important;
    display: inline-block;
}

.notopmargin {
    margin-top: 0 !important;
}

.bottommargin10 {
    margin-bottom: 10px !important;
    display: inline-block;
}

.nobottommargin {
    margin-bottom: 0px !important;
}

.nopadding {
    padding: 0 !important;
}

.nopadding-left-right {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.borderWt {
    border: 1px solid rgba(255, 255, 255, 0.7);
}

.borderBt {
    border: 1px solid rgba(0, 0, 0, 0.7);
}

.overflowhidden {
    overflow: hidden !important;
}

.absolute100 {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 100;
    background: transparent;
    text-indent: -999999px;
}

@media (max-width: 767px) {
    .nopadding-xs {
        padding: 0 !important;
    }

    .nomargin-xs {
        margin: 0 !important;
    }

    .noborder-xs {
        border: none !important;
    }

    .padding15-xs {
        padding: 30px 15px !important;
    }
}

.textalignleft, .textalignleft h1, .textalignleft h2, .textalignleft h3, .textalignleft h4, .textalignleft h5, .textalignleft h6 {
    text-align: left !important;
}

.textaligncenter, .textaligncenter h1, .textaligncenter h2, .textaligncenter h3, .textaligncenter h4, .textaligncenter h5, .textaligncenter h6 {
    text-align: center !important;
}

.textalignright, .textalignright h1, .textalignright h2, .textalignright h3, .textalignright h4, .textalignright h5, .textalignright h6 {
    text-align: right !important;
}

.backgroundpositionleft {
    background-position: left !important;
}

.backgroundpositionright {
    background-position: right !important;
}

.backgroundpositioncenter {
    background-position: center !important;
}

.btn {
    transition: all 400ms ease-in-out;
}

.btn-group-xs > .btn, .btn-xs {
    padding: 2px 5px !important;
    height: 16px !important;
    line-height: 16px !important;
}

@media (min-width: 768px) {
    .btn25 .btn, .btn.btn25 {
        width: 25%;
    }

    .btn32 .btn, .btn.btn32 {
        width: 32%;
    }

    .btn32m .btn, .btn.btn32m {
        width: 32%;
        margin-left: 2%;
        margin-right: 2%;
    }

    .btn33 .btn, .btn.btn33 {
        width: 33%;
    }

    .btn48 .btn, .btn.btn48 {
        width: 48%;
    }

    .btn100 .btn, .btn.btn100 {
        width: 100%;
        clear: both;
        overflow: hidden;
    }
}

.search-form input.btn {
    vertical-align: top;
}

h1 a:hover, h2 a:hover {
    text-decoration: none;
}

.height10 {
    height: 10px;
}

.height20 {
    height: 20px;
}

.height30 {
    height: 30px;
}

.width60p {
    width: 60%;
}

.width100p {
    width: 100%;
}

.text-uppercase {
    text-transform: uppercase;
}

* {
    background-position: center center;
}

.alignnone {
    clear: both;
    display: inline-block;
}

.margin15 {
    margin: 15px 0;
}

.notopmargin {
    margin-top: 0 !important;
}

.fixedPosition {
    position: fixed !important;
}

.clear {
    clear: both;
}

.relative0, .relative1 {
    position: relative;
    z-index: 0;
}

.relative1 {
    z-index: 1;
}

.borderradius {
    border-radius: 5px;
}

.opacity90 {
    transition: all 400ms ease-in-out;
}

.opacity90:hover {
    opacity: 0.7;
}

.opacitybtn90 a {
    transition: all 400ms ease-in-out;
}

.opacitybtn90 a:hover {
    opacity: 0.7;
}

.dark-overlay, .light-overlay {
    position: relative;
    z-index: 0;
}

.dark-overlay:after, .light-overlay:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    content: '';
    display: block !important;
}

.dark-overlay:after {
    background-color: rgba(0, 0, 0, 0.4);
}

.light-overlay:after {
    background-color: rgba(255, 255, 255, 0.2);
}

.themeblossom-testimonials {
    position: relative;
    padding-left: 90px;
    min-height: 45px;
    background: url('../images/testimonials.png') top left no-repeat;
}

@media screen and (max-width: 767px) {
    .themeblossom-testimonials {
        padding-left: 0;
        background: none;
    }
}

.form-control {
    line-height: 16px;
}

tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    border-left: 1px solid rgba(0, 0, 0, 0.05);
    color: #a5a5a5;
}

td, th {
    font-weight: 400;
    padding: 10px 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    border-right: 1px solid rgba(0, 0, 0, 0.05);
}

.with-before-and-after {
    position: relative;
}

.with-before-and-after:before, .with-before-and-after:after {
    content: '';
    position: absolute;
    display: block;
}

.add-pointer, .add-pointer-img img {
    cursor: pointer;
}

/* 1.0 HEADER */

/* Loading Screen */
#themeblossom_loading_screen {
	position: fixed;
	top: 0; left: 0;
	z-index: 100000000;
	width: 100%;
	height: 100%;
	transition: 600ms all ease-in-out !important;
}

#themeblossom_loading_screen.loaded {
	z-index: -1;
	opacity: 0;
}

#themeblossom_loading_screen_logo {
	position: absolute;
	top: 50%;
	left: 50%;
}

#themeblossom_loading_screen_logo img {
	position: relative;
	z-index: 2;
    -webkit-animation: pulsate 2s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation: pulsate 2s ease-out;
    animation-iteration-count: infinite; 
    opacity: 0.0;
}

#themeblossom_loading_screen_logo .loader_ring {
	position: absolute;
	top: 0; left: 0;
    -webkit-animation: pulsate2 2s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation: pulsate2 2s ease-out;
    animation-iteration-count: infinite; 
    opacity: 0.0;
    z-index: 0;
}

/* Floating Social Icons */
#floating_social_icons {
    position: fixed;
    left: 0;
    top: 50%;
    z-index: 100;
    transform: translateY(-50%);
}

#floating_social_icons h3 {
    display: none;
}

#floating_social_icons ul.mks_social_widget_ul li {
    display: block;
}

#floating_social_icons ul.mks_social_widget_ul li a {
    margin: 0;
}

#floating_social_icons ul.mks_social_widget_ul li a:hover {
    opacity: 1;
}

@media (max-width: 991px) {
    #floating_social_icons {
        display: none;
    }
}

/* Promo Line */
#promo {
    position: relative;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

body.transparent-navigation #promo {
    background: none;
    background-color: none;
    position: absolute;
    top: 0;
    z-index: 10;
    width: 100%;
}

#promo .container {
    position: relative;
}

#promo .top-nav-menu {
    list-style: none;
    margin: 0 !important;
}

#promo .top-nav-menu ul {
    display: none !important;
}

#promo .top-nav-menu li {
    float: left;
    padding-right: 15px;
}

#promo .alignright .top-nav-menu li {
    float: right;
    padding-left: 15px;
}

#promo .top-nav-menu a:before {
    margin-right: 5px;
}

#promo .fas, #promo .far, #promo .fab {
    font-size: 15px;
    margin-right: 5px;
}

#promo .alignright a {
    display: inline-block;
    margin-left: 10px;
    text-decoration: none !important;
}

#promo .alignright .genericon {
    line-height: inherit !important;
    text-decoration: none !important;
}

#promo .alignright .genericon-search {
    font-weight: bold;
}

#promo .alignright .active .genericon-search {
    color: #fff;
}

#promo .fa-phone, #promo .fa-phone-square, #promo .fa-map-marker {
    margin-left: 10px;
}

#promo .promo-phone {
    display: inline-block;
}

/* Logo */
#main-logo {
    line-height: initial;
    font-size: inherit;
}

@media screen and (min-width: 992px) {
    body.centered-logo #main-logo {
        position: absolute;
        left: 50%;
        z-index: 10000;
    }
}

@media screen and (max-width: 991px) {
    #main-logo {
        padding-left: 15px;
    }
}

/* Navigation */
#primary-menu a, #primary-menu2 a, #sticky-menu a {
    text-decoration: none !important;
}

#primary-menu, #primary-menu2, #sticky-menu {
    font-size: 0;
}


#primary-menu ul a, #primary-menu2 ul a, #sticky-menu ul a {
    text-transform: none;
}

#tb-responsive-nav-trigger {
    display: inline-block;
    z-index: 1000;
}

@media screen and (max-width: 991px) {

    .mm-page {
        overflow: hidden;
    }

    #masthead .container {
        position: relative;
    }

    #tb-responsive-nav-trigger {
        position: absolute;
        font-size: 30px;
        line-height: 30px;
        height: 30px;
        top: 50%; margin-top: -15px;
        right: 15px;
        display: inline-block;
    }

    #tb-responsive-nav-trigger:hover {
        opacity: 0.8;
    }

    #mobile-menu .mm-close::after {
        content: "\f00d";
        font-family: "FontAwesome";
    }

    #mobile-menu li .fa::before {
        display: none;
    }

    body.admin-bar #wpadminbar {
        position: fixed;
    }
}

#site-navigation, #site-navigation2 {
    position: relative;
    z-index: 1;
}

#primary-menu, #primary-menu2, #sticky-menu {
    display: inline-block;
    float: right;
    list-style: none;
}

body.centered-logo #primary-menu {
    float: left
}

body.transparent-navigation #masthead {
    position: absolute;
    top: 0;
    z-index: 10;
    background: none;
    background-color: none;
    width: 100%;
}

#masthead {
    position: relative;
    z-index: 10;
}

#masthead > .container {
    position: relative;
}


@media screen and (min-width: 992px) {
    body.transparent-navigation #masthead {
        position: absolute;
        top: 0;
        z-index: 10;
        background: none;
        background-color: none;
        width: 100%;
    }

    .primary-navigation > li, #sticky-menu > li {
        overflow: hidden;
    }

    .primary-navigation > li:hover, #sticky-menu > li:hover {
        overflow: visible;
    }

    .primary-navigation ul, #sticky-menu ul {
        transition: 600ms all ease-in-out !important;
        opacity: 0;
        z-index: 9999;
    }

    .primary-navigation li:hover > ul,
    .primary-navigation li.focus > ul,
    #sticky-menu li:hover > ul, 
    #sticky-menu li.focus > ul  {
        opacity: 1;
    }

    .primary-navigation li li, #sticky-menu li li {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    }

    .primary-navigation li li:first-child, #sticky-menu li li:first-child {
        border-top: none !important;
    }

}

/* Sticky Navigation */
.header-sticky {
    position:fixed;
    -webkit-transform:translate3d(0,-100px,0);
    transform:translate3d(0,-100px,0);
    top:0;
    left:0;
    min-height:50px;
    max-height:100px;
    z-index:9999;
    width:100%;
    -webkit-transition-duration:.3s;
    transition-duration:.3s;
    -webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);
    transition-timing-function:cubic-bezier(.215,.61,.355,1);
    -webkit-transition-property:-webkit-transform;
    transition-property:transform
}
.sticky-header-visible .header-sticky {
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0)
}
.admin-bar.sticky-header-visible .header-sticky {
    -webkit-transform:translate3d(0,32px,0);
    transform:translate3d(0,32px,0)
}

#hero-image {
    position: relative;
    z-index: 0;
}

#hero-image h1 {
    z-index: 1;
}

#hero-image > div {
    position: absolute;
    bottom: 40px;
    width: 100%;
    z-index: 1;
}

#hero-image h1 {
    margin: 0.35em 0;
}

#hero-image .btn {
    text-transform: uppercase;
    box-sizing: content-box;
}

#hero-image .avatar {
    border-radius: 20px;
}

/* BREADCRUMBS */
#breadcrumbs {
    margin: 0;
    padding-top: 15px;
    padding-bottom: 15px;
    background: #fff;
    border-bottom: 1px solid #f2f2f3;
}

#breadcrumbs .prevnext ul {
    margin: 0 !important;
    padding: 0;
    list-style: none;
}

#breadcrumbs .prevnext li {
    display: inline;
    padding-left: 15px;
}

#breadcrumbs nav.breadcrumbs {
    margin-top: 0;
    margin-bottom: 0;
}

#special_prevnext {
    position: relative;
}

#special_prevnext:before {
    width: 50%; height: 100%;
    position: absolute;
    content: '';
    left: 0; top: 0;
    z-index: 0;
}

@media screen and (max-width: 991px) {
    #special_prevnext:before {
        width: 15%;
    }  
}

#special_prevnext .col-xs-12 {
    padding-top: 20px;
    padding-bottom: 20px;
}

#special_prevnext .col-xs-12 span {
    padding: 0 20px;
}

#special_prevnext .col-sm-2 span {
    padding: 0;
}

@media screen and (min-width: 768px) {
    #special_prevnext .col-sm-2:after {
      position: absolute;
      content: '';
      z-index: 0;
      height: 100%;
      width: 30px;
      top: 0px;
      right: 0px;
      transform-origin: bottom right;
      transform: skewX(-22deg);
    }
}

@media screen and (max-width: 991px) {
    #special_prevnext .col-sm-2:after {
      transform: skewX(-12deg);
    }

    #special_prevnext .col-xs-12 span {
        padding: 0;
    }
}

/* PAGINATION */


/* pagination */
#archive-navigation {
    margin-bottom: 20px;
}

#archive-navigation ul {
    margin-left: 0 !important;
    list-style: none !important;
    text-align: center;
}

#archive-navigation ul li {
    display: inline-block;
    margin: 2px;
}

#archive-navigation ul li * {
    display: block;
}

#archive-navigation ul li span {
    cursor: auto;
}

.btn-pagination {
    border-radius: 2px !important;
    text-transform: uppercase;
}

/* 2.0 FOOTER */
#colophon {
    position: relative;
}
#colophon:before {
    position: absolute;
    height: 1px;
    width: 100%;
    left: 0;
    top: 0;
    content: '';
    background: rgba(255, 255, 255, 0.2);
}

#colophon .widget {
    margin-bottom: 30px;
}

#colophon > .container {
    padding-top: 65px;
    padding-bottom: 65px;
}

/*
#colophon .widget ul, #colophon .widget ol {
    padding: 0;
    margin: 0;
}

#colophon .widget li {
    padding: 8px 0 9px;
    list-style: none;
}
*/
/*
#colophon .search-form label, #colophon .search-form .btn {
    float: left;
}

#colophon .search-form .btn {
    margin-left: 10px;
}
*/

/* Copyright Line */
#footer-navigation {
    padding: 20px 0;
    position: relative;
}

#footer-navigation:before {
    position: absolute;
    height: 1px;
    width: 100%;
    left: 0;
    top: 0;
    content: '';
    background: rgba(255, 255, 255, 0.2);
}

#footer-navigation ul {
    margin: 0 !important;
    list-style: none !important;
    padding: 0 !important;
}

#footer-navigation ul ul {
    display: none;
}

#footer-navigation li {
    float: left;
    display: inline-block;
    margin: 0 20px 0 0;
    text-transform: uppercase !important;
}

#footer-navigation .disclaimer {
    text-align: right;
}

#footer-navigation p {
    margin: 0 !important;
}

#footer-logo {
    float: right;
}

@media all and (max-width: 767px) {
    #footer-logo {
        float: left;
    }
}

#footer-logo img {
    transition: all 200ms ease-in-out;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    opacity: 1;
}

#footer-logo:hover img {
    opacity: 0.85;
}

/* 3.0 SIDEBAR */
#secondary .widget {
    margin-bottom: 2.5em;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

#secondary .widget > h3 {
    padding: 0;
    margin-top: 0;
    margin-bottom: 20px;
}

#secondary .widget .widget-title ~ * {
    padding-top: 0 !important;
}

#secondary .widget li.bigPadding {
    padding-bottom: 17px;
    margin-bottom: 0px;
    margin-top: 25px;
    overflow: hidden;
}

#secondary .widget li:last-child {
    border: 0 !important;
}

#secondary ul li span.post-date {
    font-size: 80%;
}

#secondary img {
    transition: 400ms all ease-in-out;
}

#secondary a:hover img {
    opacity: 0.8;
}

.karibu_search_form .btn {
    padding: 10px 15px;
    margin-top: 15px;
    text-transform: uppercase;
}

.tagcloud {
    overflow: hidden;
}

/* 4.0 CONTENT */
body:not(.remove_content_top_padding) #content > .container {
    padding-top: 45px;
    padding-bottom: 45px;
}

body.remove_content_top_padding .page-content, body.remove_content_top_padding .entry-content, body.remove_content_top_padding .entry-summary {
    margin-top: 0;
}

#content > .container h1.entry-title, #content > .container h1.page-title, #content > .container .page-header {
    margin-top: 0;
}

.media-body h2 {
    margin-top: 0;
}

.page-header {
    border: none;
}

.sticky {
    background: #fefefe;
}

.sticky .entry-header, .sticky .entry-content {
    padding: 0 15px;
    overflow: hidden;
}

.sticky .info-line {
    padding: 10px 15px;
    overflow: hidden;
}

.info-line {
    margin: 15px 0 30px 0;
    padding: 10px 0;
    border: 1px solid #eee;
    border-width: 1px 0 1px 0;
}

.info-line i {
    vertical-align: middle;
    font-size: 12px;
}

.info-line a {
    text-decoration: underline;
}

.info-line .entry-date a:before {
    text-decoration: none !important;
}

.info-line span {
    position: relative;
}

.full_width_content .page-content, .full_width_content .entry-content, .full_width_content article.hentry {
    margin: 0 !important;
}

.page-links-info-line {
    text-align: right !important;
    border: none !important;
}

.page-links-info-line .btn {
    padding: 2px 6px;
    font-size: 13px;
}

.page-links-info-line .btn-tb-secondary {
    cursor: default;
}


/* Team page */
.extra_member_info {
    padding: 15px;
    border-width: 1px;
    background: #fefefe;
    font-size: 13px !important;
}

.follow_me_section a {
    font-size: 18px;
    color: #fff !important;
    line-height: 18px;
    text-align: center;
    width: 32px;
    height: 32px;
    padding: 8px;
    margin-right: 4px;
    border-radius: 50px;
    display: inline-block;
}

.follow_me_section a span.fa {
    font-size: 18px !important;
    color: #fff !important;
    line-height: 18px !important;
    text-align: center;
    vertical-align: top;
}

.follow_me_section a.email {
    background-color: #777;
}

.follow_me_section a.twitter {
    background-color: #3cf;
}

.follow_me_section a.facebook {
    background-color: #3b5998;
}

.follow_me_section a.linkedin {
    background-color: #006699;
}

.follow_me_section a.instagram {
    background-color: #cd486b;
}

.follow_me_section a:hover {
    background-color: #8F9B9B;
}

/* Project Page */
.extra_project_info {
    padding: 15px;
    border-width: 1px;
    background: #fefefe;
    font-size: 13px !important;
}

.project_amenities {
}

.project_team .col-sm-3 {
    margin-top: 1em;
}

.acf-map {
    height: 400px;
    margin: 20px 0;
}

#secondary .acf-map {
    height: 250px;
    margin-top: 0;
}

/* fixes potential theme css conflict */
.acf-map img {
   max-width: inherit !important;
}

/* 4.1 Comments */
ol.comment-list {
    list-style: none !important;
    margin-left: 0;
    padding: 0;
}

ol.comment-list ul {
    list-style: none !important;
}

.the-comment {
    margin: 0 0 20px 0;
    padding: 0 0 0 27px;
    position: relative;
}

.the-comment .comment-box {
    border: 1px solid #e0dede !important;
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;
    padding: 20px 20px 20px 47px;
    background: #f8f8f8;    
    box-shadow: inset 0 0 15px rgba(0,0,0,0.15); -moz-box-shadow: inset 0 0 15px rgba(0,0,0,0.15); -webkit-box-shadow: inset 0 0 15px rgba(0,0,0,0.15);
}

.the-comment > .avatar {
    position: absolute;
    left: 0; top: 20px;
}

.comment-edit-link, .comment-reply-link {
    text-decoration: none !important;
}

.comments-title {
    margin-bottom: 30px;
    margin-top: 10px;
}

/* 4.2 Featured Image */
.media-left .featured-image-holder {
    width: 150px;
    margin-right: 25px;
}

.media-right .featured-image-holder {
    width: 150px;
    margin-left: 25px;
}

.featured-image-holder {
    position: relative;
    display: inline-block;
    overflow: hidden;
    max-width: 100%;
}

.media-left .featured-image-holder {
    width: 150px;
    margin-right: 25px;
}

.featured-image-holder.show-author .author-thumbnail {
    position: absolute;
    bottom: 15px; right: 15px;
    z-index: 15;
    border-radius: 100px;
    background: #fff;
    padding: 4px;
    border: 1px solid #ddd;
}

.featured-image-holder.show-author .author-thumbnail img {
    position: relative;
    z-index: 16;
    border-radius: 100px;
    opacity: 1;
    transform: scale(1) rotate(0);
    transition: all 0.4s ease-in-out;
}

.featured-image-holder.show-author .author-thumbnail span {
    position: absolute;
    top: 4px; left: 4px;
    width: 80px; height: 80px;
    border-radius: 100px;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    background: #fff;
}

.featured-image-holder.show-author .author-thumbnail a:hover img {  
    opacity: 0.75;
}

.featured-image-holder.show-date .date-box {
    position: absolute;
    z-index: 1;
    transition: all 0.4s ease-in-out;
    transform: scale(1);
    opacity: 1;
}

.featured-image-holder.show-date .date-box.normal {
    top: 0; left: 0;
}

.featured-image-holder.show-date .date-box.event_countdown {
    bottom: 0; left: 0;
    height: 80px;
}

.featured-image-holder.show-date .date-box.event_countdown > div {
    overflow: hidden;
}

.featured-image-holder.show-date .date-box > div > span, .featured-image-holder.show-date .date-box #single-event-countdown {
    display: inline-block;
    float: left;
    padding: 12px;
    transition: 600ms all ease-in-out;
}

.featured-image-holder.show-date .date-box #single-event-countdown {
    height: 100%;
    display: block;
    padding: 16px 12px;
}

.featured-image-holder.show-date .date-box > div > span {
    padding: 0 12px;
    line-height: 80px !important;
}

.featured-image-holder.show-date .date-box.date-box-event > div > span.day {
    padding-right: 6px;
}

.featured-image-holder.show-date .date-box.date-box-event > div > span.month {
    padding-left: 6px;
}

.featured-image-holder img {
    transition: 1200ms all ease-in-out;
    width: 100%;
}

.featured-image-holder:hover img {
    transform: scale(1.1);
}

/* Amenities */
.dot-leaders ul {
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: hidden;
}

.dot-leaders ul li {
    padding: 5px 0;
}

.dot-leaders ul li:before {
    float: left;
    width: 0;
    white-space: nowrap;
    content:
 ". . . . . . . . . . . . . . . . . . . . "
 ". . . . . . . . . . . . . . . . . . . . "
 ". . . . . . . . . . . . . . . . . . . . "
 ". . . . . . . . . . . . . . . . . . . . ";
}

.dot-leaders ul span:first-child {
    padding-right: 0.33em;
}

.dot-leaders ul span + span {
    float: right;
    padding-left: 0.33em;
}

/* Overlay */
#overlay-menu-trigger {
    display: none;
}

#overlay-menu .absolutecenter {
    height: 0;
}

@media screen and (max-width: 767px) {
    #overlay-menu {
        display: none;
    }
}

@media screen and (min-width: 768px) {

    #overlay-menu.from-left {
        width: 600px;
        transform: translate(-600px, 0);      
    }

    #overlay-menu.full {
        right: 0;        
        display: none;
    }

    #overlay-menu {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        transition: 300ms all ease-in-out;
    }

    #overlay-menu.active {
        z-index: 100000000;
        background: #000;
        background: rgba(0, 0, 0, 0.75);
    }

    #overlay-menu.from-left.active {
        transform: translate(0, 0);
    }

    #overlay-menu.active #overlay-menu-trigger {
        position: absolute;
        top: 20px; right: 20px;
        color: #ddd; 
        font-size: 30px;
        cursor: pointer;
        display: inline-block;
        transition: all 200ms ease-in-out;
    }

    #overlay-menu.active #overlay-menu-trigger:hover {
        color: #fff;
    }

    #overlay-menu.active .absolutecenter {
        height: 100%;
    }

    #overlay-menu-holder {
        z-index: 100000000000;
        transform: translate(0px, -20px);
        transition: all 500ms ease-in-out;
        display: inline-block;
        opacity: 0;
        padding: 10px 5px;
        color: #fff;
    }

    #overlay-menu.full #overlay-menu-holder {
        width: 100%;
    }

    #overlay-menu-holder.active {
        transform: translate(0px, 0px);
        opacity: 1;
    }

    #overlay-menu-holder .overlay-menu ul {
        display: none;
    }

    #overlay-menu-holder .overlay-menu {
        list-style: none;
        margin: 0;
    }

    #overlay-menu-holder > div {
        margin: 0 auto;
    }

}

/* 5.0 WIDGETS AND PLUGINS */
.widget_search {
    overflow: hidden;
}

.search-form label {
    width: 65%;
    float: left;
    margin-bottom: 0;
}

.search-form .btn {
    width: 30%;
    float: right;
    box-sizing: border-box;
}

/* Flexible posts widget */

.upw-posts.tb article {
    position: relative;
    overflow: hidden;
    padding-bottom: 15px;
    margin-bottom: 20px;
    min-height: 83px;
}

#main-footer .upw-posts.tb article {
    margin-bottom: 30px;
    border-bottom: 1px solid transparent;
}

.upw-posts.tb article:last-child {
    border-bottom: 0 !important;
}

.upw-posts.tb .entry-image {
    width: 75px;
    height: 75px;
    position: absolute;
    top: 8px;
    left: 0
}

.upw-posts.tb .entry-image a {
    display: block;
    width: 75px !important;
    height: 75px !important;
}

footer .upw-posts.tb .entry-image a img {
    transition: all 400ms ease-in-out;
    background: #fff !important;
    opacity: 0.8;
}

footer .upw-posts.tb .entry-image a:hover img {
    opacity: 1;
}

@media screen and (min-width: 992px) {
    .upw-posts.tb .upw-content {
        margin-left: 90px;
    } 
}

.upw-posts h4 {
    margin-top: 0;
}

.upw-posts.tb .entry-meta, .upw-posts.tb footer {
    font-size: 0.9em;
}

/* Visual Composer */
.wpb_revslider_element.wpb_content_element {
    margin-bottom: 0 !important;
}

.nomarginelement .wpb_content_element {
    margin-bottom: 0 !important;
}

.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left .vc_tta-controls-icon {
    display: none !important;
}

.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left.vc_tta-panel-title > a {
    padding-left: 20px !important;
    font-size: 16px;
}

.disable-vc-row-margin .entry-content > .vc_row {
    margin-left: 0;
    margin-right: 0;
}

@media (max-width: 767px) {
    .nopadding-xs > .vc_column-inner {
        padding: 0 !important;
    }

    .nomargin-xs > .vc_column-inner {
        margin: 0 !important;
    }

    .noborder-xs > .vc_column-inner {
        border: none !important;
    }

    .padding15-xs > .vc_column-inner {
        padding: 30px 15px !important;
    }
}

/* Contact Form 7 */
.wpcf7.row {
    margin-left: -15px;
    margin-right: -15px;
}

.wpcf7-submit {
    padding: 12px 40px;
    font-size: 14px;
    font-weight: 400;
}

.wpcf7-form p {
    overflow: auto;
}

.blockWPCF7radio .wpcf7-list-item {
    display: block;
}

 .wpcf7-list-item {
    margin-left: 0 !important;
 }

 .rc-holder .wpcf7-list-item {
    border-left-width: 0 !important;
    border-right-width: 0 !important;
    border-top-width: 0 !important;
    cursor: pointer;
    transition: 400ms all ease-in-out;
 }

 .inlineWPCF7radio .rc-holder .wpcf7-list-item, .rc-holder .wpcf7-list-item.last {
    border-bottom-width: 0 !important;
 }

 .rc-holder .wpcf7-list-item input {
    margin-right: 10px;
 }

 .rc-holder .wpcf7-list-item-label {
    vertical-align: top;
 }

 .wpcf7-form label {
    width: 100%;
 }

/* WooCommerce */

#tb-product-catalogue {
    overflow: hidden;
    zoom: 1;
    margin-bottom: 20px;
}

#tb-product-catalogue .btn, .woocommerce #respond .btn {
    font-size: 11px !important;
    padding: 8px 12px !important;
    color: #fff !important;
}

.woocommerce .btn {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
    margin-top: 0 !important;
}

#tb-product-catalogue article > div {
    padding: 20px;
    position: relative;
    background: #f4f4f4;
    border: 1px solid #e8e8e8;
    margin-bottom: 30px;
    overflow: hidden;
}

#tb-product-catalogue h3 {  
    font-size: 18px;
    line-height: 130%;
    margin: 7px 0 12px 0;
}

#tb-product-catalogue span.onsale, .tb-single-product span.onsale {
    left: -2px; top: -2px;
    width: 60px; height: 60px;
    line-height: 60px;
    text-indent: -999em;
    z-index: 5;
    background-repeat: no-repeat;
    background-color: transparent;
    border-radius: 0;
}

#tb-product-catalogue span.price ins {
    font-size: 80%;
}

.tb-product-catalogue-image {
    display: inline-block;
    position: relative;
    margin-bottom: 10px;
}

.tb-product-catalogue-image div {
    overflow: hidden;
    border: 1px solid #E8E8E8;
    transition: 400ms all ease-in-out;
}

.tb-product-catalogue-image:hover div {
    border: 1px solid #cecece;
}

.woocommerce div.product .woocommerce-tabs ul.tabs, .woocommerce #content div.product .woocommerce-tabs ul.tabs, .woocommerce-page div.product .woocommerce-tabs ul.tabs, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs {
    margin-bottom: 0;
}

.tb-product-catalogue-image img {
    transition: all 0.8s ease-in-out;
    opacity: 1;
}

.tb-product-catalogue-image:hover img {
    opacity: 0.7;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    float: none;
    margin: 0;
    padding: 0;
    position: relative;
    width: auto;
}

.tb-product-catalogue-image .star-rating {
    color: #FFFF00;
    position: absolute;
    bottom: 7px; left: 7px;
}

#tb-product-catalogue a.added_to_cart {
    text-decoration: none;
}

.tb-woo-result-count {
    line-height: 34px;
    margin: 0 0 20px 0;
    overflow: hidden;
    border: none;
    padding: 0;
}

.tb-before-single-product-summary {
    position: relative;
}

.tb-single-product a.zoom {
    overflow: hidden;
    display: inline-block;
    border: 1px solid #E8E8E8;
}

.tb-single-product a.zoom:hover {
    border: 1px solid #cecece;
}

.tb-single-product .thumbnails  a.zoom {
    margin-bottom: 3.8%;
}

.tb-single-product a.zoom img {
    transition: all 800ms ease-in-out;
}

.tb-single-product .thumbnails a.zoom img {
    transition: all 400ms ease-in-out;
}

.tb-single-product a.zoom:hover img {
    opacity: 0.7;
}

#single-product-summary {
    margin-top: 0 !important;
}

.tb-single-product .woocommerce-tabs .panel {
    box-shadow: none;
    padding: 20px !important;
    border-radius:  0 0 4px 4px;
    border: 1px solid #D3CED2;
    border-top: none;
}

h1.product_title {
    text-transform: uppercase;
}

body div.product div#single-product-summary p.price del span.amount {
    font-size: 24px;
    color: #ddd;
}

#single-product-summary [itemprop=description] {
    margin-bottom: 20px;
}

.reset_variations {
    float: right;
    font-size: 80%;
}

#content .woocommerce table input[type=submit].button {
    padding: 8px 12px;
    color: #fff;
    opacity: 1;
}

.flatstrap #content .woocommerce table input[type=submit].button {
    padding: 9px 12px;
}

#single-product-summary .btn {
    font-size: 11px !important;
    padding: 0px 12px !important;
    height: 32px;
    line-height: 32px;
}

#single-product-summary .product_meta {
    color: #ccc;
    font-size: 90%;
    clear: both;
    margin-top: 20px;
}

#single-product-summary .woocommerce-product-rating {
    margin-top: 10px;
    font-size: 90%;
}

#single-product-summary .woocommerce-product-rating .star-rating, .woocommerce #reviews .star-rating, .woocommerce #commentform .stars a {
    color: #FDD017;
    font-size: 100%;
}

.woocommerce #reviews img.avatar {
    padding: 0 !important;
    border: none !important;
    border-radius: 100px;
    width: 40px !important;
}

#secondary .widget.woocommerce a.btn, #secondary .widget.woocommerce button.button {
    font-size: 11px !important;
    padding: 8px 12px;
}

#secondary .widget.woocommerce a.btn:after {
    display: none;
    content: '';
}

.widget_shopping_cart .buttons {
    text-align: center;
}

.related.products h2, .upsells.products h2 {
    margin-bottom: 35px;
}

.woocommerce .quantity .qty {
    height: 32px;
    line-height: 32px;
    padding: 0;
    margin-right: 10px;
}

#tb-single-add-to-cart {
    margin-bottom: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table th {
    width: auto;
}

#coupon_code {
    height: 30px;
}

.woocommerce-cart .cart-collaterals .shipping_calculator h6 {
    text-align: right;
    margin-top: 30px;
}

.woocommerce-cart .cart-collaterals .shipping_calculator .shipping-calculator-button::after {
    content: '';
}

.woocommerce form .form-row {
    padding: 3px 0;
}

.attachment-shop_thumbnail {
}

#secondary .widget li.woocommerce-mini-cart-item, .woocommerce.widget_shopping_cart .cart_list li {
    padding-left: 2em;
    position: relative;
    padding-top: 0;
    margin-bottom: 7px;
}

/* MEKS SOCIAL WIDGET */
#secondary .mks_social_widget ul {
    text-align: center;
}

.mks_social_widget a {
    text-decoration: none !important;
}

/* RESPONSIVE MORTGAGE CALCULATOR */
#lidd_mc_submit {
    margin: 15px;
}

.lidd_mc_summary {
    padding: 20px 0 !important;
    font-size: 13px;
    line-height: 18px;
}

.lidd_mc_summary p {
    margin-bottom: 3px;
}


#lidd_mc_inspector {
    cursor: pointer;
    right: 15px;
}

/* GUTENBERG */
/* VERSE */
.wp-block-verse {
    background: rgba(128, 128, 128, 0.1);
    border: none;
    border-width: 0;
    box-shadow: none;
    font-family: 'Alegreya', serif;
    font-size: 1em;
    font-style: italic;
    margin: 1.5em;
    padding: 1em 1.5em 1em 1.2em;
    width: 90%;
}

/* TABLE */
.wp-block-table tr {
	border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    border-left: 1px solid rgba(0, 0, 0, 0.05);
    color: #a5a5a5;
}

.wp-block-table td, .wp-block-table th {
	border: 0;
    font-weight: 400;
    padding: 10px 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    border-right: 1px solid rgba(0, 0, 0, 0.05);
}

/* SEPARATOR */
.wp-block-separator:not(.is-style-dots) {
    background-color: #ccc;
    border: none !important;
    box-sizing: content-box;
    height: 2px !important;
    margin: 2.0em auto;
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
    max-width: 50%;
    width: 50%;
}

.wp-block-separator.is-style-dots::before {
	font-size: 2em;
	color: #bbb;
}

/* LATEST POSTS */
ul.wp-block-latest-posts.is-grid {
	margin-left: 0;
}

/* BLOCKQUOTE */
blockquote.wp-block-quote {
    background:     rgba(255, 255, 255, 0.8);
    border:   1px rgba(0, 0, 0, 0.05) solid !important;
    margin:         1.5em;
    overflow:       auto;
    padding:        1em 1.5em 1em 1.2em;
    width:          90%;
}
 
.wp-block-quote p {
    font-style:     italic;
    font-size:      1em;
    margin:         0;
}
 
 
.wp-block-quote cite {
    border-width:   0;
    color:          inherit;
    display:        block;
    font-weight:    bold;
    text-align: right;
}

.wp-block-quote.is-large, .wp-block-quote.is-style-large{
	margin: 1em 2em;
	padding: 1.5em;
}

/* BUTTONS */
.wp-block-button__link {
	border-radius: 5px;
	text-decoration: none !important;
	transition: all ease-in-out 0.4s;
}

.wp-block-button__link:hover {
	opacity: 0.8;
}

/* GALLERY */
.wp-block-gallery {
	display: flex !important;
}

ul.wp-block-gallery {
	margin-left: 0;
}