/*
Theme Name: Space Foundation Art Contest 
Theme URI: http://art.spacefoundation.org
Version: 1.0
Description: Founded in Colorado Springs in 1983, the Space Foundation is the world's premier organization to inspire, educate, connect, and advocate on behalf of the global space community. We are a nonprofit leader in space awareness activities, educational programs, and major industry events, including the annual Space Symposium to be held each April.
Author: Space Foundation
Author URI: http://www.spacefoundation.org
template: bb-theme
*/

/* Header */

#main-logo {
	position: absolute;
    bottom: 16px;
    z-index: 1;
    margin: 0;
/*     width: 525px; */
}

#main-logo a:hover {
	opacity: .8;
}
/*
@import url('https://fonts.googleapis.com/css?family=Bebas+Neue&display=swap');

@font-face{
	font-family: "Bebas Neue";
	src: url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap") format("woff");
}
*/
/* latin-ext */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bebasneue/v9/JTUSjIg69CK48gW7PXoo9WdhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bebasneue/v9/JTUSjIg69CK48gW7PXoo9WlhyyTh89Y.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 
#firefly .fl-photo-content {
    background: #eee;
    padding: 0px 20px 10px 20px;
    border-radius: 8px;
    position: relative;
    top: 40px;
    right: 0;
    text-align: center;
    width: 23%;
} */

/* .mobile {
    background: #eee;
    padding: 0px 20px 10px 20px;
    border-radius: 8px;
    position: relative;
    text-align: center;
    width: 50%;
    margin: 0 auto;
} */
.fl-accordion-button {
	transition: all .3s;
    border-radius: 6px!important;
    background-color: #009eb5; /* Teal */
    color: #ffffff;
}
.fl-accordion-button:hover {
	opacity:.8;
    background-color: #045571; /* Dark Teal */
}
.fl-accordion-button-icon {
    line-height: 1;
    font-size: 31px;
    color: #ffffff; /* Keep icons white for contrast */
}

.fl-page-nav-search form {
	border:none;
}
/* .fl-page-nav-search form input.fl-search-input {
	background: #fff;
} */
.fl-page-nav-search form input.fl-search-input:focus {
	color:#666;
}

/* Header Responsive */

@media (max-width: 768px) {
	#header-quote {
		text-align:center;
	}
	#header-quote h2{ 
		line-height:.9;
	}
	h1 {
		font-size:38px!important;
		line-height:1;
		
	}
	.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-mobile .fl-page-nav .navbar-toggle {
		font-size: 46px;
		padding: 0;
		right: 24px;
		top: 24px!important;
	}
}

/* Secondary Nav */

.btn-toolbar.category-nav {
	justify-content: space-evenly;
}
.btn-toolbar.category-nav .btn-group, .btn-group-vertical {
    flex-grow: 1;
    margin: 0 1%;
}
.btn-toolbar.category-nav .btn {
	transition: all .3s;
    background: #ff6900; /* Orange */
    color: #ffffff;
    border-radius: 6px;
	border-color: #ff6900;
    font-size: 16px;
	padding: 10px 0 10px;
	margin-bottom: 4%;
}
.btn-toolbar.category-nav .btn:hover {
	opacity:.8;
    background-color: #e85a00; /* Slightly darker orange */
}
.btn-toolbar.category-nav .dropdown-toggle::after {
	display:none;
}
.btn-toolbar.category-nav .fa-chevron-down {
/* 	color:#fff;
	font-size:1em; */
	margin: 3px 2px 0 14px;
}
/* .btn-toolbar.category-nav .btn-secondary:not(:disabled):not(.disabled).active, 
.btn-toolbar.category-nav .btn-secondary:not(:disabled):not(.disabled):active, 
.btn-toolbar.category-nav .show>.btn-secondary.dropdown-toggle {
    color: #00ed76;
    background-color: #045571;
    border-color: #045571;
}*/
.btn-toolbar.category-nav ul {
    list-style: none;
    margin: 0;
    padding: 0 22px;
}
.btn-toolbar.category-nav li{
    padding:1px 0;
}
.btn-toolbar.category-nav li a {
	text-decoration:none;
	color:#009eb5; /* Teal */
/* 	background-color:#045571; */
/* 	display:flex; */
	padding: 0px 30px;
}
.btn-toolbar.category-nav li a:hover {
	text-decoration:none;
	background-color:#045571; /* Dark Teal */
	display:flex;
	padding: 0px 30px;
}
.btn-toolbar.category-nav .dropdown-menu.show {
    display: flex;
    justify-content: center;
    min-width: 17rem;
	z-index: 10;
	background-color:#045571;
}
.btn-toolbar.category-nav .dropdown-menu.country-list.show {
    max-height: 250px;
    overflow: scroll;
	background-color:#045571;
}
/* Typography */

