/*
Theme Name: WPLMS Blank ChildTheme
Theme URI: http://www.VibeThemes.com    
Description: Child Theme for WPLMS WordPress Theme
Author: VibeThemes
Author URI: http://themeforest.com/user/vibethemes
Template: wplms
Version: 1.0
*/

@import url("../wplms/style.css");

:root {
	--main-blue: #062D6F; /* Main Blue */
	--dash-blue: #5A8DEE; /* Default blue from the demo dashboard #5A8DEE */ 
}

html{
	scroll-behavior: auto !important;
}

.minimal #footerbottom{
	border-top: 1px solid #eeeeee5c !important;
}

#scrolltop{
	z-index: 9999;
}

section#title{
	display: none !important;
}

.page .content{
	margin: 0px !important;
}

body,button,input,select,textarea{
	font-family: BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif !important
}



/* ---------- Header ---------- */

header{
	background: #fff !important;
}

header .container{
	width: 100%;
}

header .row{
	display: flex;	
	align-items: center !important
}

@media (min-width: 992px) {
    .col-md-9 {
        width: 70%;
    }
	.col-md-3{
		width: 30%;	
	}
}

.vibebp-login{
    background: var(--main-blue);
	border-radius: 10px;
	color: #fff !important;
}

.vibebp_name,
.topmenu li a, .sleek .topmenu>li>a{
	color: #fff !important;
}

.vibebp-login{
	padding: 16px 30px !important;	
	text-transform: none;
}

.vibebp-login a{
	display: flex;
	font-weight: 700;
	text-transform: none;
}

.vibebp-login:has(.loggedin_user) {
    padding: 10px 20px !important;
}

.user_menu.active a{
	padding: 8px !important;
	font-size: 16px;
}

/* ---------- Mobile Menu ---------- */

#close_menu_sidebar{
	display: none !important;
}

.sidebarcontent{
	margin-top: 5px;
}


#trigger{
	top: auto !important;
}


@media (min-width: 768px){
	#logo{
		padding: 10px 0px !important;
	}
}

@media (max-width: 767px){
	#logo{
		padding: 10px 0px !important;
	}
	.vibebp-login{
		padding: 10px 20px !important;
	}
	.loggedin_user img{
		width: 18px !important;
	}
	.vibebp-login:has(.loggedin_user){
		padding: 8px 20px !important;
	}
}

/* ---------- Footer ---------- */

footer .container,
#footerbottom .container{
	width: 100% !important;
}

.footer-logo{
	width: 30%;
}

.footertop{
	padding: 20px 0px;
}

.footermenu{
	display: flex;
	align-items: center;
}

#footerbottom{
	padding: 20px !important;
}


#footerbottom .row{
	display: flex;
	align-items: center;
}

.menu-footer-links-container ul{
	font-size: 16px;
}

#footer_social_icons{
	margin-top: 30px !important;
}

.footer-logo-subtitle{
	width: 50%;
}


/* ---------- Home Page ---------- */

#s{
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'><circle cx='11' cy='11' r='7'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 16px 16px;
	padding-left: 35px !important; /* pushes the text so it doesn't overlap the icon */
}

.searchform placeholder{
	padding: 40px !important;
}

.searchform div{
	display: flex;	
	align-items: center;
	gap: 5px;
}

.home-hero-search #s{
	width: 70%;
	padding: 15px 20px;
	border-radius: 10px;
	border: 1px solid rgb(0 0 0 / 20%);
}

#searchsubmit{
	background-color: #003a9d;
	padding: 15px 45px;
	border-radius: 10px;
	margin: 0 !important;
	font-size: 16px !important;
	text-transform: none;
}

.home-hero-blurbs-container{
	padding: 30px !important;
	width: 40% !important;
	border-radius: 20px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1)!important;
}

.project-obj-blurb-container,
.home-category-blurb-container{
	border: 2px solid #eeeeee;
	border-radius: 10px !important;
	padding: 20px !important;
}

.home-cta-text div.elementor-widget-container p{
	font-size: 20px !important;
}

