/*

Theme Name: Ad Sidebar

Theme URI: http://thetrafficexchangescript.com/

Description: A sidebar theme for LFMTE traffic exchanges - Customized for ProListEmail.com

Version: 3.0

Author: Josh Abbott

*/


@charset "utf-8";


/* ProListEmail Color Palette */
:root {
	--ple-dark-blue: #0a1a3c;
	--ple-navy: #102554;
	--ple-medium-blue: #1a3a7c;
	--ple-bright-blue: #2563eb;
	--ple-light-blue: #3b82f6;
	--ple-white: #ffffff;
	--ple-light-gray: #f0f4f8;
	--ple-text-light: #e2e8f0;
}


/* Main font settings */

body {
	font-size: 16px;
	font-weight: 400;
	color: #1a202c;
	background: linear-gradient(135deg, var(--ple-light-gray) 0%, #dde4ed 100%);
	background-attachment: fixed;
}


/* Main page structure */

.lfm_outerdiv {
	display: flex;
	width: 100%;
	align-items: stretch;
}
.main {
	width: 100%;
}



/* Site logo styles */

.lfm_menu_logo {
	max-height: 35px;
	margin: 0.5rem 1.2rem 0.3rem 1.2rem;
}


/* Styles for the top bar */

.lfm_topbar {
	background: linear-gradient(90deg, var(--ple-dark-blue) 0%, var(--ple-navy) 50%, var(--ple-medium-blue) 100%);
	color: var(--ple-white);
	margin-bottom: 0;
	border-bottom: 2px solid var(--ple-bright-blue);
}


/* Custom Header Banner */

.custom-header-banner {
	width: 100%;
	background: linear-gradient(180deg, var(--ple-dark-blue) 0%, var(--ple-navy) 100%);
	text-align: center;
	overflow: hidden;
}

.custom-header-banner img {
	max-width: 100%;
	width: 100%;
	height: auto;
	display: block;
}


/* Promo Code Announcement Bar */

.promo-announcement {
	background: linear-gradient(90deg, #f59e0b 0%, #f97316 100%);
	color: var(--ple-white);
	text-align: center;
	padding: 12px 20px;
	font-weight: 600;
	font-size: 16px;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
	border-bottom: 2px solid #ea580c;
}

.promo-announcement .promo-code {
	background: var(--ple-white);
	color: #ea580c;
	padding: 4px 12px;
	border-radius: 4px;
	font-weight: 700;
	letter-spacing: 1px;
	display: inline-block;
	margin: 0 8px;
}


/* Sidebar Banner Ads Section */

.sidebar-banners {
	background: linear-gradient(180deg, var(--ple-navy) 0%, var(--ple-dark-blue) 100%);
	padding: 15px 10px;
	margin-top: 10px;
	border-radius: 0;
}

.sidebar-banners table {
	margin: 0 auto;
}

.sidebar-banners td {
	padding: 8px 0;
}

.sidebar-banners img {
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sidebar-banners img:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(59, 130, 246, 0.5);
}


/* Styles for the slidebar navigation */

.lfm_slidebar {
	min-width: 225px;
	max-width: 225px;
	min-height: 100vh;
	transition: all 0.4s ease-in-out;
	background: linear-gradient(180deg, var(--ple-dark-blue) 0%, var(--ple-navy) 100%) !important;
}

/* Logo area in sidebar */
.lfm_slidebar > a {
	display: block;
	background: var(--ple-dark-blue);
	padding: 10px 0;
	text-align: center;
}

/* Desktop View Settings - Expand the slidebar by default */
@media (min-width: 890px) {
	.lfm_slidebar {
		margin-left: 0px;
	}
	.lfm_slidebar.toggled {
		margin-left: -225px;
	}
}

/* Mobile View Settings - Collapse the slidebar by default */
@media (max-width: 889px) {
	.lfm_slidebar {
		margin-left: -225px;
	}
	.lfm_slidebar.toggled {
		margin-left: 0px;
	}
}

.lfm_slidebar_toggleswitch {
	cursor: pointer;
	font-size: 24px;
	color: var(--ple-white);
	padding-right: 10px;
}
.lfm_slidebar_toggleswitch:hover {
	color: var(--ple-light-blue);
}

.lfm_slidebar_mainmenu {
	list-style: none;
	padding-left: 0;
	overflow: auto;
	background: var(--ple-navy);
	margin-bottom: 0;
}


/* This sets the style of the slidebar menu items */
.lfm_slidebar_mainmenu li > a {
	color: var(--ple-white) !important;
	background: linear-gradient(90deg, var(--ple-medium-blue) 0%, var(--ple-navy) 100%) !important;
	border-bottom: 1px solid var(--ple-dark-blue);
	text-decoration: none;
	display: block;
	margin: 0px;
	padding: 0.6rem 1.1rem 0.6rem 1.1rem;
	font-size: 15px;
	position: relative;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}

.lfm_slidebar_mainmenu li > a span {
	color: var(--ple-white);
}

/* This sets the colors of the slidebar menu links when you hover over them */
.lfm_slidebar_mainmenu li > a.active,
.lfm_slidebar_mainmenu li > a:hover {
	color: #fbbf24 !important;
	background: linear-gradient(90deg, var(--ple-bright-blue) 0%, var(--ple-light-blue) 100%) !important;
}

.lfm_slidebar_mainmenu li > a:hover span,
.lfm_slidebar_mainmenu li > a.active span {
	color: #fbbf24;
}



/* Styles for the footer */

.lfm_footer {
	background: linear-gradient(180deg, var(--ple-navy) 0%, var(--ple-dark-blue) 100%);
	border-top: 3px solid var(--ple-bright-blue);
}


/* Icon settings */

.far, .fas {
	margin-right:3px;
}

.feedicon {
	color:#3097D1;
	font-size:20px;
	margin-right:5px;
}


/* Profile picture sizes */

.profilepic_small {
	width:40px;
	height:40px;
}

.profilepic_med {
	width:75px;
	height:75px;
}

.profilepic_large {
	width:200px;
	height:200px;
}


/* Various styles */

.buttonlink {
	/* This class defines <a> tag links that look like buttons */
	cursor: pointer;
	background: linear-gradient(180deg, var(--ple-bright-blue) 0%, var(--ple-medium-blue) 100%);
	border-radius: 6px;
	border: 1px solid var(--ple-dark-blue);
	display: inline-block;
	cursor: pointer;
	color: var(--ple-white);
	font-family: arial;
	font-size: 18px;
	font-weight: 500;
	padding: 6px 12px;
	margin: 2px 1px 2px 1px;
	text-decoration: none;
	transition: all 0.2s ease;
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.buttonlink:hover {
	/* This controls the button links when you hover over them */
	color: var(--ple-white);
	background: linear-gradient(180deg, var(--ple-light-blue) 0%, var(--ple-bright-blue) 100%);
	text-decoration: none;
	box-shadow: 0 4px 8px rgba(59, 130, 246, 0.4);
}


.infobar {
	/* This class defines sections that span the entire page width */
	width: 100%;
	padding-top: 15px;
	padding-bottom: 15px;
	color: var(--ple-white);
	background: linear-gradient(90deg, var(--ple-navy) 0%, var(--ple-medium-blue) 100%);
}
.infobar h2 {
	color: var(--ple-white);
}


.vcenter {
	/* This is a class that can be used in Bootstrap rows to vertically center the content */
	display: flex;
	align-items: center;
}


/* The next 3 sections control various text styles used throughout the LFM Members Area */
.lfm_title {
	font-family: "Arial"; color: var(--ple-dark-blue); font-size: 32px;
}

.lfm_descr {
	font-family: "Arial"; color: #1a202c; font-size: 16px;
}

.lfm_descr_bold {
	font-family: "Arial"; color: var(--ple-dark-blue); font-size: 16px;
	font-weight: 700;
}


/* Bootstrap Button Overrides for ProListEmail Theme */

.btn-success {
	background: linear-gradient(180deg, #10b981 0%, #059669 100%);
	border-color: #047857;
	font-weight: 600;
}
.btn-success:hover {
	background: linear-gradient(180deg, #34d399 0%, #10b981 100%);
	border-color: #059669;
}

.btn-primary {
	background: linear-gradient(180deg, var(--ple-bright-blue) 0%, var(--ple-medium-blue) 100%);
	border-color: var(--ple-dark-blue);
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4);
	font-weight: 600;
}
.btn-primary:hover {
	background: linear-gradient(180deg, var(--ple-light-blue) 0%, var(--ple-bright-blue) 100%);
	border-color: var(--ple-navy);
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.5);
}

.btn-outline-primary {
	color: var(--ple-bright-blue);
	border-color: var(--ple-bright-blue);
	border-width: 2px;
	font-weight: 600;
}
.btn-outline-primary:hover {
	background: var(--ple-bright-blue);
	border-color: var(--ple-bright-blue);
	color: var(--ple-white);
}


/* Card Styles */

.card {
	border: none;
	box-shadow: 0 4px 12px rgba(10, 26, 60, 0.1);
	border-radius: 8px;
}

.card-header {
	background: linear-gradient(90deg, var(--ple-navy) 0%, var(--ple-medium-blue) 100%);
	color: var(--ple-white);
	border-radius: 8px 8px 0 0 !important;
}


/* Content area styling */

.content {
	background-color: transparent;
}

.container-fluid {
	padding: 15px 20px;
}


/* Mobile responsive adjustments */

@media (max-width: 576px) {
	.promo-announcement {
		font-size: 14px;
		padding: 10px 15px;
	}
	.promo-announcement .promo-code {
		display: block;
		margin: 8px auto;
		width: fit-content;
	}
	.custom-header-banner img {
		min-height: 120px;
		object-fit: cover;
		object-position: center;
	}
}