h1 {
	text-align: center;
	color: #272c30; /* Dark Gray */
}

/* Footer */

.fl-page-footer {
	border:none;
    background-color: #272c30; /* Dark Gray */
}
.fl-page-footer span {
	color:#969696;
}
/* .footer-splatter {
	height:48px;
	text-align:center;
} */

/* Templates */

.archive .fl-page {
	padding-top: 38px!important;
}
.archive .fl-page .fl-content h1,
.single-art-contest h1 {
    padding-bottom: 40px;
}
.archive .fl-page .fl-rich-text h2 span  {
	line-height:1!important;
}
.archive .fl-page .fl-content,
.single-artcontest .fl-page .fl-content {
    margin: 0 0;
}
.single-art-contest .fl-post-content.clearfix {
    text-align: center;
}
.fl-content-left {
    border-right: none;
    padding-right: 40px;
}
.archive .footer-splatter {
    margin-top: 40px;
}
.archive .card-deck .card {
	transition: all .3s;
	width:300px;
}
.archive .card-deck {
	justify-content: space-evenly;
}
.archive .card-deck .card:hover {
	transform: scale(1.06);
	-webkit-box-shadow: 1px 1px 6px 0px rgba(0,0,0,0.15);
    -moz-box-shadow: 1px 1px 6px 0px rgba(0,0,0,0.15);
     box-shadow: 1px 1px 6px 0px rgba(0,0,0,0.15);
}
.archive .card-img-top {
	transition: all .3s;
/*     height: 225px; */
    overflow: hidden;
}
.archive .card-img-top:hover {
	opacity:.8;
}
.fl-post-thumb {
	text-align: center;
}

/* Pop up */
.pum-container h1 {
	margin-bottom: -18px;
}
.pum-container h2 {
	font-size: 26px;
}
.pum-container p {
	padding: 0 50px;
    line-height: 1.5;
}
.pum-container a.fl-button {
    font-family: Roboto, sans-serif;
    font-weight: 600;
    color: #fff;
    border: 0px solid #921511;
    padding: 15px 30px;
    display: block;
    width: 210px;
    text-align: center;
    margin: 0 auto;
    font-size: 20px;
    border-radius: 8px;
}

/* News */
article.post h1 {
	text-align:left;
}
.fl-post-date {
	display:none;
}
.fl-post-more-link {
	transition: all .3s;
	background-color: #045571!important;
    color: #00ed76!important;
    padding: 15px 35px;
    font-size: 22px!important;
    border-radius: 6px!important;
    margin: 0 auto!important;
}
.fl-post-content p {
	margin-bottom:2rem;
}
.fl-post-more-link:hover {
	opacity:.8;
	text-decoration:none;
}

/* Cookie Notice */

#cookie-notice .cn-button {
    margin-left: 10px;
    border: none;
    padding: 8px 20px;
    /* margin: 5px; */
    background: #eee;
    color: #000;
    border-radius: 6px;
    /* margin-top: 10px; */
}

/* Utility */

.fl-builder-pagination li a.page-numbers, 
.fl-builder-pagination li span.page-numbers {
    border-radius: 8px;
}
.fl-builder-pagination li a.page-numbers:hover, 
.fl-builder-pagination li span.current {
    background: #045571;
    color: #00ed76;
}

