/*
Theme Name: BFSC
Description: Child theme of OceanWP
Author: McNutt & Partners
Author URI: https://www.mcnuttpartners.com
Template: oceanwp
Version: 1.0
*/

.error404-content .error-btn {
	margin-top: 0;
}
.mb-0 {
	margin-bottom: 0 !important;
}
.mt-0 {
	margin-top: 0 !important;
}
.text-center {
	text-align: center;
}
.text-right {
    text-align: right;
}
.copyright-line1 {
    margin-bottom: .25em;
}
.copyright-line2 {
    margin-bottom: 0;
    font-size: .8em;
}
body .gform_wrapper.gravity-theme .gform_footer, body .gform_wrapper.gravity-theme .gform_page_footer {
	padding: 0;
}
.elementor-widget-text-editor p:last-child, .elementor-tab-content p:last-child {
	margin-bottom: 0;
}
.elementor-inner-section.isnm {
	margin: 0 -10px;
}
.hide-it {
	display: none;
}
body .gform_wrapper {
	margin: 0;
}
.py60 {
	padding: 60px 0;
}
.pt60 {
	padding-top: 60px;
}
.pb60 {
	padding-bottom: 60px;
}
.pt20 {
	padding-top: 20px;
}
.pb20 {
	padding-bottom: 20px;
}
.py20 {
	padding: 20px 0;
}
.pb40 {
	padding-bottom: 40px;
}
.pt50 {
	padding-top: 50px;
}
.pb50 {
	padding-bottom: 50px;
}
.py50 {
	padding: 50px 0;
}
.py30 {
	padding: 30px 0;
}
.pb30 {
	padding-bottom: 30px;
}
.pt30 {
	padding-top: 30px;
}
.pt100 {
	padding-top: 100px;
}
.pt120 {
	padding-top: 120px;
}
.pb80 {
	padding-bottom: 80px;
}
.pt80 {
	padding-top: 80px;
}
#mobile-fullscreen .oceanwp-social-menu .colored ul li a {
	padding: 0;
}
.is-sticky .effect-seven #site-navigation-wrap .dropdown-menu>li>a.menu-link>span:after {
	bottom: -55%;
}
.pulse-down {
    -webkit-animation: pulse-down 3.5s ease-in-out infinite;
    animation: pulse-down 3.5s ease-in-out infinite;
}
.scroll-down {
	position: absolute;
    text-align: center;
	bottom: 40px;
    left: 0;
    right: 0;
	color: rgba(255,255,255,0.85);
    animation-name: fadeIn;
    animation-duration: 1.25s;
}
.scroll-down:hover {
	color: #fff;
}
@-webkit-keyframes pulse-down {
    80% {
		-webkit-transform: translate3d(0, 1px, 0);
		transform: translate3d(0, 1px, 0)
    }
    85% {
		-webkit-transform: translate3d(0, 5px, 0);
		transform: translate3d(0, 5px, 0)
    }
    90% {
		-webkit-transform: translate3d(0, 1px, 0);
		transform: translate3d(0, 1px, 0)
    }
    95% {
         -webkit-transform: translate3d(0, 5px, 0);
                 transform: translate3d(0, 5px, 0)
    }
	100% {
          -webkit-transform: translate3d(0, 1px, 0);
                 transform: translate3d(0, 1px, 0)
    }
}

@keyframes pulse-down {
    80% {
		-webkit-transform: translate3d(0, 1px, 0);
		transform: translate3d(0, 1px, 0)
    }
    85% {
		-webkit-transform: translate3d(0, 5px, 0);
		transform: translate3d(0, 5px, 0)
    }
    90% {
		-webkit-transform: translate3d(0, 1px, 0);
		transform: translate3d(0, 1px, 0)
    }
    95% {
		-webkit-transform: translate3d(0, 5px, 0);
		transform: translate3d(0, 5px, 0)
    }
	100% {
		-webkit-transform: translate3d(0, 1px, 0);
		transform: translate3d(0, 1px, 0)
    }
}

.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.footer-box a:hover {
	text-decoration: underline;
}
#site-navigation-wrap .dropdown-menu > li > a, .dropdown-menu ul li a.menu-link, body .sidebar-box .widget-title {
	letter-spacing: 0;
}

