/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Charter font definitions */

@font-face {
    font-family: 'Charter';
    src: local( 'Charter Regular' ),
         url('charter_regular-webfont.woff2') format('woff2'),
         url('charter_regular-webfont.woff') format('woff'),
         url('charter_regular-webfont.eot'),
         url('charter_regular-webfont.eot?#iefix') format('embedded-opentype');
    font-weight:  normal;
    font-style:   normal;
    font-display: swap;
}

@font-face {
    font-family: 'Charter';
    src: local( 'Charter Bold' ),
         url('charter_bold-webfont.woff2') format('woff2'),
         url('charter_bold-webfont.woff') format('woff'),
         url('charter_bold-webfont.eot'),
         url('charter_bold-webfont.eot?#iefix') format('embedded-opentype');

    font-weight:  bold;
    font-style:   normal;
    font-display: swap;
}

@font-face {
    font-family: 'Charter';
    src: local( 'Charter Italic' ),
         url('charter_italic-webfont.woff2') format('woff2'),
         url('charter_italic-webfont.woff') format('woff'),
         url('charter_italic-webfont.eot'),
         url('charter_italic-webfont.eot?#iefix') format('embedded-opentype');
    font-weight:  normal;
    font-style:   italic;
    font-display: swap;
}

@font-face {
    font-family: 'Charter';
    src: local( 'Charter Bold Italic' ),
         url('charter_bold_italic-webfont.woff2') format('woff2'),
         url('charter_bold_italic-webfont.woff') format('woff'),
         url('charter_bold_italic-webfont.eot'),
         url('charter_bold_italic-webfont.eot?#iefix') format('embedded-opentype');
         
    font-weight:  bold;
    font-style:   italic;
    font-display: swap;
}

/* HTML AND BODY */

html, body {
	font-family:     Charter;
	line-height:     1.4em;
	font-size:       24px;
}

/* FONT RESIZING BASED ON DISPLAY SIZE */

@media all                          { html, body { font-size: 24px;   } }
@media all and ( max-width: 800px ) { html, body { font-size: 24px;   } }
@media all and ( max-width: 780px ) { html, body { font-size: 23.5px; } }
@media all and ( max-width: 760px ) { html, body { font-size: 23px;   } }
@media all and ( max-width: 740px ) { html, body { font-size: 22.5px; } }
@media all and ( max-width: 720px ) { html, body { font-size: 22px;   } }
@media all and ( max-width: 700px ) { html, body { font-size: 21.5px; } }
@media all and ( max-width: 680px ) { html, body { font-size: 21px;   } }
@media all and ( max-width: 660px ) { html, body { font-size: 20.5px; } }
@media all and ( max-width: 640px ) { html, body { font-size: 20px;   } }
@media all and ( max-width: 620px ) { html, body { font-size: 19.5px; } }
@media all and ( max-width: 600px ) { html, body { font-size: 19px;   } }
@media all and ( max-width: 580px ) { html, body { font-size: 18.5px; } }
@media all and ( max-width: 560px ) { html, body { font-size: 18px;   } }
@media all and ( max-width: 540px ) { html, body { font-size: 17.5px; } }
@media all and ( max-width: 520px ) { html, body { font-size: 17px;   } }
@media all and ( max-width: 500px ) { html, body { font-size: 16.5px; } }
@media all and ( max-width: 480px ) { html, body { font-size: 16px;   } }

/* MENU ITEMS */

.menu-item li {
	height:          2.4em;
}

.menu-item li, .menu-item, footer a {
	letter-spacing:  0.01em;
}

.sub-menu li:first-of-type {
	margin-top:      0.6em;
}

.sub-menu li:last-of-type {
	margin-bottom:   1.1em;
}

/* Add more spacing around search icon in menu */
.fl-page-nav-search {
	margin-left:     35px;
}

.fl-search-input {
	font-family:     "Lato", Helvetica, sans-serif;
}