.join-community-container{
	border-radius: 10px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.join-community-blurb .elementor-icon{
	padding: 15px;
	background: #f5f5f5;
	border-radius: 50px;
}

ul.socialicons li a{
	padding: 10px 13px !important;
	font-size: 20px !important;
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 10px;
}



/* ---------- About Project Page ---------- */

.about-eu-logo,
.project-obj-left-container{
	border-right: 3px solid #d6d5d5;
}

.project-obj-blurb .elementor-icon{
	padding: 25px;
	background: #f5f5f5;
	border-radius: 50px;
	font-size: 50px !important;
}



/* ---------- Our Partners Page ---------- */

.consortium-info-container{
	border: 2px solid #eeeeee;
	border-radius: 10px !important;
	padding: 30px 0px !important;
}

.location-pin-blurb .elementor-icon{
	margin-top: -2px !important;
}

.the-consortium-link-blurb{
	padding-left: 50px;
}

.the-consortium-link-blurb a{
	font-size: 18px;
	font-weight: 600 !important;
	color: var(--main-blue) !important;
}

.the-consortium-link-blurb .elementor-icon{
	font-size: 22px !important;
}

.stronger-together-blurb .elementor-icon{
	font-size: 60px !important;
	padding: 15px !important;
	border-radius: 50px;
	border: 2px solid;
}

.the-consortium-links-container{
	border-left: 2px solid #eeeeee;
}


/* ---------- Contact Page ---------- */

.contact-form-container{
	padding: 40px !important;
	border: 2px solid #eeeeee;
	border-radius: 10px !important;
}

.reach-us-container{
	padding: 40px !important;
	border: 2px solid #eeeeee;
	border-radius: 10px !important;
}

.reach-us-blurb .elementor-icon{
	padding: 25px;
	background: #f5f5f5;
	border-radius: 50px;
	font-size: 30px !important;
}

.reach-us-blurb a{
	font-size: 18px;
	font-weight: 500 !important;
}

.stay-updated-container{
	background: #f5f5f5;
	padding: 30px !important;
	border-radius: 10px !important;
}

.stay-updated-blurb .elementor-icon{
	padding: 25px;
	background: #e2e2e2;
	border-radius: 50px;
	font-size: 50px !important;
}

.stay-updated-socials .elementor-social-icons-wrapper.elementor-grid{
	padding-top: 10px;
	display: flex !important;
	justify-content: space-evenly !important;
}

.topic-container{
	padding: 30px 20px !important;
	border: 2px solid #eeeeee;
	border-radius: 10px !important;
}

.topic-img img{
	border-radius: 10px !important;
}

.topic-blurb .elementor-icon{
	padding: 25px;
	background: #f5f5f5;
	border-radius: 50px;
	font-size: 50px !important;
}



@media (max-width: 1024px){
	.consortium-info-container{
		flex-direction: column !important;
		justify-content: center;
	}
	.location-pin-blurb{
		align-self: center !important;
	}
	.the-consortium-img-blurb-container{
		width: 100% !important;
	}
	.the-consortium-info-container{
		justify-content: center !important;
	}
}

/* ---------- Profile/Dashboard Page ---------- */

.vibebp_myprofile 
.profile_grid{
	background: #fff !important;	
}

.profile_grid h2{
	font-size: 18px !important;
	font-weight: 800;
	color: var(--main-blue) !important;
}

.vibebp_myprofile strong,
.profile_grid h3{
	color: var(--main-blue) !important;
}


.course_heading h2{
	color: #fff !important;
}

.vibebp_myprofile 
.dashboard 
.dashboard_widget{
	border-radius: 10px !important; 
	padding: 30px !important;
}

.dashboard_widget.dash_search{
	background: transparent !important;
	border:none !important;
	padding: 0 !important;
}

.dashboard_widget.dash_search #searchsubmit{
	padding: 10px 45px !important;
}

.dashboard_widget.dash_search .widget #s{
	padding: 10px;
	border-radius: 10px;
}

.vibebp_myprofile .profile_menu{
	background: var(--main-blue) !important;
}

.menu_bottom svg path,
.menu_bottom rect{
	fill: #ffffff;
}

.profile_menu{
	padding: 10px;	
}

.profile_menu .site_logo{
	margin-bottom: 20px;
}

.sub_nav_items{
	border-radius: 10px !important;
}

div.is_active{
	background: #d5d5d542 !important;
	border-radius: 10px;
}

.scontent .buddypress-course-search-widget #searchsubmit{
	padding: 0 !important;
}