body .oew-cta .oew-cta-inner {
	padding: 0;
	text-align: left !important;
}
body .oew-cta .oew-cta-content.oew-cta-description {
	margin-top: 10px;
	margin-bottom: 0 !important;
}
.oew-cta h3.oew-cta-title  {
	margin-bottom: 0 !important;
	font-size: 20px;
}
@supports (grid-row: 1) {
    @media only screen and (min-width: 768px) {
        body .oew-cta .oew-cta-inner {
            display: grid;
			grid-template-columns: 1fr auto;
        }
        .oew-cta-title {
            grid-row: 1;
        }
        .oew-cta-description {
            grid-row: 2;
        }
        .oew-cta-description + .oew-cta-btn {
            grid-row-start: 1;
            grid-row-end: 3;
        }
		.oew-cta-title + .oew-cta-button {
			grid-row: 1;
			grid-column: 2;
		}
		body .oew-cta .oew-cta-content.oew-cta-description p {
			margin-bottom: 0 !important;
		}
    }
}
body .oew-cta {
	padding: 1em 1.5em;
	background: #f8f8f8;
}
body .bottom-cta .oew-cta {
	padding: 1em 0;
}
input[type="button"], input[type="reset"], input[type="submit"], button[type="submit"], .button, body div.wpforms-container-full .wpforms-form input[type=submit], body div.wpforms-container-full .wpforms-form button[type=submit], body div.wpforms-container-full .wpforms-form .wpforms-page-button {
	text-transform: none;
	letter-spacing: 0;
}

.elementor-text-editor ul > li:last-child {
	margin-bottom: 0;
}
.wp-caption-text {
	color: #222;
	margin-top: 0.5em;
}

.elementor-widget-container ul > li, .elementor-widget-container ol > li {
	margin-bottom: 0.25em;
}
.elementor-widget-container ul > li:last-child, .elementor-widget-container ol > li:last-child {
	margin-bottom: 0;
}

.list-columns-2 {
	-moz-columns: 2;
	-webkit-columns: 2;
	columns: 2;
}
.list-columns-3 {
	-moz-columns: 3;
	-webkit-columns: 3;
	columns: 3;
}

.altbg {
	background-color: #f8f8f8;
}
.embed-responsive {
	position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}
.embed-responsive .embed-responsive-item, .embed-responsive embed, .embed-responsive iframe, .embed-responsive object, .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.embed-responsive::before {
    display: block;
    content: "";
}
.embed-responsive-16by9::before {
    padding-top: 56.25%;
}
.embed-responsive-4by3::before {
    padding-top: 75%;
}

