.elementor-1181 .elementor-element.elementor-element-602356b{--display:flex;--min-height:300px;--justify-content:center;--overlay-opacity:0.8;}.elementor-1181 .elementor-element.elementor-element-602356b:not(.elementor-motion-effects-element-type-background), .elementor-1181 .elementor-element.elementor-element-602356b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://dev.fairlawnfootball.net/wp-content/uploads/2026/10/Screenshot-2026-10-12-175209.png");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-1181 .elementor-element.elementor-element-602356b::before, .elementor-1181 .elementor-element.elementor-element-602356b > .elementor-background-video-container::before, .elementor-1181 .elementor-element.elementor-element-602356b > .e-con-inner > .elementor-background-video-container::before, .elementor-1181 .elementor-element.elementor-element-602356b > .elementor-background-slideshow::before, .elementor-1181 .elementor-element.elementor-element-602356b > .e-con-inner > .elementor-background-slideshow::before, .elementor-1181 .elementor-element.elementor-element-602356b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-1181 .elementor-element.elementor-element-69293d1{text-align:center;}.elementor-1181 .elementor-element.elementor-element-69293d1 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:66px;color:#FFFFFF;}.elementor-1181 .elementor-element.elementor-element-5b348af .eael-breadcrumbs{justify-content:center;}.elementor-1181 .elementor-element.elementor-element-5b348af .eael-breadcrumbs .eael-breadcrumbs__content{background-color:#FAFAFF00;border-style:none;color:var( --e-global-color-a185853 );}.elementor-1181 .elementor-element.elementor-element-5b348af .eael-breadcrumbs .eael-breadcrumbs__content a{color:#FFFFFF;}.elementor-1181 .elementor-element.elementor-element-5b348af .eael-breadcrumbs .eael-breadcrumb-separator svg path{fill:#A5A4B0;}.elementor-1181 .elementor-element.elementor-element-5b348af .eael-breadcrumbs .eael-breadcrumb-separator{color:#A5A4B0;margin:0 10px;}.elementor-1181 .elementor-element.elementor-element-9dc30ca{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-1181 .elementor-element.elementor-element-d4682e1{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1181 .elementor-element.elementor-element-d4682e1{--content-width:1440px;}}@media(max-width:767px){.elementor-1181 .elementor-element.elementor-element-602356b{--padding-top:0px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-1181 .elementor-element.elementor-element-69293d1 .elementor-heading-title{font-size:30px;}}/* Start custom CSS for shortcode, class: .elementor-element-96b4f1c *//* Import DM Sans Font */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

/* ==========================================
   Global Font & Container Setup (NO BORDER RADIUS)
   ========================================== */

.sp_team *,
#custom-cheer-team * {
    font-family: 'DM Sans', sans-serif !important;
    border-radius: 0 !important;
}

/* ==========================================
   Custom Teams Grid Design (with "NO IMAGE" Placeholder)
   ========================================== */

#custom-cheer-team {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 20px 0 !important;
}

#custom-cheer-team .sp-custom-teams-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
}

#custom-cheer-team .sp-custom-team {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

#custom-cheer-team .sp-custom-team:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
    border-color: #CB1A2B !important;
}

#custom-cheer-team .sp-custom-team > a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 140px !important;
    margin-bottom: 16px !important;
    background: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    overflow: hidden !important;
    position: relative !important;
}

#custom-cheer-team .sp-custom-team img {
    max-height: 110px !important;
    width: auto !important;
    object-fit: contain !important;
    transition: transform 0.3s ease !important;
}

#custom-cheer-team .sp-custom-team:hover img {
    transform: scale(1.05) !important;
}

/* AUTOMATIC "NO IMAGE" PLACEHOLDER FOR TEAMS WITHOUT LOGOS */
#custom-cheer-team .sp-custom-team:not(:has(img)) > a,
#custom-cheer-team .sp-custom-team > a:empty {
    background: #f1f5f9 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='0' ry='0'%3E%3C/rect%3E%3Ccircle cx='12' cy='13' r='3'%3E%3C/circle%3E%3Cpath d='M12 3v2'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center 34px !important;
}

#custom-cheer-team .sp-custom-team:not(:has(img)) > a::after,
#custom-cheer-team .sp-custom-team > a:empty::after {
    content: "NO IMAGE" !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    color: #64748b !important;
    position: absolute !important;
    bottom: 26px !important;
}

#custom-cheer-team .sp-custom-team h3 {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    width: 100% !important;
}

#custom-cheer-team .sp-custom-team h3 a {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: block !important;
    padding: 4px 0 !important;
}

#custom-cheer-team .sp-custom-team h3 a:hover {
    color: #CB1A2B !important;
}

#custom-cheer-team .sp-custom-team::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 3px !important;
    background: transparent !important;
    transition: background 0.2s ease !important;
}

#custom-cheer-team .sp-custom-team:hover::after {
    background: #CB1A2B !important;
}

/* ==========================================
   Team Page Main Layout Styles (NO BORDER RADIUS)
   ========================================== */