/* PARAGRAPH */

p {
	margin-top:      0;
	margin-bottom:   1.4em;
}

/* HEADINGS */

h1 {
	font-size:       1.5em;
	font-weight:     bold;
	margin-bottom:   0.75em;
	letter-spacing:  0.02em;
}

h2 {
	margin-top:      0;
	font-size:       1.2em;
	font-weight:     bold;
	margin-bottom:   1.1em;
	letter-spacing:  0.01em;
}

p + h2, ol + h2, ul + h2, blockquote + h2, code + h2 {
	margin-top:      2.2em;
}

h3, h4, h5, h6 {
	margin-top:      0;
	font-size:       1.1em;
	font-weight:     bold;
	margin-bottom:   1.21em;
	letter-spacing:  0.01em;
}

p + h3, ol + h3, ul + h3, blockquote + h3, code + h3 {
	margin-top:      2.4em;
}

/* LISTS */

.fl-post-content ul, .fl-post-content ol {
	margin-left:     2.8em !important;
	margin-right:    0 !important;
	margin-top:      0 !important;
	margin-bottom:   1.4em !important;
	padding:         0 !important;
}

.sp-lead-magnet ul, .sp-lead-magnet ol {
	margin-left:     1.4em !important;
	margin-right:    0 !important;
	margin-top:      0 !important;
	margin-bottom:   1.4em !important;
	padding:         0 !important;
}

/* Remove standard bullets, and replace with smaller, light gray bullets */
.fl-post-content ul, .sp-lead-magnet ul {
    list-style-type: none;
    text-indent:     -0.4em;
}

.fl-post-content ul li::before, .sp-lead-magnet ul li::before {
    content:         "•";
	font-size:       0.6em;
    color:           #a7a7a7;
    position:        relative;
    left:            -1em;
    top:             -0.11em;
    line-height:     1em;
}

.fl-post-content ol, .sp-lead-magnet ol {
    list-style-type: none;
    counter-reset:   item;
    position:        relative;
}

.fl-post-content ol li::before, .sp-lead-magnet ol li::before {
    content:           counter( item ) ".";
    counter-increment: item;
    color:             #a7a7a7;
    position:          absolute;
    left:              -3.45em;
    width:             2.8em;
    text-align:        right;
}

/* Double-spaced lists */
.doublespace li {
    margin-bottom:     1.44em;
}

.doublespace li:first-child {
    margin-bottom:     none;
}

/* PAGE NUMBERS */

/* Customize page numbers at bottom of blog and category pages */
.fl-builder-pagination ul {
    list-style-type: none;
    text-indent:     0;
    margin:          0;
	padding:         0;
}

.fl-builder-pagination ul li::before {
    content:         none;
}

.page-numbers li {
   	font-family:     "Lato", Helvetica, sans-serif;
	font-size:       0.8em;
}

/* ARCHIVES */

/* Make list bullets invisible on the Archives page */
.archives ul {
	list-style-type: none;
	font-size:       0.75em;
    text-indent:     0;
	margin-left:     1.85em;
	margin-bottom:   0;
}

.archives ul li::before {
    content:         none;
}

/* READING LIST */

.reading-list ul {
	list-style-type: none;
	text-indent:     0;
	font-size:       0.75em;
	margin-left:     1.85em;
}

.reading-list ul li::before {
    content:         none;
}

/* BLOCKQUOTE */

blockquote {
    font-size:       0.8em;
    color:           #959595;
    border-left:     2px solid #f5f5f5;
	margin:          1.75em;
	padding:         0 0 0 1.75em;
}

/* CODE */

code {
	display:         block;
	background:      inherit;
	font-family:     "Droid Sans Mono", Courier New, Courier, monospace;
    font-size:       0.7em;
    color:           #959595;
    border-left:     2px solid #f5f5f5;
	margin:          2em;
	padding:         0 0 0 2em;
}

/* TABLES */

