/* General Styles
================================================================== */

/* Award Badge Responsive Sizing */
.award-badge-container {
    display: inline-block;
    width: 100%;
}

/* Mobile: Full width (default) */
.award-badge-container svg {
    width: 100%;
    height: auto;
}

/* Desktop: Half width */
@media (min-width: 768px) {
    .award-badge-container {
        width: 50%;
    }
}

/* Significance Visual Indicators */
.significance-indicator {
    vertical-align: middle;
    margin-left: 0.5rem;
}

.circles-indicator {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.circles-indicator .fa-circle,
.circles-indicator .fa-circle-o {
    font-size: 0.6em;
}

.significance-progress {
    background-color: #e9ecef;
    border-radius: 2px;
    overflow: hidden;
}

.significance-progress .progress-bar {
    transition: width 0.3s ease;
}

body {
	margin: 0;
	padding: 0;
	color: #2a2a2a;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 14px;
}

h1 {
	font-size: 1.8em;
	font-weight: bold;
	border-bottom: 1px dotted #e1e1e1;
	/* margin: 16px 0pt 6px; */
	line-height: 1.4em;
}

h2 {
	font-size: 1.55em;
	font-weight: bold;
	line-height:1.4em;
}

h3 {
	font-size: 1.25em;
	margin: 8px 0pt 3px;
	font-weight: bold;
}

h4 {
	font-size: 1.1em;
	font-weight: bold;
}

p {
	
}

code, pre {
	font-size: 1.1em;
}

input,select,button {
	vertical-align: middle;
}

input,select {
	border: 1px solid #333;
}

img {
    max-width: 100%;
}



label i {
	font-size: 0.8em;
}

label.error { 
	float: right; color: red; font-weight: bold; border: 2px solid red; vertical-align: top;
}

#box-link { 
	position: absolute; 
	top: 92px; 
	width: 100%; 
	height: 80px; 
	left: 0;
	background-color: transparent; 
}

#box-link2 { 
	position: absolute; 
	top: 173px;
	left:50%;
	width: 210px; 
	height: 918px;
	margin-left: -700px;
	background-color: transparent; 
}

#box-link3 { 
	position: absolute; 
	top:0;
	left:50%;
	width: 210px;
	height: 918px;
	margin-left: 488px;
	margin-top: 173px;
	background-color: transparent; 
}

#rightbanner {
	position:absolute;
	top:0;
	left:50%;
	margin-left: 495px;
	margin-top: 98px;
}

.clear {
	clear:both;
}

a:link, a:visited{
	color: #003366;
	text-decoration: none;
}

a:hover{
	color: #003366;
	text-decoration: underline;
}

a.img, a.img, a.img {
	border: 0 none;
}

.tr-logo {
		margin-top: 12px;
}


/* Layout
==================================================================*/

#nav{
	height: 30px;
}

.breadcrumb {
	margin: 0px;
	background-color: #FFFFFF;
	padding: 8px 1px;
}

#whitebg{
	background: #fff;
	margin-top: 130px; /* Wrap 76px - Non Wrap 2px */
	border-color:#B7B7B7;
	border-style:solid;
	border-width: 1px 1px;
	border-radius: 5px;
}

#container {
	margin-top: 10px;
	padding: 0 10px 0 10px;
	line-height: 1.6em;
}

.left-content{
	padding: 0 10px 0 5px;
	line-height: 1.6em;
	background: #fff;
}

.leaderboard-top {
	margin-left: -15px;
	display:flex;
	justify-content:center;
	align-items:center;
	height:90px;
}

.leaderboard-top img {
	max-width:100%;
}

.right-column, .left-content {
	padding: 10px;
}

.right-column h2 {
	border-bottom: 1px dotted #e1e1e1;
	line-height: 1.1em;
}

.review-content {
	padding: 5px 10px 0 5px;
}

.review-content tr {
	line-height: 2.6em;
}

#tyrereview_tab {
	position: fixed;
	right: 0;
	top: 200px;
	display: block;
	width: 28px;
	height: 131px;
	text-indent: -10000px;
	background-image: url(/images/tyrereviewtab.gif);
	overflow: hidden;
}

.grid {
	width: 100%;
	
}

.grid th {
	border-bottom: 1px solid #999999;
	align: center;
	padding: 5px;
}

.grid td {
	border-bottom: 1px solid #dddddd;
	padding: 5px;
}




/* HEADER
==================================================================*/

.page-header {
	background:#000;
	margin:0;
	padding:0;
	border:none;
	height:95px;
}

.page-header .container {
	/*max-width:974px;*/
}

.form-group {
	margin-top:15px;
	display:block;
	width:500px;
}

#ajaxsearch {
	max-width:345px;
}

