/*
Theme Name: EliteMasters - Child
Author: GT3
Author URI: http://www.gt3themes.com
Description: -
Version: 2.0.0
Template: elitemasters
*/

/***** HEADER / MENU *****/

/* global "notification" bar - use to make announcements */
.sgs-global-notification-bar {
	/*display: flex;*/
	display: none !important;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	position: fixed;
	width: 100%;
	bottom: 0;
	background: #ca101b;
	z-index: 999999;
	color: #fff;
	padding: 10px 15px;
	font-size: 14px;
	font-weight: bold;
}
.sgs-global-notification-bar .link-button {
	background: #f8c144;
	padding: 3px 6px;
	min-width: 100px;
	text-align: center;
	border-radius: 3px;
	color: #000;
	margin-left: 10px;
}

/* change menu search icon color */
.top_search a {
	color: #ffffff;
}
.top_search a:hover {
	color: #f8c144 !important;
}

/* change menu link color */
header nav ul.menu > li > a {
	color: #ffffff !important;
}
header nav ul.menu > li:hover > a {
	color: #f8c144 !important;
}

/* change 'join us' link to standout */
header nav ul.menu > li.sgs-join-header-nav-link {
	position: relative;
	top: -4px;
}

header nav ul.menu > li.sgs-join-header-nav-link > a {
	background: #ca101b;
	padding: 4px 6px;
	border-radius: 3px;
	font-weight: bold;
}

header nav ul.menu > li.sgs-join-header-nav-link:hover > a {
	color: #fff !important;
}

/* hide 'my account' link for now */
header nav ul.menu > li.sgs-my-account {
	display: none;
}

/***** FOOTER *****/
.page_without_abs_header .footer {
	margin-top: 2em;
}

/* change footer text color */
.footer .textwidget {
	color: #fff;
}

.footer .textwidget p {
	font-size: 17px;
}

.footer .col-sm-3 {
	text-align: center;
}

/* footer 'join us' button */
.footer .footer-join-btn {
	display: inline-block;
	background: #ca101b;
	color: #fff;
	border-radius: 3px;
	padding: 10px 22px;
	font-weight: bold;
	font-size: 14px;
	text-transform: uppercase;
	margin-top: 5px;
}
.footer .footer-join-btn:hover {
	background: #a70d16;
	color: #fff;
}

/* resize logo and center it */
.footer .widget_media_image {
	text-align: center;
}

.footer .widget_media_image img {
	max-width: 200px !important;
}

/* update footer styling */
.footer .widget_nav_menu a {
	color: #fff;
	font-size: 14px;
	margin-bottom: 0px;
}
.woocommerce-page .widget_nav_menu ul li a:hover,
.footer .widget_nav_menu a:hover,
.footer .widget_nav_menu .current-menu-item a:hover {
	color: #f8c144 !important;
}

.footer .widget_nav_menu .current-menu-item a {
	color: #fff !important;
}

/***** 'Past Reunions' page timeline */
.sgs-past-reunion-timeline .timeline-block .timeline-header h3 {
	margin: 0;
	font-size: 18px;
}

.sgs-past-reunion-timeline .timeline-block .link-box {
	border-bottom: none;
}

.sgs-past-reunion-timeline .timeline-block.timeline-post-left .timeline-header-block {
	padding-left: 2em;
}

.sgs-past-reunion-timeline .timeline-block.timeline-post-right .timeline-header-block {
	padding-right: 2em;
}

.sgs-past-reunion-timeline .timeline-feature-item .timeline-dot,
.sgs-past-reunion-timeline .timeline-wrapper .timeline-dot,
.sgs-past-reunion-timeline .timeline-line span {
	background-color: #ca101b !important;
}

/***** POSTS *****/

/* remove comments section */
body.single-post #comments {
	display: none !important;
}

/* remove meta section and make full-width */
body.single-post .single_post .blog_post_preview .blog_content {
	padding-left: 0;
}
body.single-post .single_post .listing_meta {
	display: none;
}

/***** MISC THINGS *****/

body {
	opacity: 1 !important;
}

/* set <p> margin */
p {
	margin: 0 0 20px 0 !important;
}

