#ihta_filters { margin-top:var(--gutter_big); }

#ihta_listings {  background:var(--light-purple); padding-bottom:0 !important; }

#atlases #load_this{
    display: flex; align-items:flex-start; justify-content:space-between; margin-top:var(--gutter_big);  background:white; }


#atlases #load_this>div:not(.wrapper) { width:calc(50% + var(--gutter)); width:calc(50% - (var(--gutter) / 2));}



@media all and (max-width:1199px) {
    #atlases #load_this>div:not(.wrapper) { width:calc(66.666% - (var(--gutter) / 2));}
    #atlases #load_this>div#map { width:calc(33.3333% - (var(--gutter) / 2));}
}
@media all and (max-width: 899px) {
    #atlases #load_this{ flex-wrap:wrap; }
    #atlases #load_this>div:not(.wrapper) { width:100% !important;}
}
@media all and (max-width: 599px) {
    #atlases #load_this>div:not(.wrapper) {}
}



#atlases #load_this>div:first-child:not(.wrapper) {


}


#atlases #load_this>div:first-child .listings {
    transition: max-height 1s ease-out; position:relative;
    max-height:999999999px;
}
#atlases #load_this>div:first-child .listings.contained {

    max-height: 166vh;

    overflow: hidden
}


/*#atlases #load_this>div:first-child .listings*/ button#showmore{

    width:100%; height:128px; background:none; outline:none;
    position:absolute; bottom:0; left:0; z-index:10; display:flex; justify-content:center; align-items:center;


}
/*.listings */button#showmore::before { content:"";z-index:9;
    display:block; height:150%; width:100%;  position:absolute; bottom:0; left:0;  background-size:cover;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 66%, rgba(255,255,255,1) 100%);

}

/*.listings */button#showmore span {  font-size: 16px !important;  line-height: 1.4 !important;  margin: 0 auto;

    box-sizing: content-box;
    background:var(--dark-purple); border: 1px solid white;
    color:white;


    font-weight: 600 !important;

    display: inline-block;
    text-shadow: none;


    border-radius: calc(1.5em + 1px); position:relative; z-index:11;

    padding: 0.75em 2em; min-height:1.25em; }


/*#atlases #load_this>div:first-child .listings */button#showmore:is(:hover,:focus-visible) span{
    background:var(--purple); border: 1px solid #000;
    color: #000;
}


/*#atlases #load_this>div:first-child .listings */button#showmore:focus-visible {box-shadow:none; }
/*#atlases #load_this>div:first-child .listings */button#showmore:focus-visible span{
    box-shadow: 0 0 0 2px white, 0 0 0 5px var(--orange);   }



#map { background:var(--purple);  height:100vh; top: 0; position:sticky !important;   /*width:calc(50% - var(--gutter)); */ }



@media screen and (max-width:899px) {
    #map {  height:600px; }
}

@media screen and (max-width:599px) {
    #map {  height:450px; }
}


#ihta_listings div#filters::before,
#ihta_listings div#filters::after
{ width: 100%; height: 32px; display: block; content:""; }




#ihta_listings form{ width: 100%; display: flex; flex-wrap: wrap;  /*   overflow: hidden; */ align-items: flex-start; }
#ihta_listings form>div:first-child {   /*min-width:240px; */padding-right: 24px; display: flex; align-items: center;}
#ihta_listings form>div:last-child {   flex:1; border-left: 1px solid var(--dark-purple);  padding-left: 16px; }

#ihta_listings div.wrapper div h3{ font-family:inherit; font-size: 14px;     margin: 0 8px 0 0;}


#ihta_listings div.wrapper div input[type="submit"] { border: 1px solid var(--dark-purple); outline: none;cursor:pointer; background:#E2D9FF; color: var(--dark-purple);  padding:12px 18px;  font-size: 16px; border-radius: 8px;  margin:1em 0 0 40px; }
#ihta_listings div.wrapper div input[type="submit"]:is(:hover,:focus-visible) {   background:var(--dark-purple); color: white;  }