.form-control {
	display:inline-block;
	width:auto;
	border-radius:0px;
}

.navbar {
	color: white;
}


.navbar-brand:link, .navbar-brand:visited {
	color: white;
	text-decoration: none;
}

a.nav-link:link, a.nav-link:visited {
    color: white;
    text-decoration: none;
}

a.nav-link:hover {
	color: #A3A3A3;
}

.dropdown-item {
	font-size: smaller;
}

.row {
    margin-right: 0px;
}



/* review page styling
==================================================================*/

#reviewheader {
	clear: both;
}

#tyrecontainer, #tirecontainer {
	border-top: 1px dotted #DFDFDF;
}

#textcontainer{
	clear: both;
}

.tyresizebox, .tiresizebox {
    width: 150px;
    float: left;
    margin-right: 5px;
}

/* FRONTPAGE
==================================================================*/

.fppost {
	padding-bottom: 1px;
}

.date {
	float:right;
	margin:-1px 0;
	color:#666;
	padding:0 0 0px 0;
	border-bottom: 1px dotted #e3e3e3;
}

.date em {
	font-style:normal;
	color:#666;
}

.date em.postdate {
	background:url(images/date.gif) no-repeat left top;
	padding-left:17px;
}

.fpfooter {
	background: url(/images/a33.gif) repeat-x bottom;	
}

.fpfooter ul {
	list-style: none;
	text-align:right;
	padding:10px 0;	
}

.fpfooter ul li {
	display: inline;
	background-repeat: no-repeat;
	background-position: 0 2px;
	padding:3px 0 3px 15px;
}

.fpfooter ul li.comments {
	background-image: url(/images/a36.gif);
}

.fpfooter ul li.readmore {
	background-image: url(/images/a38.gif);
}

.articleimage {
	border: 1px solid #CCCCCC; 
	padding:5px; 
	margin: 3px;
	align: right;
}


/* MAINCONTENT
==================================================================*/

.container {
	position:relative;
	max-width: 1240px;
}

/* AD Wrap Links */
.clickmap {
	position:relative;
	width:auto;
	overflow:visible;
	z-index:0;
}
.clickmap-left, .clickmap-right {
	margin-top: -50px;
	position:absolute;
	top:0;
	z-index:1;
}
.clickmap-left {
	left:0;
}
.clickmap-right {
	right:0
}
#clickmap-left-link, #clickmap-right-link {
	display:block;
	width:250px;
	height:1000px;
	overflow:hidden;
}

#clickmap-center-link {
	margin-top: -50px;
	border:none;
	display:block;
	height:76px;
	left:0;
	outline: 0;
	position:absolute;
	top:0;
	width:100%;
}
/* END - AD Wrap Links */

.thumbnail{
	float: left;
	padding: 5px;
	margin-right: 5px;
	border: 1px solid #ECECEC;
}

.imgborder {
	border: 1px solid #DFDFDF;
	float: right;
	clear: both;
}

.commentbox {
	background-color: #ececec;
	max-width: 640px;
	padding: 10px;
}

.commentfooter {
	padding-top: 5px;
	font-size: 90%;
	font-style: italic;
}

.tyretitle, .tiretitle {
	padding-bottom: 4px;
	margin-bottom: 4px;
	border-bottom: 1px dotted #DFDFDF;
	font-style: italic;
	font-size: 90%;
}

.encouragement {
	border-top: 1px dotted #DFDFDF;
	font-size: 90%;
	font-style: italic;
}

#ajaxsearcharea {
	float:left;
	background: url(/images/form-search.gif) no-repeat scroll 0 0;
	height:25px;
	margin-top: 25px;
}

.ajaxsearchbox {
	border:medium none;
	margin-right:4px;
	padding:3px 5px;
	width:345px;
}

#grouptestresult {
	clear: both;
	margin-top: 15px;
	padding: 2px;
	max-width: 644px;
}
#grouptestresult h3 {
	margin: 0 0 2px 0;
	font-size: 0.8em;
}
#grouptestresult ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	border-top: 1px solid #bbb;
}
#grouptestresult ul li {
	line-height: 16px;
	border-bottom: 1px solid #bbb;
	font-size: 0.8em;
}
#grouptestresult li a {
	text-decoration: none;
}
#grouptestresult ul li a:hover {
	background: #eee;
}

.btn {
  color: #ffffff;
  background: #337ab7;
}
.btn:hover {
  background: #3cb0fd;
  text-decoration: none;
}
.btn:visited, .btn:link {
  color: #ffffff;
  text-decoration: none;
}

/*.btn {
  color: #ffffff;
  background: #337ab7;
  padding: 4px 7px 4px 8px;
  text-decoration: none;
  font-weight: normal;
  font-size: 12px;
  max-width: 100%;
}*/