.gform_wrapper.gf_browser_chrome .gfield_checkbox li input, 
.gform_wrapper.gf_browser_chrome .gfield_checkbox li input[type=checkbox], 
.gform_wrapper.gf_browser_chrome .gfield_radio li input[type=radio] {
	margin-top: 0!important;
}
body .gform_wrapper ul li.field_description_below div.ginput_container_checkbox, 
body .gform_wrapper ul li.field_description_below div.ginput_container_radio {
	margin-top: 0px;
}
/* .page-numbers {
	color: #00ed76!important;
    background: #045571!important;
}
.page-numbers:hover { 
	color: #00ed76!important;
    background: #045571!important;
} */
a {
	transition: all .3s;
	color: #009eb5; /* Teal */
}
a:hover {
	color: #045571; /* Dark Teal */
}
input[type=text], 
input[type=password], 
input[type=email], 
input[type=tel], 
input[type=date], 
input[type=month], 
input[type=week], 
input[type=time], 
input[type=number], 
input[type=search], 
input[type=url] {
    height: 50px;
}
input[type=text], 
input[type=password], 
input[type=email], 
input[type=tel], 
input[type=date], 
input[type=month], 
input[type=week], 
input[type=time], 
input[type=number], 
input[type=search], 
input[type=url], 
textarea {
	border: 1px solid #cacaca;
}
input:focus, 
textarea:focus, 
button:focus {
	outline: none;
	border-color: #009eb5; /* Teal color */
	box-shadow: 0 0 0 3px rgba(0, 158, 181, 0.3); /* Teal shadow */
}
.gform_wrapper .gform_footer input.button, 
.gform_wrapper .gform_footer input[type=submit] {
	display:block;
}
.hs-button primary large {
	background-color: #045571;
}
.gform_wrapper.gf_browser_chrome select {
    height: 50px;
    border: 1px solid #cacaca;
    color: #a0a0a0;
}
.gform_wrapper.gf_login_form ul {
	list-style-type: none;
}
.gform_wrapper .gform_footer {
    display: block;
    text-align: center;
}
input[type=submit], 
button[type=submit] {
	transition: all .3s;
	background-color: #ff6900; /* Orange */
    color: #ffffff;
/*     padding: 15px 35px; */
/*     font-size: 22px!important; */
    border-radius: 6px!important;
	margin: 0 auto!important;
}
input[type=submit]:hover,
button[type=submit]:hover {
	opacity:.8;
    background-color: #e85a00; /* Slightly darker orange */
}
.lostpassword-submit {
	text-align: center;
}
div#password-lost-form-wrap {
    text-align: center;
}

.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled header[class*=" fl-page-nav-toggle-visible-"].fl-page-header .fl-nav-offcanvas-collapse {
	border:none;
	box-shadow:none;
}
/* .ginput_container input {
	background-color:white;
} */
.fl-tabs-label {
	border-top-left-radius:6px;
	border-top-right-radius:6px;
}
.fl-tabs-panels {
	border-bottom-right-radius:6px;
	border-bottom-left-radius:6px;
	border-top-right-radius:6px;
}

.btn-artcontest {
    background-color:#045571;
    color: #fff;
    border-color: #045571;
    border-radius: 6px!important;
	margin: 0 auto!important;
}

.btn-artcontest:hover, .btn-artcontest:focus, .btn-artcontest:active, .btn-artcontest.active, .open>.dropdown-toggle.btn-artcontest {
    background-color: #1d275c;
	color: #ffffff;
    opacity:.5;
}