@media all and (min-width: 600px) {

    #ihta_listings ul { display:flex; flex-wrap:wrap; }
}
@media all and (max-width: 599px) {

    #ihta_listings form{ display: block; }
    #ihta_listings form>div:first-child {  padding-right: 0;  }
    #ihta_listings form>div:last-child  { border-left: none;  padding-left: 0; padding-top: 16px;}
}


#ihta_listings ul li { font-size: inherit;  break-inside: avoid-column; }


#ihta_listings ul li {  margin:0 12px 12px 0 !important; list-style:none !important;}



#ihta_listings label { display:flex; align-items:center;position: relative; font-family: inherit; cursor: pointer; font-size: 16px; border: 1px solid transparent;}
#ihta_listings label input {  position: fixed; opacity: 0; pointer-events: none; top: -100px; }
#ihta_listings label span { display:block;   }
#ihta_listings label>b { display:block; content:""; width:42px; min-width:42px; height: 42px; border: 4px solid var(--bg-purple); position: relative;  border-radius: 50%;  margin-right:1px;   }
#ihta_listings label>b::before { content:""; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width:15px; height: 15px; border: 1px solid #9288B2;  border-radius: 2px; }
#ihta_listings label>input:checked~b::before {  background: #9288B2;   }

#ihta_listings label:is(:hover,:focus-visible)>b {  background: #d8ccff;  }


#ihta_listings label>input:checked~b {    }


#ihta_listings label>input:checked~b::after { content:""; display: block; position: absolute; width:10px; height:5px; border: 2px solid #FFF; border-top: none; border-right: none; left:12px; top: 13px; transform: rotate(-45deg); }

#ihta_listings input[type="submit"]:focus-visible,
#ihta_listings button:focus-visible ,
#ihta_listings label:has(input:focus-visible) {  box-shadow:  0 0 0 3px var(--orange); }

#ihta_listings form>div label { border-radius: 60px; background: white; padding: 0 12px 0 1px; border: 1px solid #221D33  }
#ihta_listings form>div label>b { border-color: white;}


/*
@media screen and (min-width:1024px) {

   #ihta_listings fieldset { width: calc(50% - 30px); }
}

@media screen and (min-width:601px)  {
   #ihta_listings div.wrapper {   display: flex; flex-wrap: wrap; justify-content: space-between; align-items:flex-start;  }
}
@media screen and (min-width:601px) and (max-width:1023px){

   #ihta_listings fieldset { width: calc(50% - 12px); }



}
@media screen and (max-width:599px) {
   #ihta_listings {

       font-size: 2rem;
   }
}

*/


.town_group { border:2px dashed yellow; margin:10px 0 ;}


#ihta_listings #load_this > div:first-child { display:flex; justify-content:flex-end; }
#ihta_listings .listings  { max-width:calc(864px); border-left:var(--wrapper-margin) solid transparent;  border-right:var(--wrapper-margin) solid transparent;  width:100%; /*padding-right:32px;*/}


@media screen and (min-width:900px) {
    #ihta_listings .listings  {max-width: 999px;  border-right:none;}

}
#ihta_listings .listings .town_group { border: 1px solid #E9E6F2;

    background: #FBFAFC;
    margin:32px 0;

    --inner_padding:32px;
    --inner_margin: 20px;

    padding:var(--inner_padding); 
}

div[class^="atlas"] { border-radius:  4px ;
    border: 1px solid #E9E6F2; box-shadow: 0px 8px 16px 0px rgba(167, 141, 252, 0.20);

    background: #FFF;

    display:flex; position:relative;

    transition:background-color 0.2s ease;
}


div[class^="atlas"] > div { padding:var(--inner_padding); flex:1;

}
div[class^="atlas"] > div > p.title {  font-size:28px; font-family:var(--headingfont);  line-height: 120%; margin-bottom:var(--inner_margin);  padding-bottom:var(--inner_margin); border-bottom:1px solid var(--bg-purple); }