.searchbtn {
  text-decoration: none;
  font-weight: normal;
  border-radius: 0px;
}

.searchbtn:hover {
  text-decoration: none;
}

.progress {
	margin-bottom: 10px;
	background-color: #AFDCED;
}

.progress-bar {
	text-align: left;
	padding-left: 5px;
}


.tab-content {
	margin-top: 6px;
}


/* For the /TYRE section 
==================================================================*/

.brand-grid h3 {
	font-weight: bold;
}

.brand-grid ul {
	padding: 0pt 0pt 7px 3px;
	list-style-type: none;
}




/* RIGHT HAND LINKS
==================================================================*/

#links {
	padding: 13px 10px 0 0;
	line-height: 1.4em;
	background: #FFFFFF;
    font-size: 0.9em;
}



#links img {
	margin: 5px 0 5px 0;
}

#links h2 {
	display:block;
	margin:16px 0pt 6px;
	padding:0pt 0pt 7px 3px;
	font-weight:bold;
}

#links ul {
	padding: 0pt 0pt 7px 3px;
	list-style-type: none;
}


#previouspage {
	float:left;
	font-size: 1.6em;
	font-weight: bold;
}
#nextpage {
	float:right;
	font-size: 1.6em;
	font-weight: bold;
}


/* ARTICLE/LONGTERM PAGE
==================================================================*/

.article-footer {
	margin-top: 10px;
	background: #eee;
}

.longtermreview h4 {
	width: 535px;
	border-bottom: 1px solid #DFDFDF;
}

.articlethumb {
	float: right;
	padding: 2px;
	margin: 4px;
	font-size: 80%;
	color: black;
	border: 1px solid #DFDFDF;
	text-align: center;
	max-width: 160px;
}

.longtermborder {
	float: right;
	padding: 2px;
	margin: 4px;
	font-size: 90%;
	border: 1px dotted #DFDFDF;
	text-align: center;
}

#resulttable {
	width:100%;
	border-collapse:collapse;
}
#resulttable td {
	font-size: 1em;
	border-bottom:1px solid #CCC;
	padding:3px 7px 2px 7px;
	line-height: 2em;
}

#resulttable th {
	font-size: 1.2em;
        font-weight: bold;
	border-bottom:1px solid #BBB;
	padding:3px 7px 2px 7px;
	line-height: 2em;
}

#resulttable tr.alt td {
	color:#000000;
	background-color:#EEE;
}
#resulttable td.top {
	font-weight: bold;
}

#resulttable td.head {
	font-weight: bold;
}

#resulttable td.comment {
	font-style: italic;
	font-size: 0.8em
}

.tgfooter {
	background: url(/images/a33.gif) repeat-x bottom;
	font-weight: bold;
	text-align: center;
	margin-top: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.article a {
	font-weight: bold;
}

.article-contents {
	float:right;
	margin-left: 5px;
	padding: 3px;
	background: #ddd;
	border: 1px solid #555;
}

.article-contents ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	border-top: 1px solid #555;
}

.article-contents ul li {
	line-height: 26px;
}
.article-contents ul li a {
	display: block;
	padding: 0 10px;
	text-decoration: none;
}
.article-contents ul li a:hover {
	background: #bbb;
}
.article-quote {
	float:right; 
	background-color: #eee; 
	border: 1px dashed #ddd; 
	width: 200px; 
	font-weight: bold; 
	color: black; 
	font-size: 1.1em; 
	margin: 5px; 
	padding: 12px;
}
#youtube {
	position:relative;
	height:0;
	margin-top: 5px;
	margin-bottom: 85px;
	padding-bottom: 56.25%;
	padding-top:1px;
	clear:both;
}
#youtube-article {
	position:relative;
	height:0;
	margin-top: 5px;
	margin-bottom: 5px;
	padding-bottom: 56.25%;
	padding-top:1px;
	clear:both;
}
#youtube iframe {
	position:absolute;
	height:100%!important;
	width:100%!important;
	left:0;
}
#youtube-article iframe {
	position:absolute;
	height:100%!important;
	width:100%!important;
	left:0;
}

.summary-table {
	font-size: 0.8em;
	background-color: #eee;
	border: 1px solid #ccc;
	margin: 2px;
}

.Summer-title {
	background-color: #f7f0ce;
	padding: 8px;
	margin-left: -8px;
}

.All-Season-title {
	background-color: #b5b5b5;
	padding: 8px;
	margin-left: -8px;
}

.Winter-title {
	background-color: #c6e8fa;
	padding: 8px;
	margin-left: -8px;
}

.All-Weather-title {
	background-color: #dbdbdb;
	padding: 8px;
	margin-left: -8px;
}