/* Gravity Forms */
/* General Container */
.gform_wrapper {
    max-width: 1200px;
    margin: auto;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    animation: fadeIn 0.5s ease-in-out;
  }
  
  /* Progress Bar */
  .gform_wrapper .progress-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin-bottom: 30px;
    padding: 0;
    background: none;
  }
  
  .gform_wrapper .progress-step {
    flex: 1;
    text-align: center;
    position: relative;
  }
  
  .gform_wrapper .progress-step i {
    font-size: 24px;
    color: #e0e0e0;
    transition: color 0.3s ease;
  }
  
  .gform_wrapper .progress-step span {
    margin-top: 5px;
    display: block;
    font-size: 14px;
    color: #e0e0e0;
    transition: color 0.3s ease;
  }
  
  .gform_wrapper .progress-step.active i,
  .gform_wrapper .progress-step.active span {
    color: #009eb5; /* Teal */
    font-weight: bold;
  }
  
  .gform_wrapper .progress-bar-line {
    position: absolute;
    top: 50%;
    left: 0;
    height: 4px;
    width: 100%;
    background-color: #e0e0e0;
    z-index: -1;
  }
  
  .gform_wrapper .progress-step:not(:last-child)::after {
    content: "";
    height: 4px;
    width: 100%;
    background-color: #009eb5; /* Teal */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
  
  .gform_wrapper .progress-step.active ~ .progress-step::after {
    background-color: #009eb5;
  }
  
  /* Step Content */
  .gform_wrapper #step-content {
    background: #ffffff;
    padding: 20px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    animation: fadeIn 0.5s ease-in-out;
  }
  
  .gform_wrapper .step {
    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
  }
  
  .gform_wrapper .step.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
  }
  
  /* Buttons */
  .gform_wrapper .buttons {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
  }
  
  .gform_wrapper #prev-btn,
  .gform_wrapper #next-btn {
    border: none;
    padding: 12px 24px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s ease;
  }
  
  .gform_wrapper #prev-btn {
    background-color: #045571;
    color: white;
  }
  
  .gform_wrapper #prev-btn:hover {
    background-color: #009eb5;
  }
  
  .gform_wrapper #next-btn {
    background-color: #ff6900;
    color: white;
  }
  
  .gform_wrapper #next-btn:hover {
    background-color: #e85a00;
  }
  
  /* Tip Section */
  .gform_wrapper .tip {
    margin-top: 20px;
    padding: 15px;
    background-color: #f1f7f9; /* Light background */
    border-left: 4px solid #009eb5; /* Teal border */
    font-size: 14px;
  }
  
  .gform_wrapper .tip strong {
    color: #009eb5;
  }
  
  /* Animations */
  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

.gform_wrapper h3 {
  font-size: 30px;
  line-height: 1.4;
  letter-spacing: 0px;
  color: #272c30; /* Dark Gray */
  font-family: "Public Sans", sans-serif;
  font-weight: 600 !important;
  text-transform: none;
  font-style: normal;
}

/* Focus Styles for Gravity Forms */
.gform_wrapper input:focus, 
.gform_wrapper textarea:focus, 
.gform_wrapper select:focus, 
.gform_wrapper button:focus {
  outline: none;
  border-color: #009db56d; /* SWFT Teal */
  box-shadow: 0 0 0 3px rgba(0, 158, 181, 0.3); /* Teal shadow */
}

/* Remove Focus from Tabs in Gravity Forms */
.gform_wrapper .gform_tab:focus, .tab-btn.active {
  outline: none;
  box-shadow: none;
}

/* Remove Focus and Active Styles from Tab Buttons */
.gform_wrapper .tab-btn:focus, 
.gform_wrapper .tab-btn.active {
  outline: none;
  box-shadow: none;
}

/* General Select Field Styling */
.gform_wrapper select {
    width: 100%; /* Full width to match other input fields */
    height: 38px !important; /* Consistent height across browsers */
    padding: 1px 12px; /* Inner padding for spacing */
    font-size: 14px; /* Consistent font size */
    color: #6c757d; /* Subtle gray text color */
    background-color: #ffffff; /* White background */
    border: 1px solid #cacaca; /* Light gray border */
    border-radius: 4px; /* Slightly rounded corners */
    appearance: none; /* Remove browser-specific styling */
    -webkit-appearance: none; /* Safari-specific reset */
    -moz-appearance: none; /* Firefox-specific reset */
    transition: border-color 0.2s ease, box-shadow 0.2s ease; /* Smooth interactions */
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236c757d' d='M5 6L0 0h10z'/%3E%3C/svg%3E"); /* Custom dropdown arrow */
    background-repeat: no-repeat; /* Prevent arrow repetition */
    background-position: right 12px center; /* Position arrow on the right */
    background-size: 12px 12px; /* Size the dropdown arrow */
    cursor: pointer; /* Pointer cursor for interactivity */
}

/* Focus State */
.gform_wrapper select:focus {
    border-color: #009eb5; /* SWFT teal border for focus */
    box-shadow: 0 0 0 2px rgba(0, 158, 181, 0.3); /* SWFT teal shadow */
    outline: none; /* Remove default browser outline */
}