/* set default link style */
.content_block p a,
.content_block a,
.wpb_text_column a,
.ult_modal-content a {
	color: #ca101b;
	border-bottom: 1px dotted;
	font-weight: 400;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.content_block p a:hover,
.content_block a:hover,
.wpb_text_column a:hover,
.vc_btn3-color-grey:hover {
	color: #a40f18 !important;
}

/* membership signup page help CTA */
.sgs-membership-help-cta {
	background: #ffcc00;
	padding: 15px;
	border-radius: 3px;
	text-align: center;
	color: #000;
	font-size: 16px;
}

/* remove link style from items if it shows */
a.ulimate-info-list-link,
.ult-team-member-wrap .ult-social-buttons a.ult-team,
.ubtn-link,
.sgs-home-news-grid .pgafu-post-grid-content a {
	border-bottom: none !important;
}

/* add class to make headings and/or <p> be white colored */
.white-header h1,
.white-header h2,
.white-header h3,
.white-header h4,
.white-header h5,
.white-header h6,
.white-text {
	color: #ffffff;
}

/* remove items */
.tagline .email,
.tagline .log_in_out,
.nt_edit_link {
	display: none !important;
}

/* fix top header/tagline styling */
.tagline a:hover, .tagline a:focus {
	color: #f8c144 !important;
}
body.page_without_abs_header .tagline {
	border-bottom: 1px solid #4a4e86;
}

/* make the 'members only' login form be 100% width */
#wpmem_login .div_text, #wpmem_reg .div_text, #wpmem_reg .div_textarea, #wpmem_reg .div_select, #wpmem_reg .div_checkbox, #wpmem_reg .div_multiselect, #wpmem_reg .div_multicheckbox, #wpmem_reg .div_radio, #wpmem_reg .div_image, #wpmem_reg .div_file, #wpmem_reg .div_url, #wpmem_reg .div_number, #wpmem_reg .div_date, #wpmem_reg .button_div, #wpmem_login .button_div {
	width: 100% !important;
}

/* add margin to <ul>'s and <ol>'s */
.wpb_text_column ul,
.wpb_text_column ol {
	margin: 0 0 1em 2em !important;
}

/* add styling to <figcaptions> */
.wpb_single_image .vc_figure-caption {
	border-bottom: 1px solid #e8e8e8;
	display: inline-block;
	width: 100%;
	padding: 10px 0;
}

/* fix <ol> and <ol>:before styling */
.wpb_text_column ol li {
	padding: 0 0 15px 0 !important;
}
.module_content ol li:before, .wpb_text_column ol li:before, .cont_info ol li:before, .uvc-sub-heading ol li:before {
	position: relative !important;
	font-weight: bold;
	margin-right: 10px;
}

/* restyle 'read more' button on homepage news grid */
.sgs-home-news-grid .readmorebtn {
	background: #ca101b;
	color: #fff;
	border-radius: 3px;
	padding: 6px 18px;
}
.sgs-home-news-grid .readmorebtn:hover {
	background: #a40f18 !important;
	color: #ffffff !important;
}

/* newsletter archive list */
.sgs-newsletter-archive-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sgs-newsletter-archive-container .vc_row {
	width: 100%;
	margin: 0 0 10px 0;
}

.sgs-newsletter-archive-container .vc_row .vc_column-inner {
	padding: 0;
}

/***** Contact Form on 'Contact Us' page *****/
.sgs-contact-form input[type="text"], .sgs-contact-form input[type="email"], .sgs-contact-form textarea {
    font-size: 18px;
    padding: 1em;
    margin: 10px 0 15px 0;
    font-weight: bold;
}
.sgs-contact-form input[type="text"]:focus, .sgs-contact-form input[type="email"]:focus, .sgs-contact-form textarea:focus {
	background: #f8f8f8;
}

.sgs-contact-form .nf-form-content {
	margin-top: 15px;
}

.sgs-contact-form .nf-form-content .nf-field-label {
	margin-bottom: 5px;
}

.sgs-contact-form .nf-form-content .nf-field-label label {
	font-size: 16px;
}

/* submit btn */
.sgs-contact-form .submit-wrap input[type="button"] {
	background: #ca101b;
	border-color: #a9121b;
}
.sgs-contact-form .submit-wrap input[type="button"]:hover {
	color: #fff;
}

/* 'mail sent success' have a green style */
.sgs-contact-form .wpcf7-mail-sent-ok {
	border-color: #398f14 !important;
	background: #47a91d;
	color: #ffffff;
}