.test-positive {
    clear:both;
    background: #c4ffc3;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #CCC;
}
.test-negative {
    clear:both;
    background: #ffd2f1;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #CCC;
}
.test-overall {
    clear:both;
    background: #f5f5f5;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #CCC;
}
.test-other {
    clear:both;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #CCC;
}

.article img {
	display: block;
    max-width: 100%;
    height: auto;
	border: 1px solid var(--bs-border-color);
	border-radius: 8px;
	padding: 0px; /* disabling the bootstrap 0.25rem padding for the border */
	
}    


/* FOOTER 
==================================================================*/

.footer-container {
	/*max-width:974px;*/
	padding:0;
}
#footer {
	clear: both;
	float: none;
	height: 100%;
	margin: 0;
	padding: 0;
	background: #292929;
	/* border-top: 20px solid #fff; */
	font-size: 0.9em;
	text-align: left;
	color: #fff;
}
#footer .row {
	margin:0;
}
#footer .col-sm-4 {
	padding:20px 0 20px 20px;
}
#footer h2 {
	margin: 0 0 10px 0;
	padding: 0 8px;
	font-size: 16px;
	color: #fff;
}
#footer h2 span {
	color: #fff;
	font-style: italic;
}
#footer ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	border-top: 1px solid #555;
}
#footer ul li {
	line-height: 26px;
	border-bottom: 1px solid #555;
}
#footer ul li a {
	display: block;
	padding: 0 10px;
	color: #fff;
	text-decoration: none;
}
#footer ul li a:hover {
	background: #191919;
}

/* tyre searcher stuff */

/* TYRE PAGE
==================================================================*/

#tyreresults, #tireresults {
	width:100%;
	border-collapse:collapse;
}
#tyreresults td, #tireresults td, #tyreresults th, #tireresults th {
	border-bottom:1px solid #CCC;
	padding:3px 7px 2px 7px;
}
#tyreresults th, #tireresults th {
	text-align:left;
	padding-top:5px;
	padding-bottom:4px;
	background-color:#666;
	color:#ffffff;
}
#tyreresults tr.alt td, #tireresults tr.alt td {
	color:#000000;
	background-color:#EEE;
}
#tyreresults td.price, #tireresults td.price {
	font-size: 1.3em;
	font-weight: bold;
}

.tyretyrebox, .tiretirebox {
    width: 150px;
    float: left;
    margin-right: 5px;
}

/* price stuff */

.price-size-link {
	font-size: 1.2em;
	font-weight: bold;	
}

.price-range {
	font-size: 1.1em;
	font-weight: bold;
}

.data-breadcrumb {
    font-size: 0.9em;
    list-style-type: none;
}



/* RESPONSIVE CORRECTIONS xxx
==================================================================*/

@media screen and (min-width: 1460px) {

	#clickmap-left-link, #clickmap-right-link {
		width:1000px;
	}

}

@media screen and (max-width:991px) {
	
	.form-group {
		width:auto!important;
	}
	.left-content, .right-column {
		width:100%;
		float:left!important;
		padding: 5px;
	}

	#links {
		width:100%!important;
		padding: 5px;
	}

	.navbar-nav {
		max-height: 75vh; /* You can adjust the height */
		overflow-y: auto;
	  }
}


@media screen and (max-width:768px) {
	
	#whitebg {
		margin-top: 35%; /* WRAP ONLY */
	}
	
	/* Responsive AD Wrap Links (Mobile) */
	.clickmap-left, .clickmap-right {
		display:none;
	}
	
	input {
		/*width:50%!important; this broke the search button on the template, not sure why */
		max-width:none;
	}
	.page-header {
		height:auto;
	}
	.form-group {
		width:100%;
		text-align:center;
	}
	.navbar-default .navbar-toggle .icon-bar {
		background-color:#fff;
	}
	.navbar {
		width:100%;
	}
	.navbar-nav {
		top:0;
	}
	.navbar-nav li {
		border-right:none;
		width:100%;
	}
	.navbar-collapse {
		margin-top:9px;
		margin-bottom:15px;
		box-shadow:none;
               
	}
	.collapse.navbar-collapse .collapse-in, .collapsing {
		padding:0;
	}
        
	.navbarsearch-default .navbarsearch-toggle .icon-bar {
		background-color:#fff;
	}
	.navbarsearch {
		
	}
	.navbarsearch-nav {
		top:0;
	}
	.navbarsearch-nav li {
		border-right:none;
		width:100%;
	}
	.navbarsearch-collapse {
		margin-top:9px;
		margin-bottom:15px;
		box-shadow:none;
                display:none;
	}
	.collapse.navbarsearch-collapse .collapse-in, .collapsing {
		padding:0;
	}
        
	.logo {
		float:none!important;
		margin:0 auto;
	}
	
	.tr-logo {
		margin-top: 0px;
	}
	
	.leaderboard-top {
		margin-left: -15px;
		display:flex;
		justify-content:center;
		align-items:center;
		height:60px;
	}
	
	#tyrefinder td, #tirefinder td {
		padding: 10px;
	}
	
	li {
		padding: 10px;
	}
	
}

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

	.brand-page > div, .brand-page > h1 {
		float:left!important;
		width:100%!important;
	}

}
	