/* Disabled State */
.gform_wrapper select:disabled {
    background-color: #f8f9fa; /* Light gray for disabled state */
    color: #c0c0c0; /* Muted text color */
    border-color: #e0e0e0; /* Light gray border for disabled state */
    cursor: not-allowed; /* Show not-allowed cursor */
}

/* General GravityView Table Styling */
#gravity-view .gv-table-view {
  width: 100%;
  border-collapse: collapse;
  background-color: #fff; /* Match SWFT background */
  color: #272c30; /* Dark text for readability */
  font-family: Arial, sans-serif;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 30px;
}

/* Table Header */
#gravity-view .gv-table-view thead th {
  background-color: #045571; /* SWFT dark blue */
  color: #fff; /* White text */
  font-weight: bold;
  text-align: left;
  padding: 12px 15px;
  border-bottom: 2px solid #009eb5; /* Lighter SWFT blue */
}

/* Table Rows */
#gravity-view .gv-table-view tbody tr {
  border-bottom: 1px solid #ddd;
}

#gravity-view .gv-table-view tbody tr:nth-child(even) {
  background-color: #f8f8f8; /* Light gray for striping */
}

#gravity-view .gv-table-view tbody tr:hover {
  background-color: #e6f7fb; /* Highlight row on hover */
}

/* Table Cells */
#gravity-view .gv-table-view tbody td {
  padding: 10px 15px;
}

/* Empty Table Message */
#gravity-view .gv-table-view tbody .gv-no-results td {
  text-align: center;
  color: #ff6900; /* SWFT orange for emphasis */
  font-weight: bold;
}

/* Search Bar Styling */
#gravity-view .gv-search {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

#gravity-view .gv-search input[type="text"] {
  width: 60%;
  padding: 8px 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

#gravity-view .gv-search input[type="submit"] {
  padding: 8px 15px;
  background-color: #ff6900; /* SWFT orange */
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

#gravity-view .gv-search input[type="submit"]:hover {
  background-color: #e85e00; /* Slightly darker orange on hover */
}

/* Pagination */
#gravity-view .gv-pagination {
  text-align: center;
  margin: 20px 0;
}

#gravity-view .gv-pagination a,
#gravity-view .gv-pagination span {
  display: inline-block;
  padding: 8px 12px;
  margin: 0 5px;
  color: #045571; /* SWFT dark blue */
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
  text-decoration: none;
}

#gravity-view .gv-pagination a:hover {
  background-color: #e6f7fb; /* Light blue on hover */
}

#gravity-view .gv-pagination .active {
  color: #fff;
  background-color: #045571; /* SWFT dark blue */
  border-color: #045571;
}

/* For IE or Edge Arrow Compatibility */
.gform_wrapper select::-ms-expand {
    display: none; /* Hides the default dropdown arrow in IE/Edge */
}

/* Wrapper styles */
.swft-confirmation-wrapper {
  max-width: 1200px;
  margin: 60px auto;
  text-align: center;
  padding: 20px;
  color: #272c30;
}

/* Celebration emoji */
.swft-celebration {
  font-size: 4rem;
  margin-bottom: 20px;
  animation: pop-animation 1s infinite ease-in-out;
}

/* Title animation */
.confirmation-title {
  font-size: 2.5rem;
  color: #272c30;
  margin-bottom: 20px;
  animation: fade-in 1s ease-in-out;
}

/* Text styles */
.confirmation-text,
.confirmation-next-steps {
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: 20px;
  animation: slide-in 1s ease-in-out;
}

/* Thank-you message */
.confirmation-thank-you {
  font-size: 1.5rem;
  font-weight: bold;
  margin-top: 30px;
  animation: fade-in 2s ease-in-out;
}

/* SWFT-branded links */
.link-swft {
  color: #009eb5;
  font-weight: bold;
  text-decoration: none;
}

.link-swft:hover {
  text-decoration: underline;
}

/* Animations */
@keyframes pop-animation {
  0%, 100% {
      transform: scale(1);
  }
  50% {
      transform: scale(1.3);
  }
}

@keyframes fade-in {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}