.fl-content table {
    font-size:       0.7em;
   	margin-left:     2em;
   	margin-bottom:   1.8em;
}

.fl-content th + th, .fl-content td + td {
	padding-left:    1em;
	text-align:      center;
}

.fl-content td + td {
    color:           #959595;
}

.fl-content tr {
    border-bottom:   1px solid #e5e5e5;
}

/* GENERAL CONTENT ITEMS */

/* Limit width of Posts feed module, single post content, and separators */
.sp-limit-width, .fl-post-feed-post, .single .fl-post-content, .fl-archive .fl-post, .fl-archive-title, .fl-archive-nav, .fl-post-nav {
	max-width:       800px;
}

/* Increase footer link font size */
footer a {
	font-size:       1.2em;
}

/* PAGE HEADER */

.sp-page-header {
	margin-top:     1.15em;
	margin-bottom:  2.65em;
}

.sp-page-header-followed-by-h2 {
	margin-top:     1.15em;
	margin-bottom:  2.45em;
}

.sp-page-header-followed-by-h3 {
	margin-top:     1.15em;
	margin-bottom:  2.52em;
}

.sp-page-header-blog {
	margin-top:     1.15em;
	margin-bottom:  2.25em;
}

.sp-page-header-contact-form {
	margin-top:     1.15em;
	margin-bottom:  1.25em;
}

.sp-lm-header {
	margin-top:     1.15em;
	margin-bottom:  1.12em;
}

.single .fl-content {
	margin-top:      1.15em;
	margin-bottom:   0.6em;
}

/* BUTTONS AND FORM FIELDS */

.fl-button-text, button, #sfwd-mark-complete input[ type="submit" ], footer a, .fl-form-field, .fl-form-buttom, input[ name="jetpack_subscriptions_widget" ] {
	font-family:     "Lato", Helvetica, sans-serif;
	color:           white;
}

.fl-button-text, button, .fl-form-buttom, #learndash_mark_complete_button {
	letter-spacing:  0.01em;
}

#learndash_mark_complete_button {
	float:           right;
}

.text-below-button {
	font-size:       0.7em;
}

/* PRINCIPLE CALLOUTS */

.principle-callout {
	font-size:       0.8em;
}

.principle-callout .fl-callout .fl-icon i {
	font-size:       3rem;
}

.principle-callout .fl-callout-title {
	padding-bottom:  0.15em;
}

/* ARCHIVES PAGE */

/* Monospace font for dates on Archives page, to align them */
span.sya_date {
	font-family:     "Droid Sans Mono", Courier New, Courier, monospace;
}

/* Align titles of blog posts on Archives page when they wrap to multiple lines on smaller screens */
div#sya_container ul li {
	margin-left:     5.4em;
	text-indent:     -5.4em;
}

/* NEWSLETTER CALLOUT */

/* Make newsletter callout icon size-adaptive */
.newsletter-callout .fl-callout .fl-icon i {
	font-size:       1.2em;
}

/* PAGE CUSTOMIZATIONS */

/* SINGLE POST PAGE */

/* Hack to fix display of fl-post-header (including H1 tags for blog titles) on single posts */
.fl-post-header, .fl-archive-header {
	display:         block;
}

/* DATES - on blog posts and search results */

.fl-post-date {
	font-size:       0.75em;
}

.fl-post-meta {
	margin-bottom:   1.3em;
}

.fl-post-nav {
	margin-top:      1em;
}

/* Hide author on search results pages */
.search-results .fl-post-author {
    display: none;
}

/* Make the prev/next links in blog posts smaller */
.fl-post-nav span, .fl-archive-nav {
	font-size:       0.7em;
	margin-bottom:   0.45em;
}

/* Make the prev/next links that Beaver Themer uses smaller */
.nav-links a {
	font-size:       0.7em;
	margin-bottom:   0.45em;
}