@media screen and (max-width:590px) {
	
	#reviewcontainer {
		width:100%;
	}
	#reviewbar {
		width:55%;
		float:left;
	}
	
}

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

		#tyreresults td, #tireresults td {
			padding: 8px 0;
		}
		#tyreresults td:nth-child(1) {
			width:50%!important;
		}
		#tyreresults td:nth-child(2) {
			width:100%!important;
			border-bottom:none!important;
		}
		#tyreresults td:nth-child(2), #tyreresults td:nth-child(3) {
			display:block;
		}
		#tyreresults td:nth-child(3) {
			border-top:none!important;
		}
		#tyreresults.table > tbody > tr > td, #tyreresults.table > tbody > tr > th {
			border-top:none!important;
		}
		
}


.btn-label {
	width: 34px;
	margin-right: 0px;
}

.btn-group {
	vertical-align: baseline;
}

	


.table-fixed thead {
  width: 97%;
}
.table-fixed tbody {
  height: 230px;
  overflow-y: auto;
  width: 100%;
}
.table-fixed thead, .table-fixed tbody, .table-fixed tr, .table-fixed td, .table-fixed th {
  display: block;
}
.table-fixed tbody td, .table-fixed thead > tr> th {
  float: left;
  border-bottom-width: 0;
}


/* new stuff for search results copied from LT */
.search-menu-heading {
    display: block;
    clear: both;
    background: #337AB7;
    font-size: 14px;
    color: white;
    padding: 10px 12px;
    line-height: 100%;
    position: relative;
    margin: 0px 0px 15px 0px; 
}


.search-menu-heading SPAN {
    position: absolute;
    left: 30px;
    bottom: -8px;
    line-height: 1%;
    font-size: 0;
    width: 16px;
    height: 8px;
    background: url(/images/heading-green.gif) no-repeat left top;
    z-index: 150;
}

.search-left-menu {
    margin-top: -5px;
    padding: 0 0;
    list-style: none;
    color: #696969!important;
    border-right: 1px solid #F5F5F5;
}

.search-left-menu LI {
    display: block;
    background: url(/images/left-menu-marker.gif) no-repeat left 8px;
    padding: 5px 12px;
    color: #696969!important;
}


.search-result-box {
    padding: 10px;
    color: #696969;
    border: 1px solid #F5F5F5;
    /*border-bottom: 2px solid black;*/
}

.search-result-box .price {
    font-size: 1.35em;
    vertical-align: middle;
}

.search-result-box H3 {
    height: 17px;
}

.search-result-box HR {
    margin-top: 8px;
    margin-bottom: 8px;
}


.star-ratings {
  unicode-bidi: bidi-override;
  color: #c5c5c5;
  font-size: 20px;
  /* margin: 1em auto; */
  position: relative;
  padding: 0;
}

.star-ratings-top {
    color: gold;
    padding: 0;
    position: absolute;
    z-index: 1;
    display:block;
    left: 0px;
    overflow: hidden;
}
.star-ratings-bottom { z-index: 0; }


/*------------------------------------
 - COLOR primary
 ------------------------------------*/
.alert-primary {
  color: #183a57;
  background-color: #c6dcef;
  border-color: #b6d2ea;
}
.alert-primary hr {
  border-top-color: #a2c6e5;
}
.alert-primary .alert-link {
  color: #0d1f2f;
}
.badge-primary {
  color: #fff;
  background-color: #337ab7;
}
.badge-primary[href]:hover, .badge-primary[href]:focus {
  color: #fff;
  background-color: #275f8f;
}
.bg-primary {
  background-color: #337ab7 !important;
}
a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus {
  background-color: #275f8f !important;
}
.border-primary {
  border-color: #337ab7 !important;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.btn-primary:hover {
  color: #fff;
  background-color: #2b679b;
  border-color: #275f8f;
}
.btn-primary:focus, .btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(51, 122, 183, 0.5);
}
.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #275f8f;
  border-color: #245783;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(51, 122, 183, 0.5);
}
.btn-outline-primary {
  color: #337ab7;
  background-color: transparent;
  border-color: #337ab7;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(51, 122, 183, 0.5);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #337ab7;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(51, 122, 183, 0.5);
}
.list-group-item-primary {
  color: #183a57;
  background-color: #b6d2ea;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #183a57;
  background-color: #a2c6e5;
}
.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #183a57;
  border-color: #183a57;
}
.table-primary, .table-primary > th, .table-primary > td {
  background-color: #b6d2ea;
}
.table-hover .table-primary:hover {
  background-color: #a2c6e5;
}
.table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th {
  background-color: #a2c6e5;
}
.text-primary {
  color: #337ab7 !important;
}
a.text-primary:hover, a.text-primary:focus {
  color: #275f8f !important;
}

