.inim-component.installers .installer-wrapper { padding:0rem 0 2.5rem; }
.inim-component.installers .installer-filter { width:100%; margin: 2rem 0; display:flex; flex-direction: column; gap: 1rem; }
.inim-component.installers .installer-filter .installer-filter-text { position:relative; flex:0 1 auto; }
.inim-component.installers .installer-filter .installer-filter-text input { display:block; border:1px solid rgb(var(--gray-2)); border-radius:100px; color:rgb(var(--black)); background-color: rgb(var(--gray-background)); width:100%; padding:1rem; }
.inim-component.installers .installer-filter .installer-filter-text i { position:absolute; right:2rem; top:50%; margin-top:-0.5rem; z-index:999; }
.inim-component.installers .installer-filter .installer-filter-select { display:flex; gap:1rem; align-items: center; flex-wrap: wrap; margin-left:auto; max-width: 100%; }
.inim-component.installers .installer-filter .installer-filter-select > * { flex:1 0 auto; }
.inim-component.installers .installer-filter .inim-label { color:rgb(var(--black)); margin:0; font-size:0.875rem; }
.inim-component.installers .installer-filter select { width:10rem !important; }
.inim-component.installers .installer-filter .inim-button { height:100%; flex:1 1 auto; border-radius:8px; }
.inim-component.installers .installer-filter .select2-container--disabled .select2-selection { background:transparent; }
.inim-component.installers .installer-filter .select2-container--disabled .select2-selection span { color:rgb(var(--gray-2)); }
.inim-component.installers .list-title { position:relative; display: flex; margin-bottom:1rem; }
.inim-component.installers .list-title .inim-button { margin-left:auto; }
.inim-component.installers #table-installers { width: 100%; margin:2rem 0; }
.inim-component.installers #table-installers table { width: 100%; border-collapse: collapse; }
.inim-component.installers #table-installers thead { background-color:rgb(var(--white)); display:none; }
.inim-component.installers #table-installers thead th { vertical-align:middle; font-size:0.75rem; line-height: 1.25rem; padding:1rem 2rem; text-align:left; letter-spacing: 0.72px; text-transform: uppercase; color: rgb(var(--gray-1)); }
.inim-component.installers #table-installers thead th img { height:1.25rem; width: auto; display: inline-block; }
.inim-component.installers #table-installers thead th.cert { vertical-align:middle; padding:1rem 0; text-align: center; width: 4.5rem; }
.inim-component.installers #table-installers tbody tr { border-top:1px solid rgb(var(--gray-2)); display:flex; flex-direction:column; position: relative; padding: 1rem 0; gap: 1rem; }
.inim-component.installers #table-installers tbody tr td { font-size:0.875rem; line-height: 1.5rem; padding:0rem 1rem 0rem 3rem; }
.inim-component.installers #table-installers tbody tr td:first-child { position:absolute; }
.inim-component.installers #table-installers tbody tr td:last-child { vertical-align: top; }
.inim-component.installers #table-installers tbody tr td .mobile-view { font-size:0.875rem; }
.inim-component.installers #table-installers tbody tr td .distance-label { width: 100%; color: rgb(var(--gray-1)); font-weight: bold; text-transform: uppercase; margin-bottom: 0.5rem; font-size: 0.75rem; }
.inim-component.installers #table-installers tbody tr td.cert { padding:0; text-align: center; vertical-align: top; }
.inim-component.installers #table-installers tbody tr td strong { font-size:1rem; }
.inim-component.installers #table-installers tbody tr td a { color:rgb(var(--accent)); font-weight:600; text-decoration: underline;}
.inim-component.installers #table-installers tbody tr img { width:auto; display: inline-block; }
.inim-component.installers #table-installers tbody tr .inim-badge { background-color:rgb(var(--accent)); margin-right: 1rem; width: 75px; text-align: center; }
.inim-component.installers .mobile-view { display:inline-block; }
.inim-component.installers .no-mobile-view { display:none; }
.inim-component.installers #installers_map_box { width:100%; height:0; padding:0; overflow:hidden; margin:0; opacity:0; display: inline-block; position:fixed; top:50%; left:0; transform: translateY(-50%); z-index:999999; }
.inim-component.installers #installers_map_box.open_map { height:100vh; padding:1rem; }
.inim-component.installers #installers_map_overlay { width: 100%; height: 100%; position: absolute; top:0; left:0; z-index:-1; margin:0; padding:0; display: inline-block; background:rgb(var(--black) / .8); }
.inim-component.installers #installers_map_wrapper { width: 90%; height: 30rem; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); overflow: hidden; border-radius: 0.5rem; }
.inim-component.installers #installers_map { width: 100%; height: 100%; display: inline-block; }
.inim-component.installers #installers_map_wrapper .toggle-map { position: absolute; top: 10px; right: 10px; z-index: 1; background-color: white; }
.inim-component.installers #installers_map_wrapper .toggle-map i { color:rgb(var(--accent)); font-size:1.5rem; }
.inim-component.installers #legenda { display: flex; gap:1rem; justify-content: flex-end; color: rgb(var(--gray-1)); }
.inim-component.installers #legenda > * { flex:0 1 auto; line-height: 1.25rem; }
.inim-component.installers #legenda > span { font-family: var(--font-headings); font-weight:bold; font-size: 0.75rem; letter-spacing: 0.72px; text-transform: uppercase; }
.inim-component.installers #legenda > label { display: flex; font-size: 0.875rem; gap:.5rem; font-weight: 600; }
.inim-component.installers #legenda > label img { height: 18px; width: auto; }


/* Medium devices (landscape tablets, 768px and up) */
@media (min-width: 768px) {
    .inim-component.installers #table-installers tbody tr { display:table-row; padding:0; }
    .inim-component.installers #table-installers tbody tr td { padding:1rem 2rem; }
    .inim-component.installers #table-installers tbody tr td:first-child { position:initial; }
    .inim-component.installers #table-installers tbody tr td.cert { padding:1rem 0; }
    /*.inim-component.installers #table-installers tbody tr td.cert,
    .inim-component.installers #table-installers tbody tr td:last-child { vertical-align: middle; }*/
    .inim-component.installers #table-installers thead tr th:first-child { font-size: 1.25rem; color: black; text-transform: none; letter-spacing: 0; padding-left: 0; }
    .inim-component.installers .installer-filter { flex-direction: row; }
    .inim-component.installers .installer-filter .installer-filter-text { flex:0 1 20rem; }
/*    .inim-component.installers .installer-filter .installer-filter-select #filter-type + .select2 {  width: auto !important; }*/
    .inim-component.installers .installer-filter .installer-filter-select .inim-button { flex:0 1 auto; }
    .inim-component.installers .installer-filter .installer-filter-select > * { flex:0 0 auto; }
    .inim-component.installers .mobile-view { display:none; }
    .inim-component.installers .no-mobile-view { display:table-cell; }
}

/* Large devices (laptops/desktops, 992px and up) */
@media (min-width: 992px) {
    .inim-component.installers #table-installers thead { display:table-header-group; }
    .inim-component.installers #installers_map_box { height:30rem; opacity:1; position:relative; top:auto; left:auto; transform: translateY(0); border-radius:20px; margin-top:3rem; margin-bottom:3rem; box-shadow: 10px 10px 30px -20px rgb(var(--black)); z-index: 0; } 
    .inim-component.installers #installers_map_box #installers_map_overlay { display: none; }
    .inim-component.installers #installers_map_wrapper { height:100%; width:100%; transform: translate(0,0); border-radius:0; position:relative; top:auto; left:auto; }
    .inim-component.installers .toggle-map { display:none; }
}