div[class^="atlas"] > div > p.number {  font-size:14px; font-family:var(--headingfont);  line-height: 120%; margin-bottom:var(--inner_margin); }
div[class^="atlas"] > div > p.number sup {      top: -.25em;
    font-size: .75em; }

div[class^="atlas"] picture {display:block; /* width:180px; min-width:180px; */ width:225px; min-width:225px;}
div[class^="atlas"] picture::before {content:""; display:block; width:100%; height:0; padding-bottom:100%;}

#ihta_listings .listings  .town_group > div.atlas:not(:first-child){ margin-top:32px; }

div[class^="atlas"] dl.meta::after { width:100%; height:1px; clear:both; display:block; content:"";}

div[class^="atlas"]>a.link { position:absolute; display:block; top:0; left:0; width:100%; height:100%;  z-index:5;  }

div[class^="atlas"]:has(a.link:hover) { background:var(--dark-purple); color:white; }
div[class^="atlas"]:has(a.link:hover) img { transform:translate(-50%, -50%) scale(1.1,1.1); }
div[class^="atlas"]:has(a.link:focus-visible) { box-shadow: 0 0 0 2px #fbfafc, 0 0 0 5px var(--orange); }

div[class^="atlas"] dl.meta dd a { position:relative; z-index:6;}




@media all and (max-width:1199px) {
    div[class^="atlas"] > div > p.title {  font-size:24px; }
    div[class^="atlas"] picture { /* width:150px; min-width:150px; */ width:200px; min-width:200px; }

    #ihta_listings .listings .town_group {
        --inner_padding:24px;
    }
}

@media all and (max-width:599px) {
    #ihta_listings .listings .town_group {
        --inner_padding:16px; --inner_margin: 12px;
    }
    #ihta_listings .listings  .town_group > div.atlas:not(:first-child){ margin-top:24px; }

    div[class^="atlas"] picture { /* width:88px; min-width:88px; */ width:120px; min-width:120px;}
    div[class^="atlas"] > div > p.title {  font-size:16px; }
    div[class^="atlas"] > div > p.number {  font-size:12px; }
    div[class^="atlas"] dl.meta { display:none;}
}


#resultsheader {display:flex; align-items:center; padding:32px 0 0 ; }
#resultsheader select { margin-left:auto; }
#resultsheader > p { font-size:24px; font-family:var(--headingfont); line-height:1.2; }


@media all and (max-width:599px) {

    #resultsheader {display:block; }

    #resultsheader > p { font-size: var(--bodytext_size); margin-bottom:1em; }
}


.gm-style .gm-style-iw  div[class^="atlas"] {
    --inner_padding:16px; max-width:300px;
    --inner_margin: 12px;
}
.gm-style .gm-style-iw div[class^="atlas"] > div > p.title {  font-size:16px; line-height: 120%; margin-bottom:var(--inner_margin);  padding-bottom:var(--inner_margin); border-bottom:1px solid var(--bg-purple); padding-right:44px; }
.gm-style .gm-style-iw div[class^="atlas"] > div > p.number {  font-size:12px; font-family:var(--headingfont);  line-height: 120%; margin-bottom:0; }
.gm-style .gm-style-iw div[class^="atlas"] > div > p.number sup {      top: -.25em;    font-size: .75em; }
.gm-style .gm-style-iw div[class^="atlas"] picture { width:88px; min-width:88px;}

.gm-style .gm-style-iw  div[class^="atlas"] dl.meta { display:none; }



/*

.gm-style .gm-style-iw div.popup > a {
    color: #000
}

.gm-style .gm-style-iw div.popup > a > div, .gm-style .gm-style-iw div.popup > div {
    width: 150px;
    padding: 10px;
    font-family: 'lato', sans-serif
}

.gm-style .gm-style-iw div.popup > a > img, .gm-style .gm-style-iw div.popup > img {
    display: block;
    width: 250px;
    height: auto
}

.gm-style .gm-style-iw div.popup > a > div > h3, .gm-style .gm-style-iw div.popup > div > h3 {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.2
}

.gm-style .gm-style-iw div.popup > a > div > p, .gm-style .gm-style-iw div.popup > div > p {
    font-weight: 300;
    font-size: 12px;
    line-height: 1.4
}
*/
.gm-style .gm-style-iw-d {
    overflow: hidden !important;
    max-height: 1000px !important
}