@keyframes slide-in {
  from {
      transform: translateY(20px);
      opacity: 0;
  }
  to {
      transform: translateY(0);
      opacity: 1;
  }
}

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

/* Rocket animation */
.confirmation-thank-you .rocket {
  display: inline-block;
  animation: rocket-fly 2s infinite ease-in-out;
}

/* Only target list items within Gravity Forms */
.gform_wrapper .gfield {
  list-style-type: none;
  padding-left: 0;
  margin-left: 0;
}

/* Style for SWFT-branded buttons */
.gform_wrapper #gform_submit_button_0 {
  background-color: #ff6900; /* SWFT primary brand color */
  color: #ffffff; /* White text for contrast */
  border: none; /* Removes any default borders */
  border-radius: 0; /* Flat design as per SWFT preferences */
  font-family: 'Arial', sans-serif; /* Ensure consistency with branding fonts */
  font-size: 16px;
  font-weight: bold;
  padding: 10px 20px; /* Adds spacing inside the button */
  cursor: pointer; /* Pointer cursor for better UX */
  transition: transform 0.2s, background-color 0.3s; /* Smooth hover animation */
}

/* Hover effect for SWFT-branded buttons */
.gform_wrapper #gform_submit_button_0:hover {
  background-color: #045571; /* SWFT secondary brand color for hover */
  transform: scale(1.05); /* Slightly enlarge on hover */
}

.gform-theme--framework .gf_progressbar .percentbar_blue {
  background-color: #009eb5;
}

/* Focus effect for SWFT-branded buttons */
.gform_wrapper #gform_submit_button_0:focus {
  outline: 2px solid #009eb5; /* Focus outline for accessibility */
  outline-offset: 2px;
}

/* Mobile-Specific Adjustments */
@media (max-width: 768px) {
    .gform_wrapper select {
        font-size: 16px; /* Slightly larger text for smaller screens */
        padding: 0 10px; /* Adjust padding for better touch support */
    }
}

/* Review Status Styles */
.already-reviewed {
    color: #28a745;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.already-reviewed i {
    color: #28a745;
    font-size: 16px;
}

.already-reviewed a {
    color: #28a745 !important;
    text-decoration: none;
    font-weight: 600;
}

.already-reviewed a:hover {
    text-decoration: underline;
}

.needs-review {
    color: #dc3545;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.needs-review i {
    color: #dc3545;
    font-size: 16px;
}

.needs-review a {
    color: #dc3545 !important;
    text-decoration: none;
    font-weight: 600;
}

.needs-review a:hover {
    text-decoration: underline;
}

/* Scoring Rubric Styling - Modern Card Design */
.scoring-rubric {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  margin: 20px 0;
  overflow: hidden;
  position: relative;
  border: none;
}

/* This allows for a title to be added directly in the Gravity Form editor */
.scoring-rubric h1, 
.scoring-rubric h2, 
.scoring-rubric h3, 
.scoring-rubric h4, 
.scoring-rubric h5, 
.scoring-rubric h6 {
  background-color: #f7f9fa;
  padding: 16px 24px;
  border-bottom: 1px solid #eaeaea;
  position: relative;
  color: #272c30;
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  padding-left: 24px;
  line-height: 1.4;
}

.scoring-rubric h1:before, 
.scoring-rubric h2:before, 
.scoring-rubric h3:before, 
.scoring-rubric h4:before, 
.scoring-rubric h5:before, 
.scoring-rubric h6:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background-color: #009eb5;
}

/* Header section - used when script wraps existing headings */
.scoring-rubric-header {
  background-color: #f7f9fa;
  border-bottom: 1px solid #eaeaea;
  position: relative;
  overflow: hidden;
}

.scoring-rubric-header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background-color: #009eb5;
}

.scoring-rubric-header h1,
.scoring-rubric-header h2,
.scoring-rubric-header h3,
.scoring-rubric-header h4,
.scoring-rubric-header h5,
.scoring-rubric-header h6 {
  color: #272c30;
  font-size: 25px!important;
  font-weight: 600;
  margin: 0;
  padding: 16px 24px 16px 24px;
  border: none;
  line-height: 1.4;
  background-color: transparent;
}

/* Content area */
.scoring-rubric-content {
  padding: 16px 24px;
}