#mobile-fullscreen .social-menu-inner ul li a {
    height: 48px;
    width: 48px;
    line-height: 48px;
}
#mobile-fullscreen .social-menu-inner ul li a i {
    margin-right: 0;
}
.page-header {
	background: url(/wp-content/uploads/2023/01/bg-title-1.jpg) center center no-repeat, #f8f8f8;
	background-size: cover;
}
.sidebar-primary .sidebar-box:last-child {
	margin-bottom: 0;
}
.footer-logo-wrap {
	text-align: center;
}
.footer-logo-wrap img {
	display: block;
	margin: 0 auto;
}
#footer-widgets {
	font-size: 14px;
}
#footer-widgets .widget_nav_menu ul {
	columns: 2;
}
#footer-widgets .widget_nav_menu li {
	padding: 0;
	border: none;
	line-height: 1.8;
}
.widget-title {
    border-left: none;
    padding-left: 0;
}
.widget-title:before {
    content: '\f7c5';
    font-weight: 900;
    font-family: 'Font Awesome 5 Free';
    color: #b82227;
    padding-right: 10px;
    font-size: 17px;
}
.page .sidebar-primary ul.menu li a {
    font-size: 14px;
    padding: 1em;
    margin-bottom: 0.25em;
    background-color: #f8f8f8;
    border-right: 3px solid #e5e5e5;
    line-height: 1;
    display: block;
}
.page .sidebar-primary ul.menu li a:hover, .page .sidebar-primary ul.menu li.current_page_item a {
    border-color: #b82227;
}
#footer-widgets .footer-box a.button:hover {
	color: #fff;
	text-decoration: none;
}
.ginput_recaptcha {
    margin-bottom: 8px;
}
.gform_wrapper.gravity-theme .gfield_label {
    margin-bottom: 3px;
}
.gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
	padding: 6px;
}
.elementor-page.content-left-sidebar .elementor {
	margin: -10px 0;
}
body .oew-pricing-table.oew-pricing-table-style-1 .oew-pricing-table-heading {
    font-size: 20px;
    color: #222;
}
body .oew-pricing-table.oew-pricing-table-style-1 .oew-pricing-table-subheading {
    color: #222;
}
body .oew-pricing-table.oew-pricing-table-style-1 .oew-pricing-table-header {
    padding: 8px;
    background-color: #fff;
    border: 1px solid #eee;
    border-bottom: none;
}
body .oew-pricing-table.oew-pricing-table-style-1 .oew-pricing-table-prices {
    padding: 10px;
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: #ffe7e8;
    color: #222;
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
}
body .oew-pricing-table.oew-pricing-table-style-1 .oew-pricing-table-price {
    font-size: 40px;
    line-height: 1;
}
body .oew-pricing-table.oew-pricing-table-style-1 .oew-pricing-table-currency {
    left: 0;
}
body .oew-pricing-table.oew-pricing-table-style-1 .oew-pricing-table-list {
    padding: 0;
    border-color: #eee;
    border-bottom: 1px solid #eee;
}
body .oew-pricing-table .oew-pricing-table-list li {
    padding-left: 5px;
    padding-right: 5px;
    text-align: left;
}
.footnote-marker {
	vertical-align: super !important;
	padding-left: 3px;
	font-size: 0.8em;
	margin-top: -5px;
  display: inline-block;
}
.memberships-heading-wrap {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
}
.memberships-heading-wrap h2 {
    margin-bottom: 0;
}
.feature-text {
	font-size: 1.1em;
}
.elementor .pss-wrap {
	display: flex;
	align-items: center;
}
.elementor .pss-wrap img {
	max-width: 85px;
	margin-right: 15px;
}
.elementor .pss-wrap p {
	margin-bottom: 0;
}
.coaches-row .elementor-column .elementor-widget-wrap {
    border: 1px solid #ddd;
    margin: 10px;
}
.coaches-row.coaches-row-last .elementor-column .elementor-widget-wrap {
    border: none;
    margin: 0;
}
.coaches-row.coaches-row-last .elementor-column:first-child .elementor-widget-wrap {
    border: 1px solid #ddd;
    margin: 10px;
}
.coaches-row h3 {
    text-align: center;
    margin-bottom: 0;
}
.coaches-row .coaches-detail-since {
    text-align: center;
    font-style: italic;
    font-weight: bold;
    margin-bottom: 0;
}
.coaches-row .coaches-detail-fee {
    text-align: center;
    margin: 10px 0;
    font-size: 18px;
    color: #b82227;
    font-weight: bold;
}
.coaches-row .elementor-toggle .elementor-tab-title {
    background: #f8f8f8;
    border-bottom: none;
}
.coaches-row .elementor-toggle .elementor-tab-content {
    border: 1px solid #f8f8f8;
}
.coaches-row .elementor-toggle .elementor-tab-content ul {
    margin-top: 0;
}
.coaches-row .elementor-widget-image {
	max-width: 100px;
	margin: 0 auto;
}
.coaches-row .elementor-widget-image img {
	border-radius: 50%;
	box-shadow: 0px 0 10px rgb(0 0 0 / 15%);
}
.home-top-text {
	color: #fff;
	font-family: Roboto Slab, sans-serif;
	font-size: 65px;
	font-weight: 600;
}
.home-top-text-next {
	color: #fff;
	font-size: 1.1em;
}
.home .elementor-icon-box-wrapper h3.elementor-icon-box-title {
	color: #fff;
}
.home .elementor-icon-box-wrapper .elementor-icon {
    color: #b82227;
	  text-shadow: 0px 0px 15px rgb(255 253 235 / 75%);
}
.home .elementor-icon-box-wrapper {
    position: relative;
    border: 3px solid #b82227;
    border-radius: 15px;
    padding: 30px 15px;
    color: #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    cursor: pointer;
		background: rgba(0,0,0,0.5);
	transition: box-shadow .2s ease-out, background-color .2s ease-out;
}
.home .elementor-icon-box-wrapper:hover {
    box-shadow: 0 4px 20px rgb(0 0 0 / 50%);
    background-color: rgba(0,0,0,0.6);
}
.home .elementor-icon-box-wrapper:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    border-radius: 10px;
	  background-size: cover;
		background-position: center center;
}
.home-tile-membership .elementor-icon-box-wrapper:before {
	background-image: url(/wp-content/uploads/2023/01/home-tile-membership.jpg);
}
.home-tile-getstarted .elementor-icon-box-wrapper:before {
	background-image: url(/wp-content/uploads/2023/01/home-tile-gettingstarted.jpg);
}
.home-tile-coaches .elementor-icon-box-wrapper:before {
	background-image: url(/wp-content/uploads/2023/01/home-tile-coaches.jpg);
}
.home-tile-events .elementor-icon-box-wrapper:before {
	background-image: url(/wp-content/uploads/2023/01/home-tile-events.jpg);
}
.home-tile-about .elementor-icon-box-wrapper:before {
	background-image: url(/wp-content/uploads/2023/01/home-tile-about.jpg);
}
.home-tile-jrboard .elementor-icon-box-wrapper:before {
	background-image: url(/wp-content/uploads/2023/01/home-tile-jrboard.jpg);
}
.home-tile-newsletter .elementor-icon-box-wrapper:before {
	background-image: url(/wp-content/uploads/2023/01/home-tile-newsletter.jpg);
}
.home-tile-teamshop .elementor-icon-box-wrapper:before {
	background-image: url(/wp-content/uploads/2023/01/home-tile-teamshop.jpg);
}
.mcic-logo-wrap img {
	max-width: 100%;
}
.mcic-highlight {
    font-size: 1.4em;
    font-weight: 600;
		font-family: 'Roboto Slab', sans-serif;
	color: #b82227;
}
.magic-city-ice-classic .oew-cta {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}
.magic-city-ice-classic .oew-cta h3 {
	font-family: unset;
	line-height: 1;
	margin-bottom: 0;
	flex-grow: 1;
}
.magic-city-ice-classic .oew-cta img {
	max-width: 100px;
}
.cal-item {
    display: flex;
    flex-flow: row;
	align-items: center;
}
.cal-item .cal-date {
    border: 1px solid #222;
    padding: 5px 8px 8px;
    text-align: center;
    line-height: 1;
		min-width: 60px;
}
.cal-date .cal-day {
    display: block;
    font-weight: bold;
    font-size: 1.65em;
    margin-bottom: 3px;
}
.cal-date .cal-mo {
    display: block;
}
.cal-item .cal-details {
    margin-left: 0.5em;
}
.cal-details h4, .cal-details p {
    margin-bottom: 0;
}
.mcic-logos {
    text-align: center;
}
.elementor .mcic-logos img {
    display: inline-block;
    max-width: 75px;
    vertical-align: middle;
}