.vibebp_myprofile .dashboard{
	flex-wrap: nowrap !important;	
}

.profile_avatar_actions .button.is-danger,
.profile_avatar_actions .button.is-info{
	color: var(--dash-blue) !important;
}

.profile_avatar_actions .button.is-danger:hover,
.profile_avatar_actions .button.is-info:hover{
	color: #fff !important;
}

#continue-course-button .course_button.button{
	font-size: 20px;
	border-radius: 10px !important;
}

.wplms_create_course_wrapper 
.wplms_edit_course_content 
.course_pricing>div.vibe_publish_course>div 
.field_publish_button .button{
	background: #fff !important;
}

.wplms_create_course_wrapper 
.wplms_edit_course_content 
.course_pricing>div.vibe_publish_course>div 
.field_publish_button .button:hover{
	color: #fff !important;
	background: var(--dash-blue) !important;
}

.field_wrapper .field_wrapper+.field_wrapper{
	margin: 0 !important;
}

.vibebp_sidebars .vibebp_left_sidebar .button+.button{
	color: var(--dash-blue) !important;
}

.vibebp_sidebars .vibebp_left_sidebar .button+.button:hover{
	color: #fff !important;
	background: var(--dash-blue) !important;
}

.menu_bottom .menu_item:first-child {
    display: none !important;
}

.active.button.is-primary{
	border-radius: 10px;
}

@media (max-width: 768px){
	.active.button.is-primary{
		margin: 0px !important; 
	}
}

.vibebp_myprofile select{
	height: 3rem !important;
	font-weight: 400;
	border-radius: 10px !important;
	border: 2px solid #eeeeee !important;
}

.vibebp_myprofile select:focus{
	border: 2px solid var(--dash-blue)!important;
	color: var(--dash-blue) !important;
}

.vibebp_myprofile select option{
	color: #475F7B !important;
}

.vibebp_main .searchbox{
	border: 2px solid #eeeeee !important;
	border-radius: 10px !important;
	height: 3rem !important;
	padding: 8px;
}

.vibebp_main .searchbox input::placeholder{
	font-weight: 400 !important;
}

.vibebp_main .searchbox:focus-within{
	border-color: var(--dash-blue) !important;
}

.vibebp_main .searchbox:enabled{
	border: 2px solid var(--dash-blue) !important;
}

.vibebp_main{
	background: #fff !important;
}

.vibebp_myprofile 
.mycourses_header{
	border: none;
}

.course_blocks .course_block 
.course_featured_image img,
.course_featured_image img{
	border-radius: 10px 10px 0px 0px;
}

.course_blocks .course_block 
.course_block_content_wrapper,
.course_block_content_wrapper{
	border-radius: 0px 0px 10px 10px !important;
}

.wplms_manage_courses_wrapper 
.course_instructor_block{
	border-radius: 10px;
}

.vibebp_myprofile .membercard 
.member_details .request_actions{
	gap: 10px;
}

.vibebp_myprofile .membercard .member_details 
.request_actions .button{
	color: var(--dash-blue) !important;
}

.vibebp_myprofile .membercard .member_details 
.request_actions .button:hover{
	background: var(--dash-blue) !important;
	color: #fff !important;
}

.portal .portal_header 
.header_links a.button:hover{
	background: var(--dash-blue);
	color: #fff !important;
}

.wplms_manage_courses_wrapper 
.wplms_courses_header>div select {
    margin-right: 10px;
}

.course_overview_wrapper,
.course_overview_wrapper .course_overview{
	background: #fff;
}

.course_manage .course_tabs 
.instructor_tabs span.active{
	border: none;
	border-bottom: 3px solid var(--dash-blue);
}

.course_curriculum_wrapper 
.curriculum_item{
	border: none;
	border-bottom: 1px solid var(--border);
}

.wplms_manage_courses_wrapper 
.course_instructor_block 
.course_featured_image 
.course_actions span.vicon{
	text-shadow: none;
}

/* Fix for the animation of the tooltips next to the question marks in course editor */
.wplms_create_course_help,		
.wplms_create_course_help_text {
    transition: none !important;
    animation: none !important;
}

/* Hides the number of changes from the buttons in course editor */
.button.major span{
	display: none;
}

.profile_avatar{
	width: 150px !important;
	height: 150px !important;
	border: 2px dashed var(--border);
}