/***** Search results page styling *****/
.bsearch_results_page {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
}

/* search inputs and button */
.bsearch_results_page .bsearchform {
	flex-direction: column;
	flex-wrap: nowrap;
}

.bsearch_results_page .bsearchform input[type="text"],
.bsearch_results_page .bsearchform input[type="search"] {
	font-size: 18px;
	padding: 10px 13px;
	margin: 0 0 2px 0;
	font-weight: bold;
	border: 2px solid #ccc;
	height: unset;
}
.bsearch_results_page input[type="text"]:focus,
.bsearch_results_page input[type="search"]:focus {
	background: #f8f8f8;
}

.bsearch_results_page .bsearchform .bsearch-form-post-types select {
	font-size: 18px;
	padding: 10px 13px;
	margin: 0 0 2px 0;
	font-weight: bold;
	border: 2px solid #ccc;
	height: unset;	
	border-radius: 4px;
	background: #fff;
	-webkit-appearance: auto;
}

.bsearch_results_page .bsearchform .bsearch-submit {
	line-height: unset;
	margin: 0;
	height: unset;
	padding: 14px 20px;
	border: none;
	font-weight: bold;
}
.bsearch_results_page .bsearchform .bsearch-submit:hover {
	background: #31364c;
	color: #fff;
}

.bsearch_results_page .bsearch-post .bsearch_post_meta {
	margin: 6px 0;
	padding: 3px 0;
	border-top: 1px solid #e8e8e8;
	border-bottom: 1px solid #e8e8e8;
	font-weight: bold;
	font-size: 12px;
}

.bsearch_results_page .bsearch-post .bsearch-entry-readmore > a {
	font-weight: bold;
	font-size: 12px;
	border: 2px solid #e8e8e8;
	padding: 3px 5px;
	border-radius: 3px;
	margin-top: 4px;
	display: inline-block;
	text-transform: uppercase;
}
.bsearch_results_page .bsearch-post .bsearch-entry-readmore > a:hover {
	background: #e8e8e8;
}

.bsearch_results_page .bsearch-post .bsearch_post_meta .meta-author {
	display: none;
}

.bsearch_results_page .nav-links a.page-numbers {
	background: #e8e8e8;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 15px;
	font-weight: bold;
}

.bsearch_results_page .nav-links span.page-numbers.current {
	background: #ca101b;
	color: #fff;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 15px;
	font-weight: bold;
}

/* page title */
.bsearch_results_page .page-title,
.bsearch_results_page .page-title span {
	font-size: 30px;
	text-align: center;
	background: #e8e8e8;
	margin: 15px 0 1.5em 0;
	font-weight: normal;
	padding: 0 10px;
}
.bsearch_results_page .page-title span {
	color: #ca101b;
	font-weight: bold;
}

/* remove search table styling */
.bsearch_results_page .bsearch_nav {
	display: none;
}

/* article title font size */
.bsearch_results_page .search-entry-title,
.bsearch_results_page .search-entry-title span,
.bsearch_results_page .search-entry-title a {
	font-size: 22px;
	margin: 10px 0 0 0;
	padding: 1em 0 0 0;
	line-height: 1;
}

/* highligh search term */
.bsearch_results_page span.bsearch_highlight {
	background: #e8e8e8;
	padding: 0px 8px;
	color: #ca101b;
	font-weight: bold;
}

/* remove duplicate search bar on "no results" query */
.bsearch_results_page .bsearch-form-container:last-child {
	display: none;
}

/* add styling to mimic theme page title/sub title and icon for pages where using VC isnt possible */
.sgs-page-title {
	text-align: center;
}

.sgs-page-title .sub-title {
	padding: 0;
}

.sgs-page-title .title-icon-wrapper:before {
	content: '';
	width: 140px;
	background: #eee;
	height: 1px;
	display: inline-block;
	position: relative;
	top: -3px;
	left: -10px;
}

.sgs-page-title .title-icon-wrapper:after {
	content: '';
	width: 140px;
	background: #eee;
	height: 1px;
	display: inline-block;
	position: relative;
	top: -3px;
	right: -10px;
}

/***** NinjaTables Styling Adjustments *****/

/* center all the text */
.ninja_footable {
	text-align: center !important;
}

/* remove li dots from pagination */
.footable-pagination-wrapper .pagination li:before {
	display: none !important;
}