p#learndash_next_prev_link a, div#learndash_back_to_lesson a {
	font-size:       0.7em;
	margin-bottom:   0.45em;
}

p#learndash_next_prev_link {
	padding-top:     20px;
	margin-bottom:   0em;
	clear:           both;
}

p#learndash_next_prev_link a.next-link {
	float:           right;
}

/* Align LearnDash's Next Lesson link and the Mark Complete with the right side of the video */
p#learndash_next_prev_link, form#sfwd-mark-complete {
	max-width:       640px;
}

.learndash .completed, .learndash .notcompleted {
	line-height:      0.6em;
 	background-size:  contain;
}

dd.course_progress {
	margin-top:       0px;
	margin-left:      0px;
	width:            100%;
}


/* Remove video embed padding on left side */

.embed-vimeo iframe, .embed-youtube iframe {
	margin-left:     0px;
	display:         block;
}


/* Audio page */
.audio-page h3 {
	margin-bottom:   0;
}

.audio-page p {
	font-size:       0.75em;
}

/* Video page */
.video-page h3 {
	margin-bottom:   0;
}

.video-page p {
	font-size:       0.75em;
}

/* Workshop pages */
.workshop-sidebar {
	font-size:       0.8em;
}

/* Main products page */
.products-page p {
	font-size:       0.75em;		
}

/* Individual product pages */
.product-sidebar {
	font-size:       0.8em;
}

.product-sidebar p {
	margin-bottom:   0;	
}

.product-sidebar ul, .product-sidebar ol {
	margin-left:     2em;
}

/* Center photo captions on hover over photos */
.fl-photo-caption-hover {
	text-align:      center;
}

/* center product callout icons within their own space */
.product-callout .fl-callout .fl-icon i {
	text-align:      center;
	width:           2.2em;
	font-size:       2em;
}

/* FAQ PAGES */

.fl-accordion-button .fl-accordion-button-label {
	font-size:       0.8em;
}

.fl-accordion-content {
	font-size:       0.8em;
	color:           #909090;
	margin-left:     1.25em;
}

/* Remove comments count */

.fl-sep, .fl-comments-popup-link, .fl-post-meta-bottom, .fl-comments, .fl-post-more-link {
	display:         none;
}

/* POSTS MODULE */

.fl-post-feed {
	padding-bottom:  1em;
}

/* Date on Posts feed */
.fl-post-feed-date {
	display:         block;
	font-size:       0.75rem;
	margin-top:      1.83em;
	margin-bottom:   1.73em;
}

.fl-post-feed-content {
	padding-bottom:  0;
	margin-bottom:   0;
}

.fl-post-feed-post {
	padding-bottom:  2.4em;
	margin-bottom:   1.5em;
}

/* SEARCH RESULTS PAGE */

.fl-archive-header .fl-archive-title {
	font-size:       1.5em;
	font-weight:     bold;
	letter-spacing:  0.02em;
	border-bottom:   0;
	margin-top:      0;
	display:         block;
	margin-bottom:   1.4em;
}

.search-results .fl-content, .archive .fl-content {
	margin-top:      1.15em;
	margin-bottom:   0.6em;
}

.search-no-results .fl-content {
	margin-top:      1.15em;
	margin-bottom:   2.25em;
}

.search-no-results .fl-post-content form {
	margin-top:      1.5em;
}

.search-results .fl-post-more-link {
	display:         none;
}

.search-results .fl-post-content, .search-results .fl-post-content p,
.news-page .fl-post-content, .news-page .fl-post-content p,
.archive .fl-post-content, .archive .fl-post-content p {
	padding-bottom:  0;
	margin-bottom:   0;
}

.search-results article.fl-post, .news-page .fl-post, .archive .fl-post {
	padding-bottom:  2.4em;
	margin-bottom:   1.5em;
}

/* Add some space after the last search result */
.search-results article.fl-post:last-of-type,
.archive article.fl-post:last-of-type {
	margin-bottom:   1.8em;
}