@media (min-width: 768px) {
	.visible-xs {
		display: none !important;
	}
	.membership .list-columns-2 li, .magic-city-ice-classic .list-columns-2 li {
			margin-right: 10px;
	}
	.membership .list-columns-2, .magic-city-ice-classic .list-columns-2 {
			margin-right: -10px;
	}
}
@media (min-width: 1024px) {
	.content-left-sidebar .widget-area {
		position: sticky;
		top: 75px;
	}
}
@media (max-width: 1280px) and (min-width: 1024px) {
	.home-top-text {
		font-size: 57px;
	}
}
@media (max-width: 1023px) {
	.home-top-text {
		font-size: 41px;
	}
}
@media (max-width: 767px) {
	.hidden-xs {
		display: none !important;
	}
	#footer-widgets .col:last-child {
		margin-bottom: 0;
	}
		.list-columns-3, .list-columns-2 {
		columns: 1;
	}
	.price-row .elementor-column {
		margin-bottom: 10px;
	}
	.home .elementor-column-gap-wider>.elementor-column:last-child>.elementor-element-populated {
		padding-top: 0;
	}
	.magic-city-ice-classic .oew-cta img {
		margin-right: 15px;
	}
	.magic-city-ice-classic .oew-cta h3 {
		flex-basis: calc(100% - 115px);
	}
	.magic-city-ice-classic .oew-cta .oew-cta-btn {
		margin-top: 1em;
	}
}