.vibebp_myprofile 
.uploader 
.upload_file,
.vibebp_myprofile 
.uploader{
	width: 150px !important;
	height: 150px !important;
	border: none !important;
}	

.profile_avatar 
.upload_file{
	min-height: auto !important;
}

#member-card-avatar{
	display: flex;	
	justify-content: center;
	padding: 0px !important;
}

#member-card-avatar img{
	border: 1px solid #d5d5d5;
	border-radius: 10px !important;
}

.vibebp_myprofile 
.membercard 
.member_details 
.request_actions {
	justify-content: center;
}

.wplms_course_categories a:hover{
	background: #fff;	
}

.portal .portal_body{
	border: 1px solid var(--border);
	border-radius: 10px;
}

.widget #s{
	padding: 10px;
	border-radius: 10px;
}

.draftJsToolbar__button__qi1gf.draftJsToolbar__active__3qcpF svg {
	fill: var(--dash-blue) !important;
}

#wplms_courses_directory{
	display: flex;
	justify-content: center;
}

.wplms_courses_directory_wrapper{
	max-width: 1400px !important;
}

.portal .portal_body{
	margin-top: 2rem;	
}

/* Hides the toolbar from the messages form. It's broken and potentially could cause security problems */
.vibe_message_editor
.fixed_toolbar 
.draftJsToolbar__toolbar__dNtBH{
	display: none !important;
}

.vibe_editor{
	margin: 0 !important;
	border-radius: 10px;
}

.newmessage_form 
.message_actions{
	align-items: center;	
}

.message_buttons .button.is-primary{
	margin: 0px; 
}

#searchform 
.select2-container 
.select2-selection--single{
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.select2-container--default 
.select2-selection--single 
.select2-selection__arrow b{
	top: 70%;
}

.portal_header{
	padding: 0px !important;
}

.portal 
.portal_footer{
	padding: 1rem 0rem 0rem !important;
}

.dashboard_intro h3{
	font-weight: 800;
}

.scontent 
.buddypress-course-search-widget.widget ul{
	display: flex;
    grid-gap: 15px;
    justify-content: center;
    align-items: center;
    width: 94%;
}

.scontent .buddypress-course-search-widget form{
	display: flex;
	justify-content: center;
}

.search_results{
	padding-left: 28px !important; 
}

@media (min-width: 992px) {
	.search_results .col-md-3 {
		width: auto;
	}	
}

@media (max-width: 992px){
	.search_results{
		padding-left: 0px !important;
	}
}

.block 
.block_media img{
	border-radius: 10px 10px 0px 0px;	
}

.block.courseitem 
.block_content{
	border-radius: 0px 0px 10px 10px;
}

.comments_wrapper 
.vibebp_myprofile a.link{
	max-width: 150px !important;
	border-radius: 30px;
}

.vibebp_myprofile a.link{
	width: 10% !important;
}

.dashboard_intro h3::after {
	content: "\1F44B"; /* 👋 waving hand */
	display: inline-block;
	margin-left: 0.4em;
}

.vibebp_myprofile .profile_grid 
.profile_grid_header 
.start_block>span>span+span{
	transform: none !important;
	top: 0 !important;
	left: 25px !important;
}

/* Hides "Drag to refresh" icon */
.vibebp_myprofile 
.profile_grid 
.drag_to_refresh{
	display: none !important;
}

span span.vicon.vicon-angle-down,
span span.vicon.vicon-angle-up{
	border: none !important;
}

@media (max-width: 640px){
	body.withsidebar 
	.vibebp_myprofile 
	.profile_grid 
	.profile_grid_header 
	.start_block{
		margin-bottom: 0px !important;
	}
	.vibebp_sidebars 
	.vibebp_left_sidebar_wrapper 
	.vibebp_left_sidebar {
		margin-top: 40px !important;
	}
}

.vibebp_sidebars 
.vibebp_main 
.vibebp_main_head{
	border-radius: 10px;
}

/* Hides "Tours" icon from the dashboard sicne they don't work well */
.tours_wrapper{
	display: none !important;
}

.vibebp_myprofile 
.mycourses_header>div{
	padding: 10px 0px !important;
}

.vibebp_form_field,
.wplms_manage_courses_wrapper 
.wplms_courses_header{
	border-radius: 10px;
}

.vibebp_myprofile 
.mycourses_header>div.header_tabs{
	border-radius: 0px;
}

.vibebp_myprofile .mycourses_header>div.header_tabs>*{
	border-radius: 10px !important;
}

.mycourses_access_tabs
.link{
	border: 2px solid #fff;
	border-radius: 10px;
	text-align: center;
	width: 200px;
}


.vibebp_myprofile .mycourses_header .mycourses_access_tabs .link,
.mycourses_access_tabs .active.button.is-primary{
	margin: 0 auto !important;
	padding: 5px 12px !important;
}

.header_tabs .link{
	margin: auto !important;
}

.wplms_courses_header>div.vibebp_form_field.no_border>*{
	margin: auto;
	border-radius: 10px !important;
}

.profile_settings .portal_body{
	margin-top: 1rem !important;
}

@media (max-width: 768px){
	.vibebp_myprofile 
	.dashboard 
	.dashboard_widget{
		padding: 30px 15px !important;
	}
	.col-md-6{
		padding: 0px 0px 20px 0px !important;
	}
	.vibebp_myprofile 
	.mycourses_header{
		flex-direction: column;
		gap: 0px;
	}
	.vibebp_myprofile .mycourses_header>*{
		flex: auto !important;
	}
	.vibebp_myprofile 
	.mycourses_header>div:first-child{
		width: 100%;
	}
}





/* ---------- Contact Form ---------- */

.cf7-contact-wrap .wpcf7-form-control-wrap {
	display: block;
	margin-bottom: 16px;
}

/* First name / Last name row */
.cf7-row {
	display: flex !important;
	gap: 16px;
	width: 100%;
	margin-bottom: 16px;
}

.cf7-row .cf7-col {
	flex: 1 1 0;
	min-width: 0; /* prevents flex children from overflowing and forcing a wrap */
}

.cf7-row .cf7-col .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
	margin-bottom: 0 !important;
}