/* Remove the extra space if there's a nav bar at the bottom of the search results */
.search-results nav.fl-archive-nav, .archive nav.fl-archive-nav {
	margin-top:      -2.4em;
}

.search-results div.fl-archive-nav-prev,
.search-results div.fl-archive-nav-next,
.archive div.fl-archive-nav-prev,
.archive div.fl-archive-nav-next {
	margin-top:      0.45em;
}

/* Make titles/links for pages visible in search results */
.search-results .fl-content .fl-post-header {
	display: block;
}

/* HOME PAGE */

.sp-colored-background-area {
	margin-top:      0.7em;
}

/* post grid on home page (recent posts) */

.fl-post-grid {
	margin-left:     0;
}

.fl-post-grid-post {
	height:          250px;
	overflow:        hidden;
	border:          none;
}

.fl-post-grid-text .fl-post-grid-text .fl-post-grid-title {
	line-height:     1.4rem;
	margin-bottom:   0;
}

/* Extend the post grid link to fill the whole grid box, so people can click anywhere in the box */
.fl-post-grid-title a {
	position:        absolute;
	width:           100%;
	height:          100%;
	top:             0;
	left:            0;
	padding:         3.2rem 0.9rem 0.5rem 0.95rem;
	z-index:         2;
	line-height:     1.4rem;
}

.fl-post-grid-title a:link, .fl-post-grid-title a:visited {
	color:           #5580b2;
	background:      #eef9fb;
	border:          1px solid #e5e5e5;
}

.fl-post-grid-title a:hover, .fl-post-grid-title a:active {
	color:           #3e8dc9;
	background:      #eef6e6;
	border:          1px solid #3e8dc9;
}

.fl-post-grid-post {
	position:        relative;
}

.fl-post-grid-text .fl-post-feed-date, .fl-post-grid-text .fl-post-grid-date {
	display:         block;
	font-size:       1em;
	margin-top:      0;
	margin-bottom:   0;
	position:        absolute;
	top:             0.7rem;
    left:            1rem;
    z-index:         3;
    color:           #aaaaaa;
    pointer-events:  none;
}

.fl-builder-pagination {
	padding-top:     0.2rem;
	padding-bottom:  0.25rem;
}

/* LINKS */

a:link.fl-callout-title-link, a:visited.fl-callout-title-link,
.fl-post-title a:link, .fl-post-title a:visited,
.fl-post-feed-title a:link, .fl-post-feed-title a:visited,
.fl-post-feed-content a:link, .fl-post-feed-content a:visited {
	color:           #5580b2;
}

a:hover.fl-callout-title-link, a:active.fl-callout-title-link,
.fl-post-title a:hover, .fl-post-title a:active,
.fl-post-feed-title a:hover, .fl-post-feed-title a:active,
.fl-post-feed-content a:hover, .fl-post-feed-content a:active {
	color:           #3e8dc9;
	text-decoration: underline;
}

h2 a, h2 a:link, h2 a:visited {
	color:           #5580b2;
}

h2 a:hover, h2 a:active {
	color:           #3e8dc9;
	text-decoration: underline;
}

/* Brighten image and callout icon links on mouse hover */
a:hover img, .fl-callout .fl-callout-title .fl-icon a:hover i {
	opacity:         0.8;
	filter:          Alpha(opacity=80);
}

/* CAPTIONS */

.wp-caption {
	border:          none;
	background:      none;
}

.wp-caption-text, .fl-photo-caption {
	font-size:       0.75rem !important;
	line-height:     1.4rem !important;
}

/* Allow captions to wrap to multiple lines (override BB's default behavior of clipping long captions) */
div.fl-photo-caption-below {
    white-space:     normal;
}

/* SLIDESHOW */

.fl-slideshow-container img {
	opacity:         0.8;
	filter:          Alpha(opacity=80);
}

