/*

Theme Name: Farm Traffic Theme

Theme URI: http://thetrafficexchangescript.com/

Description: A custom farm-themed design for Farm Traffic LFMTE exchange.

Version: 1.0

Author: Customized for Farm Traffic

*/


@charset "utf-8";


/* Main font settings */

body {
	font-size: 16px;
	font-weight: 400;
	color: #2c1810;
	background: linear-gradient(to bottom, #87CEEB 0%, #B8E6F5 20%, #98FB98 30%, #7CB342 100%);
	background-attachment: fixed;
	min-height: 100vh;
	position: relative;
}

body:before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(ellipse at top, transparent 0%, rgba(255,255,255,0.1) 100%);
	pointer-events: none;
	z-index: 0;
}


/* Main styles for the top level of the main menu */

.lfm_menu_bar {
	background: 
		url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><rect width="200" height="200" fill="%234a2c17"/><rect x="0" y="0" width="100" height="100" fill="%235a3c27" opacity="0.5"/><rect x="100" y="100" width="100" height="100" fill="%235a3c27" opacity="0.5"/></svg>'),
		linear-gradient(to bottom, rgba(74,44,23,0.95) 0%, rgba(107,68,35,0.95) 100%);
	background-size: 200px 200px, 100% 100%;
	border-bottom: 3px solid #3a1c0c;
	box-shadow: 0 2px 10px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.1);
	padding: 0 0 45px;
	margin-bottom: 20px;
	position: relative;
}

@media (max-width: 991.98px) {
	/* Mobile view settings for the top level navigation */
	.lfm_menu_bar {
		padding-bottom: 0;
		margin-bottom: 20px;
	}
}


/* Site logo styles */

.lfm_menu_logo {
	max-height: 35px;
}
@media (min-width: 992px) {
	.lfm_menu_logo {
		margin-right: 20px;
	}
}