/* Score item styling */
.score-item {
  display: flex;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
  position: relative;
}

.score-item:last-child {
  border-bottom: none;
  padding-bottom: 6px;
}

.score-item:first-child {
  padding-top: 6px;
}

/* Left badge area */
.score-badge {
  flex-shrink: 0;
  width: 95px;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  color: white;
  padding: 4px 2px;
  border-radius: 20px;
  margin-right: 15px;
  margin-top: 2px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Score content */
.score-content {
  flex-grow: 1;
}

.score-content strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #444;
}

.score-content p {
  margin: 0;
  font-size: 13px;
  color: #555;
  line-height: 1.4;
}

/* Badge colors */
.score-item:nth-child(1) .score-badge {
  background-color: #009eb5; /* Teal */
}

.score-item:nth-child(2) .score-badge {
  background-color: #4CAF50; /* Green */
}

.score-item:nth-child(3) .score-badge {
  background-color: #FFC107; /* Yellow */
  color: #000; /* Black text for better contrast on yellow */
}

.score-item:nth-child(4) .score-badge {
  background-color: #FF9800; /* Orange */
}

.score-item:nth-child(5) .score-badge {
  background-color: #F44336; /* Red */
}

/* Hover effects */
.score-item:hover {
  background-color: #f9f9f9;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .scoring-rubric-header {
    padding: 12px 16px;
  }
  
  .scoring-rubric-content {
    padding: 8px 16px;
  }
  
  .score-badge {
    width: 48px;
    font-size: 11px;
  }
  
  .score-content strong {
    font-size: 13px;
  }
  
  .score-content p {
    font-size: 12px;
  }
}

/* Reviewer Status Table Responsive Styles */
.reviewer-status-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
}

.reviewer-status-table {
    width: 100%;
    min-width: 600px; /* Ensures table doesn't get too squished */
    border-collapse: collapse;
    margin: 20px 0;
}

@media screen and (max-width: 768px) {
    .reviewer-status-table th,
    .reviewer-status-table td {
        padding: 8px 6px;
        font-size: 14px;
    }
    
    .reviewer-status-table th {
        white-space: nowrap;
    }
}

@media screen and (max-width: 480px) {
    .reviewer-status-container {
        margin: 10px -15px; /* Negative margins to allow full-width scrolling */
        padding: 0 15px;
    }
    
    .reviewer-status-table th,
    .reviewer-status-table td {
        padding: 6px 4px;
        font-size: 13px;
    }
}

/* Leaderboard Table Responsive Styles */
.leaderboard-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.leaderboard-table {
    width: 100%;
    min-width: 800px; /* Ensures table doesn't get too squished */
    border-collapse: collapse;
}

.leaderboard-table th,
.leaderboard-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.leaderboard-table th {
    background-color: #f8f9fa;
    font-weight: 600;
    white-space: nowrap;
}

.leaderboard-table tbody tr:hover {
    background-color: #f5f7f9;
}

/* Reviewer details table inside leaderboard */
.reviewer-details-container {
    padding: 15px;
    background: #f8f9fa;
}

.reviewer-scores-table {
    width: 100%;
    margin-top: 10px;
    border-collapse: collapse;
}

.reviewer-scores-table th,
.reviewer-scores-table td {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

@media screen and (max-width: 768px) {
    .leaderboard-table th,
    .leaderboard-table td {
        padding: 8px 6px;
        font-size: 14px;
    }
    
    .reviewer-scores-table th,
    .reviewer-scores-table td {
        padding: 6px 4px;
        font-size: 13px;
    }
    
    .toggle-reviewer-details {
        padding: 4px 8px;
        font-size: 13px;
    }
}

@media screen and (max-width: 480px) {
    .leaderboard-container {
        margin: 10px -15px;
        padding: 0 15px;
        border-radius: 0;
    }
    
    .leaderboard-table th,
    .leaderboard-table td {
        padding: 6px 4px;
        font-size: 13px;
    }
    
    .reviewer-details-container {
        padding: 10px;
    }
    
    .reviewer-scores-table th,
    .reviewer-scores-table td {
        padding: 4px;
        font-size: 12px;
    }
}