.sp_team .site-main {
    max-width: 1160px !important;
    width: 100% !important;
    margin: 20px auto !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

.sp_team .site-main > .page-header {
    background: #0f172a !important;
    color: #ffffff !important;
    padding: 20px 24px !important;
    border-bottom: 4px solid #CB1A2B !important;
    margin-bottom: 0 !important;
}

.sp_team .site-main > .page-header .entry-title {
    margin: 0 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.sp_team .site-main > .page-content {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-top: none !important;
    padding: 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
}

.sp_team .sp-section-content-logo {
    margin-bottom: 20px !important;
}

.sp_team .sp-section-content-logo img.sp-team-logo,
.sp_team .sp-section-content-logo .sp-team-logo img {
    max-width: 90px !important;
    height: auto !important;
    display: block !important;
}

.sp_team .sp-section-content-staff {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    padding: 20px !important;
    margin: 20px 0 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    align-items: center !important;
}

.sp_team .sp-section-content-staff .sp-staff-name {
    width: 100% !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    text-transform: uppercase !important;
    border-bottom: 2px solid #f1f5f9 !important;
    padding-bottom: 10px !important;
    margin: 0 0 5px 0 !important;
}

.sp_team .sp-section-content-staff .sp-staff-role {
    color: #CB1A2B !important;
    margin-right: 6px !important;
}

.sp_team .sp-section-content-staff .sp-staff-photo img {
    object-fit: cover !important;
    border: 1px solid #e2e8f0 !important;
    max-width: 180px !important;
    height: auto !important;
}

.sp_team .sp-section-content-staff .sp-template-staff-details {
    flex-grow: 1 !important;
}

.sp_team dl.sp-staff-details {
    margin: 0 !important;
}

.sp_team dl.sp-staff-details dt {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-top: 8px !important;
}

.sp_team dl.sp-staff-details dd {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    margin: 2px 0 0 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.sp_team dl.sp-staff-details dd img {
    height: 14px !important;
    width: auto !important;
}

.sp_team .sp-table-caption {
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    padding: 10px 14px !important;
    border-left: 4px solid #CB1A2B !important;
    border-top: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    margin: 25px 0 0 0 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.sp_team .sp-table-wrapper,
.sp_team .sp-scrollable-table-wrapper,
.sp_team .dataTables_wrapper {
    width: 100% !important;
    overflow-x: auto !important;
    margin-bottom: 10px !important;
}

.sp_team table.sp-data-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin: 0 !important;
    border: 1px solid #e2e8f0 !important;
}

.sp_team table.sp-data-table thead tr th {
    background-color: #0f172a !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 12px 14px !important;
    text-align: left !important;
    border: none !important;
    white-space: nowrap !important;
}

.sp_team table.sp-data-table tbody tr {
    border-bottom: 1px solid #e2e8f0 !important;
    background-color: #ffffff !important;
    transition: background-color 0.2s ease !important;
}

.sp_team table.sp-data-table tbody tr:last-child {
    border-bottom: none !important;
}

.sp_team table.sp-data-table tbody tr:hover {
    background-color: #f8fafc !important;
}

.sp_team table.sp-data-table tbody tr td {
    padding: 12px 14px !important;
    font-size: 13px !important;
    color: #334155 !important;
    text-align: left !important;
    vertical-align: middle !important;
    border: none !important;
    white-space: nowrap !important;
}

.sp_team table.sp-data-table tbody tr td a {
    color: #0f172a !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
}

.sp_team table.sp-data-table tbody tr td a:hover {
    color: #CB1A2B !important;
}

.sp_team table.sp-data-table .team-logo img,
.sp_team .sp-team-logo img {
    max-height: 20px !important;
    width: auto !important;
    vertical-align: middle !important;
    margin-right: 6px !important;
}

.sp_team .sp_highlight_places {
    margin: 8px 0 20px 0 !important;
    font-size: 12px !important;
    color: #64748b !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.sp_team .sp_highlight_place {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.sp_team .sp_highlight_places .sp_color {
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    border: 1px solid #cbd5e1 !important;
}

.sp_team .sp_highlight_places .sp_desc {
    display: inline-block !important;
    height: auto !important;
    padding-left: 0 !important;
    font-weight: 600 !important;
    color: #334155 !important;
}

/* Responsive Media Queries */
@media screen and (max-width: 900px) {
    #custom-cheer-team .sp-custom-teams-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

@media screen and (max-width: 768px) {
    .sp_team .site-main {
        padding: 0 8px !important;
        margin: 10px auto !important;
    }
    .sp_team .site-main > .page-content {
        padding: 12px !important;
    }
    .sp_team .sp-section-content-staff {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .sp_team table.sp-data-table thead tr th,
    .sp_team table.sp-data-table tbody tr td {
        padding: 8px 10px !important;
        font-size: 12px !important;
    }
}

@media screen and (max-width: 580px) {
    #custom-cheer-team .sp-custom-teams-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}/* End custom CSS */