.lfm_menu_bar .navbar-nav > .nav-item > .nav-link {
	/* Sets the navigation tabs for the top level */
	font-size: 15px;
	color: #FFFFFF;
	font-weight: 500;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.lfm_menu_bar .navbar-nav > .nav-item.lfm_tab_opened > .nav-link {
	/* Changes the colors when a tab is opened */
	color: #3a1c0c;
	background: linear-gradient(to bottom, #f4e4bc 0%, #e8d4a2 100%);
	border: 2px solid #8b5a2b;
	text-shadow: none;
}

.lfm_menu_bar .navbar-nav > .nav-item > .nav-link:hover {
	/* Hover style when a tab is not opened */
	background-color: rgba(139, 90, 43, 0.3);
}

.lfm_menu_bar .navbar-nav > .nav-item.lfm_tab_opened > .nav-link:hover {
	/* Hover style when a tab is opened */
	background: linear-gradient(to bottom, #f4e4bc 0%, #e8d4a2 100%);
}

@media (min-width: 992px) {
	/* Desktop view settings for the top level navigation tabs */
	.lfm_menu_bar .navbar-nav > .nav-item > .nav-link {
		margin: 0px 3px;
		padding: 6px 15px;
		border: 1px solid rgba(255,255,255,0);
		border-radius: 5px;
		position: relative;
	}
	
	.lfm_menu_bar .navbar-nav > .nav-item.lfm_tab_opened > .nav-link,
	.lfm_menu_bar .navbar-nav > .nav-item > .nav-link:hover {
		border: 2px solid #8b5a2b;
	}
	
	.lfm_menu_bar .navbar-nav > .nav-item.lfm_tab_opened > .nav-link:after {
		/* Fills in the gap between an opened tab and the bottom of the bar */
		content: "";
		background: linear-gradient(to bottom, #f4e4bc 0%, #e8d4a2 100%);
		width: calc(100% + 4px);
		height: 14px;
		position: absolute;
		bottom: -10px;
		left: -2px;
		border: 2px solid #8b5a2b;
		border-top: none;
	}
}

@media (max-width: 991.98px) {
	/* Mobile view settings for the top level navigation tabs */
	.lfm_menu_bar .navbar-nav > .nav-item > .nav-link {
		padding: 8px 15px;
		text-align: left;
	}
	
	.lfm_menu_bar .navbar-nav > .nav-item.lfm_tab_closed > .nav-link {
		/* Returns to the original colors when a tab is closed in mobile */
		color: #FFFFFF;
		background: linear-gradient(to bottom, #4a2c17 0%, #6b4423 100%);
	}
	
	.lfm_menu_bar .navbar-nav > .nav-item.lfm_tab_closed > .nav-link:hover {
		/* Returns to the original hover effect when closed in mobile  */
		color: #FFFFFF;
		background-color: rgba(139, 90, 43, 0.3);
	}
	
	/* Adds an arrow in mobile view */
	.lfm_menu_bar .navbar-nav > .nav-item > .nav-link:after {
		content: "";
		border-top: 0.3em solid;
		border-right: 0.3em solid transparent;
		border-bottom: 0;
		border-left: 0.3em solid transparent;
		color: #FFFFFF;
		transform: rotate(-90deg);
		position: absolute;
		right: 1.25rem;
		transition: all 0.1s ease-out;
	}
	.lfm_menu_bar .navbar-nav > .nav-item.lfm_tab_opened > .nav-link:after {
		color: #3a1c0c;
		transform: rotate(0deg);
	}
	.lfm_menu_bar .navbar-nav > .nav-item.lfm_tab_closed > .nav-link:after {
		color: #FFFFFF;
		transform: rotate(-90deg);
	}
}


/* Main styles for the second level of the main menu */

.lfm_menu_tab {
	background: linear-gradient(to bottom, #f4e4bc 0%, #e8d4a2 100%);
	border: 2px solid #8b5a2b;
	border-top: none;
	box-shadow: 0 4px 6px rgba(0,0,0,0.2);
	position: absolute;
	display: none;
	left: 0;
	top: 100%;
	z-index: 999;
	width: 100%;
}

li.lfm_tab_opened .lfm_menu_tab {
	display: flex;
}

@media (max-width: 991.98px) {
	/* Mobile view settings for the second level navigation */
	.lfm_menu_tab {
		background: linear-gradient(to bottom, #f4e4bc 0%, #e8d4a2 100%);
		position: relative;
		flex-direction: column;
		top: 0;
		padding: 5px 0;
	}
	li.lfm_tab_closed .lfm_menu_tab {
		display: none;
	}
}


.lfm_menu_tab > li > a {
	/* Sets the navigation links for the second level */
	font-size: 15px;
	padding: 0 20px;
	line-height: 45px;
	color: #3a1c0c;
	font-weight: 500;
	text-decoration: none;
	display: block;
}
.lfm_menu_tab > li > a:hover {
	color: #6b4423;
	background-color: rgba(139, 90, 43, 0.1);
}

.lfm_menu_tab .dropdown-menu {
	background: #f9f2e4;
	border: 1px solid #8b5a2b;
}

.lfm_menu_tab .dropdown-menu a {
	/* Sets the navigation links for the third level */
	font-size: 15px;
	padding: 0 20px;
	line-height: 32px;
	color: #3a1c0c;
	text-decoration: none;
	white-space: nowrap;
	display: block;
}
.lfm_menu_tab .dropdown-menu li:hover {
	background-color: rgba(139, 90, 43, 0.15);
}

@media (max-width: 991.98px) {
	/* Mobile view settings for the second level navigation links */
	.lfm_menu_tab > li > a {
		padding-left: 40px;
		line-height: 36px;
		width: 100%;
	}
	
	/* Mobile view settings for the third level navigation links */
	.lfm_menu_tab .dropdown-menu a {
		padding-left: 50px;
	}
}


/* Styles for the footer */

.lfm_footer {
	background: linear-gradient(to bottom, #3a1c0c 0%, #2c1810 100%);
	border-top: 3px solid #8b5a2b;
	box-shadow: 0 -2px 10px rgba(0,0,0,0.3);
}


/* 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(to bottom, #7cb342 0%, #689f38 100%);
	border-radius:4px;
	border:2px solid #558b2f;
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
	display:inline-block;
	cursor:pointer;
	color:#FFFFFF;
	font-family:arial;
	font-size:18px;
	font-weight:600;
	padding:6px 12px;
	margin:2px 1px 2px 1px;
	text-decoration:none;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}
.buttonlink:hover {
	/* This controls the button links when you hover over them */
	color:#FFFFFF;
	background: linear-gradient(to bottom, #8bc34a 0%, #7cb342 100%);
	text-decoration:none;
	transform: translateY(-1px);
	box-shadow: 0 3px 6px rgba(0,0,0,0.3);
}


.infobar {
	/* This class defines sections that span the entire page width */
	width:100%;
	padding-top: 15px;
	padding-bottom: 15px;
	color:#FFFFFF;
	background-color:#555555;
}
.infobar h2 {
	color:#FFFFFF;
}


.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 Black", Arial, sans-serif; 
	color:#3a1c0c; 
	font-size:32px;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
}

.lfm_descr {
	font-family: "Arial"; color:#2c1810; font-size:16px;
}

.lfm_descr_bold {
	font-family: "Arial"; color:#3a1c0c; font-size:16px;
	font-weight:700;
}

/* Farm Traffic Custom Styles */

/* Content container styling */
.container {
	background: rgba(255, 255, 255, 0.95);
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.2);
	border: 2px solid #8b5a2b;
	padding: 20px 20px 10px 20px;
}

/* Card styling for content blocks */
.card {
	background: linear-gradient(to bottom, #fefcf7 0%, #f4e4bc 100%);
	border: 2px solid #8b5a2b;
	border-radius: 8px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
	overflow: hidden;
}

.card-header {
	background: linear-gradient(to bottom, #6b4423 0%, #4a2c17 100%);
	color: #FFFFFF;
	font-weight: bold;
	border-bottom: 2px solid #3a1c0c;
	padding: 12px 15px;
}

.card-body {
	padding: 20px 20px 10px 20px;
}

/* Table styling */
.table {
	background: rgba(255, 255, 255, 0.9);
}

.table thead {
	background: linear-gradient(to bottom, #8b5a2b 0%, #6b4423 100%);
	color: #FFFFFF;
}

.table thead th {
	border-color: #3a1c0c;
	font-weight: 600;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}

.table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(244, 228, 188, 0.3);
}

/* Button styles */
.btn-primary {
	background: linear-gradient(to bottom, #7cb342 0%, #689f38 100%);
	border: 2px solid #558b2f;
	font-weight: 600;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}

.btn-primary:hover {
	background: linear-gradient(to bottom, #8bc34a 0%, #7cb342 100%);
	border-color: #558b2f;
	transform: translateY(-1px);
	box-shadow: 0 3px 6px rgba(0,0,0,0.3);
}

.btn-secondary {
	background: linear-gradient(to bottom, #8b5a2b 0%, #6b4423 100%);
	border: 2px solid #3a1c0c;
	color: #FFFFFF;
	font-weight: 600;
}

.btn-secondary:hover {
	background: linear-gradient(to bottom, #9b6a3b 0%, #7b5433 100%);
	border-color: #3a1c0c;
	transform: translateY(-1px);
}

.btn-success {
	background: linear-gradient(to bottom, #66bb6a 0%, #4caf50 100%);
	border: 2px solid #388e3c;
	font-weight: 600;
}

.btn-danger {
	background: linear-gradient(to bottom, #ef5350 0%, #e53935 100%);
	border: 2px solid #c62828;
	font-weight: 600;
}

/* Form styles */
.form-control {
	border: 2px solid #8b5a2b;
	background-color: #fefcf7;
}

.form-control:focus {
	border-color: #7cb342;
	box-shadow: 0 0 0 0.2rem rgba(124, 179, 66, 0.25);
	background-color: #FFFFFF;
}

/* Alert styles */
.alert-info {
	background: linear-gradient(to bottom, #e3f2fd 0%, #bbdefb 100%);
	border: 2px solid #1976d2;
	color: #0d47a1;
}

.alert-success {
	background: linear-gradient(to bottom, #e8f5e9 0%, #c8e6c9 100%);
	border: 2px solid #388e3c;
	color: #1b5e20;
}

.alert-warning {
	background: linear-gradient(to bottom, #fff3e0 0%, #ffe0b2 100%);
	border: 2px solid #f57c00;
	color: #e65100;
}

.alert-danger {
	background: linear-gradient(to bottom, #ffebee 0%, #ffcdd2 100%);
	border: 2px solid #d32f2f;
	color: #b71c1c;
}

/* Badge styles */
.badge-primary {
	background: linear-gradient(to bottom, #7cb342 0%, #689f38 100%);
}

.badge-secondary {
	background: linear-gradient(to bottom, #8b5a2b 0%, #6b4423 100%);
}

/* Farm-themed decorative elements */
.page-header {
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 3px solid #8b5a2b;
}

.page-header:after {
	content: "🌾";
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	background: #FFFFFF;
	padding: 0 10px;
	font-size: 24px;
}

/* Farm Header Banner Styles */
.farm-header-banner {
	position: relative;
	width: 100%;
	overflow: hidden;
	margin-bottom: -20px;
}

.farm-sky {
	background: linear-gradient(to bottom, #4A90E2 0%, #87CEEB 40%, #ADD8E6 100%);
	padding: 30px 0 20px;
	position: relative;
	overflow: hidden;
	box-shadow: inset 0 -20px 40px -20px rgba(0,0,0,0.1);
}

.farm-clouds {
	position: absolute;
	width: 200%;
	height: 100%;
	top: 0;
	left: 0;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 200"><g opacity="0.6"><ellipse cx="200" cy="80" rx="60" ry="30" fill="white"/><ellipse cx="250" cy="80" rx="70" ry="35" fill="white"/><ellipse cx="300" cy="80" rx="50" ry="25" fill="white"/></g><g opacity="0.4"><ellipse cx="600" cy="50" rx="45" ry="20" fill="white"/><ellipse cx="650" cy="50" rx="55" ry="25" fill="white"/></g><g opacity="0.5"><ellipse cx="900" cy="90" rx="65" ry="30" fill="white"/><ellipse cx="960" cy="90" rx="55" ry="25" fill="white"/></g></svg>') repeat-x;
	animation: float-clouds 40s infinite linear;
}

.farm-sun {
	position: absolute;
	top: 20px;
	right: 10%;
	width: 60px;
	height: 60px;
	background: radial-gradient(circle, #FFD700 0%, #FFA500 100%);
	border-radius: 50%;
	box-shadow: 0 0 40px #FFD700;
	animation: sun-glow 3s ease-in-out infinite;
}

@keyframes sun-glow {
	0%, 100% { box-shadow: 0 0 40px #FFD700; }
	50% { box-shadow: 0 0 60px #FFA500; }
}

@keyframes float-clouds {
	from { transform: translateX(0); }
	to { transform: translateX(-1200px); }
}

.farm-header-content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 20px 20px 10px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.farm-logo-main {
	display: inline-block;
	position: relative;
	max-width: 100%;
	width: 100%;
}

.farm-header-image {
	max-width: 800px;
	width: 100%;
	height: auto;
	filter: drop-shadow(4px 4px 10px rgba(0,0,0,0.4));
	animation: header-float 4s ease-in-out infinite;
	display: block;
	margin: 0 auto;
}

@keyframes header-float {
	0%, 100% { transform: translateY(0) scale(1); }
	50% { transform: translateY(-5px) scale(1); }
}

/* Removed old title and animal styles as they're now part of the header image */

/* Removed tagline styles as it's no longer in the header */

.farm-hills {
	height: 80px;
	background: linear-gradient(to bottom, #7CB342 0%, #558B2F 50%, #2E7D32 100%);
	position: relative;
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	margin-top: -40px;
	box-shadow: inset 0 -10px 20px rgba(0,0,0,0.2);
}

.farm-hills:before {
	content: "";
	position: absolute;
	width: 130%;
	height: 100%;
	background: linear-gradient(to bottom, #8BC34A 0%, #689F38 100%);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	left: -15%;
	top: 30px;
	z-index: -1;
	box-shadow: inset 0 -5px 15px rgba(0,0,0,0.1);
}

.farm-fence {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 30px;
	background: repeating-linear-gradient(
		90deg,
		transparent,
		transparent 20px,
		#6B4423 20px,
		#6B4423 25px
	);
	opacity: 0.6;
}

@media (max-width: 768px) {
	.farm-header-image {
		max-width: 100%;
		padding: 0 10px;
	}
	
	.farm-sky {
		padding: 20px 0 15px;
	}
	
	.farm-header-content {
		padding: 15px 10px;
	}
}

/* Farm Footer Styles */
.farm-footer-fence {
	height: 20px;
	background: repeating-linear-gradient(
		90deg,
		#8b5a2b,
		#8b5a2b 10px,
		#6b4423 10px,
		#6b4423 20px
	);
	border-top: 3px solid #3a1c0c;
	margin-bottom: 20px;
}

.farm-footer-title {
	font-family: "Arial Black", sans-serif;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.farm-footer-heading {
	font-weight: bold;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

.farm-footer-text {
	font-style: italic;
	opacity: 0.9;
}

.farm-footer-links a {
	text-decoration: none;
	transition: all 0.3s ease;
	display: inline-block;
}

.farm-footer-links a:hover {
	color: #7cb342 !important;
	transform: translateX(5px);
}

.farm-footer-links i {
	margin-right: 8px;
	color: #7cb342;
}

.farm-social-btn {
	background: linear-gradient(to bottom, #7cb342 0%, #689f38 100%);
	border: 2px solid #558b2f;
	color: #FFFFFF;
	width: 45px;
	height: 45px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	margin-right: 10px;
	transition: all 0.3s ease;
}

.farm-social-btn:hover {
	background: linear-gradient(to bottom, #8bc34a 0%, #7cb342 100%);
	transform: translateY(-3px) rotate(10deg);
	box-shadow: 0 5px 10px rgba(0,0,0,0.3);
	color: #FFFFFF;
}

.farm-social-btn i {
	font-size: 18px;
}

.farm-footer-divider {
	border-color: rgba(139, 90, 43, 0.5);
	margin: 30px 0;
}

.farm-footer-motto {
	font-size: 18px;
	font-weight: 600;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.farm-footer-motto em {
	display: block;
	margin-top: 10px;
	font-size: 16px;
	color: #7cb342;
}

.farm-icon {
	display: inline-block;
	animation: icon-wiggle 2s ease-in-out infinite;
}

.farm-icon-large {
	font-size: 32px;
	margin: 0 10px;
	display: inline-block;
	animation: icon-bounce 3s ease-in-out infinite;
}

.farm-icon-large:nth-child(2) {
	animation-delay: 1s;
}

.farm-icon-large:nth-child(3) {
	animation-delay: 2s;
}

@keyframes icon-wiggle {
	0%, 100% { transform: rotate(0deg); }
	25% { transform: rotate(-10deg); }
	75% { transform: rotate(10deg); }
}

@keyframes icon-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

/* Mobile Navigation Brand */
.navbar-brand-mobile {
	font-size: 20px;
	font-weight: bold;
	color: #FFFFFF;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}