/* remove (theme) padding from pagination */
.footable-pagination-wrapper .pagination li {
	padding: 0 !important;
}

/* change color of pagination *//
.footable-pagination-wrapper .pagination li a {
	color: #ca101b !important;
}

.footable-pagination-wrapper .pagination .active a {
	background: #ca101b !important;
	color: #fff !important;
	border-color: transparent !important;
}

/* decrease font size of links inside <sup> */
sup > a {
	font-size: 12px;
}

/* add dna lineage color spans */
.seeley-dna-lineage span.green {
	background: #81ff81;
	padding: 2px 0px;
	width: 100%;
	display: block;
}
.seeley-dna-lineage span.yellow {
	background: #ff0;
	padding: 2px 0px;
	width: 100%;
	display: block;
}
.seeley-dna-lineage span.tan {
	background: #FCBA78;
	padding: 2px 0px;
	width: 100%;
	display: block;
}
.seeley-dna-lineage span.purple {
	background: #b1a0c7;
	padding: 2px 0px;
	width: 100%;
	display: block;
}
.seeley-dna-lineage span.blue {
	background: #b8cce4;
	padding: 2px 0px;
	width: 100%;
	display: block;
}

/* add dna lineage color blocks (legend area) */
.dna-lineage-color-block {
    width: 80px;
    height: 20px;
    display: inline-block;
    float: left;
    margin: 2px 10px 0 0;
}
.dna-lineage-color-block.purple { background: #b1a0c7; }
.dna-lineage-color-block.blue { background: #b8cce4; }
.dna-lineage-color-block.green { background: #81ff81; }
.dna-lineage-color-block.yellow { background: #ff0; }
.dna-lineage-color-block.tan { background: #FCBA78; }


/**** SGS EVENT REGISTRATION FORM - FLUENT FORMS STYLING ****/
.fluentform {
	background: #f8f8f8;
	padding: 2em;
	border-radius: 3px;
}

/* fields required */
.sgs-event-registration-form .text-danger {
	color: #ca4141;
	font-weight: bold;
}

/* section headers */
.sgs-event-registration-form .sgs-event-registration-section-header {
	margin: 0 0 20px 0;
	padding: 10px 15px;
	background: #ccc;
	border-radius: 2px;
}
.sgs-event-registration-form .sgs-event-registration-section-header h3 {
	margin: 0;
	padding: 0;
	font-size: 23px;
	text-align: center;	
}
.sgs-event-registration-form .sgs-event-registration-section-header p {
	font-size: 18px;
	text-align: center;
	margin: 0 !important;
	padding: 4px 0 6px 0;
}

/* section sub-headers */
.sgs-event-registration-form .sgs-event-registration-section-sub-header p {
	margin: 0 !important;
	padding: 3px;
	font-size: 16px;
	text-transform: uppercase;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.sgs-event-registration-form .sgs-event-registration-section-additional-sub-header p {
	margin: 0 !important;
	padding: 3px 5px;
	font-size: 16px;
	text-transform: uppercase;
	background: #ca101b;
	color: #fff;
}

.sgs-event-registration-form .sgs-event-section-instructions {
	font-size: 17px;
	font-weight: bold;
	color: #ca101b;
	margin: -15px auto 3px auto;
	max-width: 90%;
}

/* field labels */
.sgs-event-registration-form .ff-el-input--label > label {
	font-size: 16px;
	margin-bottom: -7px;
	display: block;
}

/* radio option text sizing */
.sgs-event-registration-form .ff-el-form-check .ff-el-form-check-label > span {
	font-size: 15px;
}

/* prev/next buttons for form page/steps */
.sgs-event-registration-form .step-nav .ff-btn {
	background-color: #f8c144;
	color: #000;
	border: 1px solid #f8c144;
	font-weight: bold;
	font-size: 14px;
	text-transform: uppercase;
	padding: 10px 15px;
	border-radius: 3px;
	cursor: pointer;
}
.sgs-event-registration-form .step-nav .ff-btn:hover {
	background-color: #fbc144;
	border-color: #e8af35;
	color: #000;
}

/* payment summary */
.sgs-event-registration-form .sgs-payment-summary .ffp_table td,
.sgs-event-registration-form .sgs-payment-summary .ffp_table tfoot tr th {
	font-size: 18px;
}

/* make payement summary responsive */
@media screen and (max-width: 600px) {
	
	.sgs-event-registration-form .sgs-payment-summary .ffp_table {
		table-layout: fixed;
		border: 0;
	}
  
	.sgs-event-registration-form .sgs-payment-summary .ffp_table thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}
	
	.sgs-event-registration-form .sgs-payment-summary .ffp_table tr {
		display: block;
		margin-bottom: .625em;
	}
	
	.sgs-event-registration-form .sgs-payment-summary .ffp_table td {
		display: block;
		text-align: right;
		font-size: 15px;
	}
	.sgs-event-registration-form .sgs-payment-summary .ffp_table td:first-child {
		background: #e3e8ee;
		font-weight: bold;
		border: 0;
	}
	
	.sgs-event-registration-form .sgs-payment-summary .ffp_table td::before {
		float: left;
		font-weight: bold;
	}
	
	.sgs-event-registration-form .sgs-payment-summary .ffp_table td:nth-child(1)::before { content: 'Item:'; }
	.sgs-event-registration-form .sgs-payment-summary .ffp_table td:nth-child(2)::before { content: 'Price:'; }
	.sgs-event-registration-form .sgs-payment-summary .ffp_table td:nth-child(3)::before { content: 'Qty:'; }
	.sgs-event-registration-form .sgs-payment-summary .ffp_table td:nth-child(4)::before { content: 'Line Total:'; }
	
	.sgs-event-registration-form .sgs-payment-summary .ffp_table tfoot {
		border: 0;
		float: right;
		width: 100%;
	}
	.sgs-event-registration-form .sgs-payment-summary .ffp_table tfoot th {
		width: 100%;
		min-width: unset;
		text-transform: uppercase;
	}
	.sgs-event-registration-form .sgs-payment-summary .ffp_table tfoot th:first-child {
		border-left-width: 1px;
		background: #e3e8ee;
	}
}

/* payment total text - hidden on form but visible for email/admin area */
.sgs-event-registration-payment-total {
	display: none !important;
}

.sgs-event-registration-form .ff_input-group {
	flex-wrap: nowrap;
}

/* fix fluentforms "step/page" functionality to make it work better */
.sgs-event-registration-form .ff-step-body {
	width: 100% !important;
	left: 0 !important;
}
.sgs-event-registration-form .ff-step-body .fluentform-step {
	width: 100% !important;
	float: none;
	overflow-x: unset;
	display: none;
}
.sgs-event-registration-form .ff-step-body .fluentform-step.active {
	display: block;
}

/***** FIX RESPONSIVE STYLING ISSUES *****/

@media (min-width: 600px) {
	
	.bsearch_results_page .bsearchform {
		flex-direction: row;
		align-items: baseline;
	}
	
	.bsearch_results_page .bsearchform .bsearch-submit {
		position: relative;
		top: -2px;
	}
	
}

@media (min-width: 768px) {
	
	.footer .col-sm-3 {
		width: 33.333% !important;
	}
	
	/* wrap newsletters to be 5 columns */
	.sgs-newsletter-archive-container {
		flex-direction: row;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	
	.sgs-newsletter-archive-container .vc_row {
		width: calc(20% - 20px);
		margin-right: 20px;
	}
	
	.sgs-newsletter-archive-container .vc_row:nth-child(5n) {
		margin-right: 0px;
	}
	
	/* wrap (member only) newsletters to be adaptive columns */
	.sgs-newsletter-archive-container.members-only {
		flex-direction: row;
		justify-content: space-between;
		flex-wrap: nowrap;
		align-items: flex-start;
	}
	
	.sgs-newsletter-archive-container.members-only .vc_row {
		width: 100%;
		margin-right: 35px;
	}
	
	.sgs-newsletter-archive-container.members-only .vc_row:last-child {
		margin-right: 0px;
	}
}

@media only screen and (max-width: 991px) {

	/* mobile header, logo, hamburger icon */
	header .container {
		padding-top: 15px !important;
		padding-bottom: 11px !important;
	}
	
	#main_header .logo_sect img {
		width: 35px;
	}
	
	a.menu_toggler {
		top: 16px !important;
	}
	
	.mobile_menu_wrapper li.sgs-join-header-nav-link {
		background: #ca101b;
	}
	
	.mobile_menu_wrapper li.sgs-join-header-nav-link > a {
		font-weight: bold;
	}

}