.progress-bar {
	background-color: #337ab7;
}
.nav-pills .nav-link.active {
  background-color: #337ab7;
}
.nav-link {
	color: #003366;
}

.icon-container {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #f8f9fa;
  }
  
  .test-results-card {
	border: none;
  }
  
  .test-results-card .card-title {
	font-weight: bold;
	margin-bottom: 0.25rem;
  }
  
  .test-results-card .fs-5 {
	font-size: 1.1rem;
	font-weight: bold;
  }

  .card-link:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

.filters {
    margin-bottom: 20px;
    padding: 10px;
    background-color: #f0f0f0;
}

.test-card {
    border: 1px solid #ddd;
    padding: 10px;
    margin-bottom: 10px;
}

.tyre-reviews-test {
    border-color: #ff0000;
}

.pagination {
    margin-top: 20px;
}

.pagination a {
    padding: 5px 10px;
    margin-right: 5px;
    border: 1px solid #ddd;
    text-decoration: none;
}

.pagination a.active {
    background-color: #007bff;
    color: white;
}

.filters {
    margin-bottom: 20px;
}
.filter-group {
    margin-bottom: 10px;
}
.filter-group a {
    margin-right: 10px;
    text-decoration: none;
    padding: 5px 10px;
    border: 1px solid #ccc;
    border-radius: 3px;
}
.filter-group a.active {
    background-color: #007bff;
    color: white;
}

.custom-btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.custom-btn {
    display: inline-block;
    padding: 5px 10px;
    background-color: #f8f9fa;
    border: 1px solid #ced4da;
    color: #495057;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.2s ease-in-out;
}

.custom-btn:hover {
    background-color: #e9ecef;
    text-decoration: none;
    color: #495057;
}

.custom-btn-active {
    background-color: #007bff;
    color: #ffffff;
    border-color: #007bff;
}

.custom-btn-active:hover {
    background-color: #0056b3;
    color: #ffffff;
}

.nav-tabs .nav-link {
	color: #6c757d!important;
	border: none;
	border-bottom: 2px solid transparent;
	padding: 0.5rem 1rem;
}

.nav-tabs .nav-link:hover {
	color: #000!important;
	
}

.nav-tabs .nav-link.active {
	color: #000!important;
	background: none;
	border: none;
	border-bottom: 2px solid #000;
}

.nav-tabs {
	border-bottom: 1px solid #dee2e6;
	margin-bottom: 15px;
}

.custom-nav-pills {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px; /* Adjust spacing as needed */
}

.custom-nav-pills li {
    padding: 0px;
}

/* Custom Navigation Pills Styling */
.custom-nav-pills .nav-link {
    background-color: #e2e6ea; /* Default non-active background color */
    color: #000!important;                /* Default text color */
    border: 1px solid #dee2e6; /* Border around each pill */
    border-radius: 0.25rem;    /* Slightly rounded corners */
    margin-right: 5px;          /* Spacing between pills */
    padding: 10px 15px;         /* Increased padding for better click area */
    transition: background-color 0.3s ease, color 0.3s ease;
	white-space: normal; /* Allow text wrapping */
    text-align: center; /* Center align text inside the buttons */
    min-width: 0; /* Prevent unnecessary width */
}

.custom-nav-pills .nav-link.active {
    color: #fff!important;                /* White text for active tab */
}

.custom-nav-pills .nav-link.active:hover {
    background-color: #0c48a1; /* Bootstrap primary color for active tab */
    color: #fff!important;                /* White text for active tab */
    border-color: #0d6efd;      /* Matching border color */
}

.custom-nav-pills .nav-link:hover {
    background-color: #cdd4d9; /* Slightly darker background on hover */
    color: #000;                /* Text color remains black on hover */
}

/* Optional: Remove right margin from the last nav-item to align properly */
.custom-nav-pills .nav-item:last-child .nav-link {
    margin-right: 0;
}

@media (max-width: 576px) {
    .breadcrumb-item {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 250px; /* Adjust as needed */
        display: inline-block;
    }
}