.gm-style .gm-style-iw-c {
    padding: 0 !important;
    max-height: 1000px !important
}

.gm-style .gm-style-iw > button {
    filter: invert(1) !important;
    transform: scale(1.5);
    transform-origin: right top;
    z-index: 100
}

.gm-style .gm-style-iw div.popup:before {
    opacity: .75;
    content: "";
    display: block;
    top: -2px;
    left: 0;
    width: 100%;
    height: 50px;
    pointer-events: none;
    position: absolute;
    z-index: 10;
    box-sizing: content-box;
    background: -webkit-linear-gradient(top, #000 0%, hsla(180, 0%, 100%, .738) 19%, hsla(180, 0%, 100%, .541) 34%, hsla(180, 0%, 100%, .382) 47%, hsla(180, 0%, 100%, .278) 56.5%, hsla(180, 0%, 100%, .194) 65%, hsla(180, 0%, 100%, .126) 73%, hsla(180, 0%, 100%, .075) 80.2%, hsla(180, 0%, 100%, .042) 86.1%, hsla(180, 0%, 100%, .021) 91%, hsla(180, 0%, 100%, .008) 95.2%, hsla(180, 0%, 100%, .002) 98.2%, hsla(180, 0%, 100%, 0) 100%);
    background: linear-gradient(top, #000 0%, hsla(180, 0%, 100%, .738) 19%, hsla(180, 0%, 100%, .541) 34%, hsla(180, 0%, 100%, .382) 47%, hsla(180, 0%, 100%, .278) 56.5%, hsla(180, 0%, 100%, .194) 65%, hsla(180, 0%, 100%, .126) 73%, hsla(180, 0%, 100%, .075) 80.2%, hsla(180, 0%, 100%, .042) 86.1%, hsla(180, 0%, 100%, .021) 91%, hsla(180, 0%, 100%, .008) 95.2%, hsla(180, 0%, 100%, .002) 98.2%, hsla(180, 0%, 100%, 0) 100%)
}

.gm-style-iw-chr {
    position: absolute; pointer-events:none;
    z-index: 100;
    width: 100%
}
.gm-style-iw-chr button { pointer-events:auto;}
.gm-style-iw-chr button:before {
    display: block;
    content: "";
    background:var(--bg-purple);
    border-radius: 50%;
    width: 32px;
    height: 32px;
    top: 8px;
    left: 8px;
    position: absolute
}



.select {  font-family: "source-sans-3", sans-serif;
    position: relative;
    background-color: white;
    border-radius: 8px;
    border:1px solid var(--dark-purple);

    display:flex; align-items:center;
}
.select select {
    font-size: 16px; font-family: inherit;
    font-weight: normal;
    max-width: 100%;
    padding:0.75em calc(1.5em + 19px) 0.75em 1em;
    border: none;
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: var(--black);
}
.select select:active, .select-dropdown select:focus {
    outline: none;
    box-shadow: none;
}

.select select:focus {  outline: none; }
.select select option {   padding:0.5em 1em; display:block; }



.select::after {
    content: "";
    margin-left: 0.333em;
    display: inline-block;
    width: 19px; margin-right:1em; position:absolute; right:0; top:50%; transform:translateY(-50%);
    height: 19px;

    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><polygon fill="%236F6F6F" points="10,15.4 1.3,6.7 2.7,5.3 10,12.6 17.3,5.3 18.7,6.7 	"/></svg>');

    transition: all 0.2s ease;

}

#order_options_cloned {   display:flex; align-items:center; margin-left:auto;}
#order_options_cloned label { margin-right:8px;}