.cf7-row .cf7-col input[type="text"] {
	width: 100% !important;
	box-sizing: border-box;
}

/* Inputs, selects, textareas */
.cf7-contact-wrap input[type="text"],
.cf7-contact-wrap input[type="email"],
.cf7-contact-wrap select,
.cf7-contact-wrap textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #d7dee8;
	border-radius: 8px;
	font-size: 15px;
	color: var(--main-blue);
	background: #fff;
	box-sizing: border-box;
}

.wpcf7-select option {
  color: var(--main-blue); /* normal color for actual choices in the dropdown */
}


.cf7-contact-wrap input::placeholder,
.cf7-contact-wrap textarea::placeholder {
	color: var(--main-blue);
	opacity: 0.55;
}

.cf7-contact-wrap select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path fill='%23062d6f' d='M7 9 0 0h14z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 16px center;
	cursor: pointer;
	height: 50px !important;
}


/* Message textarea + character counter */
.cf7-textarea-wrap {
	position: relative;
}
.cf7-contact-wrap textarea {
	min-height: 140px;
	resize: vertical;
}

.cf7-contact-wrap input:focus,
.cf7-contact-wrap select:focus,
.cf7-contact-wrap textarea:focus {
	outline: none;
	border-color: var(--main-blue);
}

/* Acceptance checkbox */
.cf7-contact-wrap .wpcf7-acceptance {
	display: block;
	margin-bottom: 20px;
}
.cf7-contact-wrap .wpcf7-list-item {
	margin: 0;
}
.cf7-contact-wrap .wpcf7-list-item-label {
	color: var(--main-blue);
	font-size: 14px;
	margin-left: 8px;
}
.cf7-contact-wrap .wpcf7-acceptance a {
	color: var(--main-blue);
	font-weight: 600;
	text-decoration: underline;
}

/* Submit button */
.cf7-contact-wrap input[type="submit"] {
	background-color: var(--main-blue) !important;
	color: #ffffff !important;
	border: none !important;
	padding: 14px 28px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: opacity 0.2s ease;
}
.cf7-contact-wrap input[type="submit"]:hover {
	opacity: 0.9;
}

/* Loader/response styling */
.cf7-contact-wrap .wpcf7-spinner {
	margin-left: 10px;
}

@media (max-width: 600px) {
	.cf7-row {
		flex-direction: column;
		gap: 16px;
	}
}