.fl-slideshow-image-img {
  top:               0px !important;
}

/* JETPACK RELATED POSTS */

div#jp-relatedposts {
	display:         none;
	margin-top:      2.7em !important;
	margin-bottom:   1.38em !important;
}

div#jp-relatedposts h3.jp-relatedposts-headline {
	margin-bottom:   1.27em !important;
	margin-top:      0 !important;
	font-size:       1.1em !important;
	font-weight:     bold !important;
	margin-bottom:   1.21em !important;
	letter-spacing:  0.01em !important;
}

div#jp-relatedposts .jp-relatedposts-headline em {
	font-style:      normal !important;
}

div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title,
div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title a,
div#jp-relatedposts div.jp-relatedposts-items p {
	font-size:       0.909em !important;
	line-height:     inherit !important;
	letter-spacing:  0 !important;
	margin:          0 !important;
}

/* STYLING FOR PRINTERS */

@media print {
	/* Hide the footer, newsletter signup form, and post navigation */
	header, footer, .do-not-print, div.fl-post-nav, div.fl-builder-pagination {
		display:           none;
	}

	/* Show FAQ items expanded when printing (i.e. accordion) */
	div.fl-accordion-content {
		display:           block;
	}

	/* Hide the FAQ +s when printing (i.e. accordion) */
	i.fl-accordion-button-icon {
		display:           none;
	}

	h1, h2, h3 {
		page-break-after:  avoid;
		page-break-inside: avoid;
	}

	/* Don't page-break in the middle of images, Beaver Builder maps, or Beaver Builder accordions */
	img, div.fl-module-map, div.fl-accordion-item {
		page-break-inside: avoid;
	}

   @page {
      margin:              10%;
   }
}

/* Announcements */
.workshop-announcement {
	font-size:       0.8em;
}

/* PRICING TABLE */

.fl-pricing-table ul.fl-pricing-table-features {
	list-style-type: none;
	text-indent:     0;
	font-size:       0.75em;
	margin-left:     1.85em;
}

.fl-pricing-table ul.fl-pricing-table-features li::before {
    content:         none;
}

.fl-pricing-table-price {
	letter-spacing:  0em !important;	
}

/* MEMBERPRESS */

.mp-form-row, .mp_wrapper label, .mp_wrapper input#mepr_user_or_email {
	font-size:       16px !important; 
}

.mp-password-strength-area {
	max-width:       800px !important; 
	padding-top:     10px; 
}

.mepr-submit, .mepr-share-button {
	font-family:     "Lato", Helvetica, sans-serif; 
	letter-spacing:  0.01em; 
}

.fl-page .fl-post .fl-post-content .mepr_error li::before {
	content:         none; 
}

.fl-page .fl-post .fl-post-content .mp-form-row {
	max-width:       400px; 
}

.mepr-signup-form, .mp_payment_form_wrapper {
	padding-bottom:  40px; 
}

.mp_invoice .mp-table {
	margin-left:     0; 
}

.mp_invoice .mp-table th:nth-of-type( 2 ) {
	text-align:      right; 
}

.portal-header-footer {
	border-color: #0679b5 !important;
	background-color: #044e75 !important;
	color: #c9d4db !important;
	background:  radial-gradient(ellipse at center,#066fa6 0%,#044e75 100%) !important;
    letter-spacing: 0.01em;
    font-family: Lato, Helvetica, Sans-Serif;
}

/* Fix input box text from getting cut off at the bottom in Safari and Firefox  */
input[ type="text" ], input[ type="email" ], input[ type="password" ], input[ type="tel" ] {
	height:          auto; 
}

/* Hide WordPress post meta, related posts, and nav from MemberPress membership "posts" */
.fl-page .fl-content .memberpressproduct .fl-post-meta,
.fl-page .fl-content .memberpressproduct .jp-relatedposts,
.fl-page .fl-content .memberpressproduct .fl-post-nav {
	display:         none !important;
}