.author-byline {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 10px 10px 0px 10px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.author-byline img {
    border: 2px solid #0db1e7;
    object-fit: cover;
}

.author-name {
    font-weight: 600;
    color: #212529;
    text-decoration: none;
}

.author-name:hover {
    color: #0db1e7;
    text-decoration: underline;
}

.author-middle {
    border-left: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
}

.social-links a {
    color: #6c757d;
    font-size: 1.25rem;
    transition: color 0.2s ease;
}

.social-links a:hover {
    color: #0db1e7;
}

.test-nav {
    /*margin-top: 16px;
    padding-top: 8px;*/
}

/* Mobile adjustments */
@media (max-width: 767.98px) {
    .author-middle {
        border-left: none;
        border-right: none;
        border-top: 1px solid #dee2e6;
        border-bottom: 1px solid #dee2e6;
        width: 100%;
    }
    
    .author-right {
        width: 100%;
    }
}

.sticky-table {
	position: relative;
}
.sticky-top {
	position: sticky;
	top: 0;
	z-index: 5;
}
.sticky-left {
	position: sticky;
	left: 0;
	z-index: 4;
}
.table-success {
	background-color: rgba(40, 167, 69, 0.15) !important;
}
.table-warning {
	background-color: rgba(255, 193, 7, 0.15) !important;
}
.badge.bg-success-light {
	background-color: rgba(40, 167, 69, 0.15) !important;
}
.badge.bg-warning-light {
	background-color: rgba(255, 193, 7, 0.15) !important;
}

/* Enable smooth transitions for the navbar */
.navbar.fixed-top.smart-scroll {
  transition: transform 0.3s ease-in-out;
  position: fixed;
  width: 100%;
}

/* Class applied when scrolling down - moves the navbar off-screen */
.navbar.fixed-top.scrolled-down {
  transform: translateY(-100%);
}

/* Class applied when scrolling up - brings the navbar back */
.navbar.fixed-top.scrolled-up {
  transform: translateY(0);
}

/* Optional: Add a slight shadow to make the navbar stand out when it reappears */
.navbar.fixed-top.scrolled-up {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Article image handling */
.article-image-block {
    max-width: 450px;
    margin: 25px auto;
    text-align: center;
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.article-image-block img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.article-image-caption {
    margin-top: 10px;
    font-size: 0.9em;
    color: #6c757d;
    font-style: italic;
}

/* For side-by-side content */
.content-with-image {
    display: flex;
    gap: 20px;
    margin: 25px 0;
    align-items: flex-start;
}

.content-with-image .image-side {
    flex: 0 0 300px;
}

.content-with-image .text-side {
    flex: 1;
}

@media (max-width: 768px) {
    .content-with-image {
        flex-direction: column;
    }
    
    .content-with-image .image-side {
        flex: none;
        max-width: 100%;
    }
}

/* Test Results Page Styles
================================================================== */

/* Performance Overview Cards */
.test-results-overview .card {
    transition: all 0.3s ease;
}

.test-results-overview .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Performance Score Display */
.performance-score {
    position: relative;
    display: inline-block;
}

.performance-score .score-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0 auto;
}

.performance-score.score-high .score-circle {
    background: linear-gradient(135deg, #28a745, #20c997);
    color: white;
}

.performance-score.score-medium .score-circle {
    background: linear-gradient(135deg, #ffc107, #fd7e14);
    color: white;
}

.performance-score.score-low .score-circle {
    background: linear-gradient(135deg, #dc3545, #e83e8c);
    color: white;
}

/* AI Summary Strengths/Weaknesses Cards */
.strength-card, .weakness-card {
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.strength-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #28a745;
}

.weakness-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #ffc107;
}

.strength-card:hover, .weakness-card:hover {
    transform: translateX(2px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Significance badges */
.badge-significance {
    font-size: 0.7rem;
    padding: 0.2rem 0.5rem;
}

/* Test Result Cards */
.test-result-card {
    transition: all 0.3s ease;
    height: 100%;
}

.test-result-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

.test-result-card .card-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.test-result-card .btn {
    margin-top: auto;
}

/* Performance Percentile Bar */
.performance-percentile {
    margin: 0.5rem 0;
}

.performance-percentile .progress {
    height: 8px;
    background-color: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
}

.performance-percentile .progress-bar {
    transition: width 0.8s ease;
}

/* Award badges in test cards */
.award-badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 10;
}

/* Test Stats Grid */
.test-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.test-stat-item {
    text-align: center;
    padding: 0.5rem;
    background: #f8f9fa;
    border-radius: 6px;
    border: 1px solid #dee2e6;
}

.test-stat-value {
    font-size: 1.25rem;
    font-weight: bold;
    display: block;
}

.test-stat-label {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: 0.25rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .test-results-overview .col-md-3 {
        margin-bottom: 1rem;
    }
    
    .performance-score .score-circle {
        width: 60px;
        height: 60px;
        font-size: 1rem;
    }
    
    .test-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .strength-card, .weakness-card {
        margin-bottom: 0.5rem;
    }
}

@media (max-width: 576px) {
    .test-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .test-result-card .row.text-center .col-4 {
        margin-bottom: 0.5rem;
    }
}

/* Enhanced hover effects for interactive elements */
.btn-test-results:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,123,255,0.3);
}

/* Loading states for performance data */
.loading-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Print styles for test results */
@media print {
    .test-results-page .btn,
    .test-results-page .breadcrumb,
    .test-results-page .card-hover-effects {
        display: none;
    }
    
    .test-result-card {
        break-inside: avoid;
        margin-bottom: 1rem;
    }
}

/* ==========================================================================
   Tyre Category Navigation and Listing Enhancements
   ========================================================================== */

/* Sticky Navigation */
.tyre-category-nav {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.tyre-category-nav.scrolled {
    padding: 0.5rem 0 !important;
}

/* Vehicle and Season Navigation Pills */
.vehicle-nav .nav-link,
.season-nav .nav-link {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #495057;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
    border-radius: 20px;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.vehicle-nav .nav-link:hover,
.season-nav .nav-link:hover {
    background-color: #e9ecef;
    border-color: #adb5bd;
    transform: translateY(-1px);
}

.vehicle-nav .nav-link.active,
.season-nav .nav-link.active {
    background-color: #007bff;
    border-color: #007bff;
    color: white;
}

.season-filter.active {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: white !important;
}

/* Vehicle Section Styling */
.vehicle-section {
    margin-bottom: 3rem;
    scroll-margin-top: 120px; /* Account for sticky nav height */
}

.vehicle-header h2 {
    color: #212529;
    border-bottom: 3px solid #007bff;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}

/* Season Section Styling */
.season-section {
    margin-bottom: 2rem;
    scroll-margin-top: 120px;
}

.season-title {
    color: #495057;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 0.75rem 1rem;
    border-radius: 8px;
    border-left: 4px solid #28a745;
    margin-bottom: 1rem;
}

.tyre-type-heading {
    color: #6c757d;
    font-size: 1.1rem;
    font-weight: 600;
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 0.5rem;
}

/* Tyre Card Styling */
.tyre-item {
    transition: transform 0.2s ease;
}

.tyre-item:hover {
    transform: translateY(-2px);
}

.tyre-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border: 1px solid #dee2e6 !important;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.tyre-card:hover {
    border-color: #007bff !important;
    box-shadow: 0 4px 12px rgba(0,123,255,0.15);
}

.tyre-thumbnail {
    border-radius: 6px;
    border: 1px solid #dee2e6;
    background: white;
    padding: 2px;
}

.tyre-link {
    color: #212529 !important;
    font-size: 0.95rem;
}

.tyre-link:hover {
    color: #007bff !important;
}

/* Enhanced Badge Styling */
.badges .badge {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.35rem 0.65rem;
}

.badges .badge.bg-primary {
    background-color: #007bff !important;
}

.badges .badge.bg-success {
    background-color: #28a745 !important;
}

.badges .badge:hover {
    transform: scale(1.05);
    transition: transform 0.2s ease;
}

/* Tyre Grid Layout */
.tyre-grid {
    margin-top: 1rem;
}

.tyre-list {
    list-style: none;
    padding: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .tyre-category-nav .row {
        flex-direction: column;
    }
    
    .tyre-category-nav .col-md-4,
    .tyre-category-nav .col-md-8 {
        width: 100%;
        margin-bottom: 1rem;
    }
    
    .vehicle-nav .nav-link,
    .season-nav .nav-link {
        font-size: 0.8rem;
        padding: 0.4rem 0.8rem;
    }
    
    .tyre-card {
        padding: 0.75rem !important;
    }
    
    .tyre-thumbnail {
        width: 40px !important;
        height: 40px !important;
    }
    
    .vehicle-header h2 {
        font-size: 1.5rem;
    }
    
    .season-title {
        font-size: 1.1rem;
    }
}

@media (max-width: 576px) {
    .tyre-category-nav {
        padding: 1rem 0 !important;
    }
    
    .badges {
        flex-direction: column !important;
        gap: 0.25rem !important;
    }
    
    .tyre-info .d-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

/* Smooth Scroll Behavior */
html {
    scroll-behavior: smooth;
}

/* Loading Animation for Dynamic Content */
.season-section.loading {
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

/* Focus States for Accessibility */
.vehicle-nav .nav-link:focus,
.season-nav .nav-link:focus {
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,0.25);
    outline: none;
}