.elementor-55 .elementor-element.elementor-element-8910361{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-55 .elementor-element.elementor-element-7c10699 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:2.4rem;color:var( --e-global-color-primary );}.elementor-55 .elementor-element.elementor-element-bbd76cf{padding:0px 250px 0px 0px;}.elementor-55 .elementor-element.elementor-element-bbd76cf .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:clamp(1.2rem, 1.1769rem + 0.1026vw, 1.25rem);line-height:1.4em;}.elementor-55 .elementor-element.elementor-element-725156d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:250px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-55 .elementor-element.elementor-element-2d46485{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 250px 0px 0px;font-size:var( --e-global-typography-8988924-font-size );font-weight:var( --e-global-typography-8988924-font-weight );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-2a9a842{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 250px 0px 0px;font-size:var( --e-global-typography-8988924-font-size );font-weight:var( --e-global-typography-8988924-font-weight );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-c614009{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 250px 0px 0px;font-size:var( --e-global-typography-8988924-font-size );font-weight:var( --e-global-typography-8988924-font-weight );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-afada67{--display:flex;}@media(max-width:1366px){.elementor-55 .elementor-element.elementor-element-2d46485{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-2a9a842{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-c614009{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}}@media(max-width:1024px){.elementor-55 .elementor-element.elementor-element-2d46485{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-2a9a842{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-c614009{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}}@media(max-width:767px){.elementor-55 .elementor-element.elementor-element-2d46485{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-2a9a842{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}.elementor-55 .elementor-element.elementor-element-c614009{font-size:var( --e-global-typography-8988924-font-size );line-height:var( --e-global-typography-8988924-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-426c375 */.leaflet-popup-content-wrapper {
    border-radius: 0px!important;
}
.leaflet-container {
    min-height: 400px;
}
.leaflet-bar a:first-child {
    border-top-left-radius: 0px!important; 
    border-top-right-radius: 0px!important;
}
.leaflet-bar a:last-child {
    border-bottom-left-radius: 0px!important;
    border-bottom-right-radius: 0px!important;
    border-bottom: none;
}

.leaflet-popup-content {
    font-size: 14px;
    font-family: 'Lato', sans-serif;
}
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
    background: #f3f3f3!important;
}
.leaflet-container a {
    color: #FA8A3A!important;
}
.leaflet-container a:hover {
    color: #E4501E!important;
}
.leaflet-top, .leaflet-bottom {
    z-index: 900!important;
}
.leaflet-map.leaflet-container.leaflet-fade-anim.leaflet-grab.leaflet-touch-drag {
    -webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.15);
    box-shadow: 0 0 10px 0 rgba(0,0,0,.15);
}

@media (min-width: 48em) {
.my-photos-description {
    width: calc(100% - 166px);
    font-family:'Raleway', sans-serif;
}
.my-photos-description {
    width: 100%;
    font-family:'Raleway', sans-serif;
}
}
@media (min-width: 48em) {
.my-photos-description {
    width: calc(100% - 166px);
    font-family:'Raleway', sans-serif;
}
.my-photos-description {
    width: 100%;
    font-family:'Raleway', sans-serif;
}
}

@media (min-width: 48em) {
    .my-photos-description-wide {
        width: calc(100% - 166px);
        font-family:'Raleway', sans-serif;
        margin-top:-20px;
        margin-bottom: -30px;
    }
    .my-photos-description-wide {
        width: 100%;
        font-family:'Raleway', sans-serif;
    }
    }
    @media (min-width: 48em) {
    .my-photos-description-wide {
        width: calc(100% - 166px);
        font-family:'Raleway', sans-serif;
    }
    .my-photos-description-wide {
        width: 100%;
        font-family:'Raleway', sans-serif;
    }
    }

@media (min-width: 48em) {
.my-photos-thumbnail-image {
    float: right!important;
    margin: 0 0 22px;
}
.my-photos-thumbnail-image {
    width: 150px!important;
    margin: 0 auto 40px;
}
}

@media (max-width: 47em) {
.my-photos-thumbnail-image {
    display:none!important;
}
}

@media (min-width: 48em) {
    .my-photos-thumbnail-image-wide {
        float: right!important;
        /*margin: 0 0 22px;*/
    }
    .my-photos-thumbnail-image-wide {
        width: 220px!important; /* changed from 180px on 10/18/22 - MI */
        /*margin: 0 auto 40px;*/
    }
    }
    
    @media (max-width: 47em) {
    .my-photos-thumbnail-image-wide {
        display:none!important;
    }
    }

@media (min-width: 48em) {
    .my-photos-thumbnail-image-wider {
        float: right!important;
        /*margin: 0 0 22px;*/
    }
    .my-photos-thumbnail-image-wider {
        width: 220px!important; /* changed from 180px on 10/18/22 - MI */
        /*margin: 0 auto 40px;*/
    }
    }
    
    @media (max-width: 47em) {
    .my-photos-thumbnail-image-wider {
        display:none!important;
    }
    }

@media (max-width: 47em) {
.leaflet-popup-content-wrapper {
    max-width:300px!important;
}
.leaflet-map-image {
    max-width:260px;
}
.leaflet-map-description {
    max-width:260px;
    padding-top: 10px;
    font-family:'Raleway', sans-serif;
}
.my-photos-description {
    max-width:300px!important;
    font-family:'Raleway', sans-serif;
}
}

.leaflet-popup-content {
    min-width:360px;
}

.leaflet-popup-close-button {
    position: absolute;
    top: 0;
    right: 0;
    padding: 14px 14px 0 0!important;
    border: none;
    text-align: center;
    width: 30px!important;
    height: 14px!important;
    font: 24px/14px Tahoma, Verdana, sans-serif!important;
    color: #c3c3c3;
    text-decoration: none;
    font-weight: bold;
    background: transparent;
}
.leaflet-interactive {
    stroke-width: 1;
    stroke-opacity:.6;
    stroke:#262626;
}

p.leaflet-popup-project-link {
    padding-top: 10px; 
    font-weight:500;
}

p.leaflet-popup-project-link-wider {
    padding-top: 36px; /* changed from 10px on 10/18/22 - MI */
    font-weight:500;
}
/* === MDI Carousel === */
.mdi-popup-wrap {
  font-family: 'Nunito', sans-serif;
}
.mdi-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: none;   /* ← was #000, remove it */
  margin-bottom: 8px;
  line-height: 0;     /* ← kills ghost spacing under images */
}
.mdi-carousel-track {
  display: flex;
  align-items: stretch;  /* ← ensures track only grows as tall as the image */
  transition: transform 0.35s ease;
}
.mdi-carousel-img {
  min-width: 100%;
  max-width: 100%;
  height: 200px;
  object-fit: cover;
  cursor: zoom-in;
  display: block;
}
@media (max-width: 47em) {
  .mdi-carousel-img {
    height: 140px;
  }
  .leaflet-popup-content {
    min-width: 260px !important;
  }
}
.mdi-prev, .mdi-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.45);
  color: #fff;
  border: none;
  font-size: 20px;
  padding: 6px 12px;
  cursor: pointer;
  z-index: 10;
  line-height: 1;
}
.mdi-prev { left: 0; }
.mdi-next { right: 0; }
.mdi-prev:hover, .mdi-next:hover { background: rgba(0,0,0,0.75); }
.mdi-dots {
  text-align: center;
  padding: 4px 0 2px;
  background: none;   /* ← was #1a1a1a, remove this too */
  line-height: 1;     /* ← reset line-height for dots */
}
.mdi-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #777;
  margin: 0 3px;
  cursor: pointer;
  transition: background 0.2s;
}
.mdi-dot.active { background: #DDC67B; }

/* Tighten description spacing under carousel */
.mdi-popup-wrap .my-photos-description-wide {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 4px;
}
.mdi-popup-wrap .my-photos-description-wide p {
  margin: 4px 0 !important;
  line-height: 1.4;
}
.mdi-popup-wrap .leaflet-popup-project-link-wider {
  padding-top: 6px !important;
}

/* === Lightbox === */
#mdi-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.88);
  z-index: 99999;
  align-items: center;
  justify-content: center;
}
#mdi-lightbox.open { display: flex; }
#mdi-lightbox img {
  max-width: 90vw;
  max-height: 88vh;
  object-fit: contain;
  box-shadow: 0 0 40px rgba(0,0,0,0.6);
}
#mdi-lightbox-close {
  position: fixed;
  top: 18px;
  right: 24px;
  font-size: 36px;
  color: #fff;
  cursor: pointer;
  line-height: 1;
  z-index: 100000;
}
/* Prevent Elementor sections from clipping Leaflet popups */
.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container,
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-column-wrap,
.elementor-widget-wrap {
    overflow: visible !important;
}

/* Leaflet's own pane must also be visible */
.leaflet-pane,
.leaflet-popup-pane {
    overflow: visible !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-27b72fb */.leaflet-popup-content-wrapper {
    border-radius: 0px!important;
}
.leaflet-container {
    min-height: 400px;
}
.leaflet-bar a:first-child {
    border-top-left-radius: 0px!important; 
    border-top-right-radius: 0px!important;
}
.leaflet-bar a:last-child {
    border-bottom-left-radius: 0px!important;
    border-bottom-right-radius: 0px!important;
    border-bottom: none;
}

.leaflet-popup-content {
    font-size: 14px;
    font-family: 'Lato', sans-serif;
}
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
    background: #f3f3f3!important;
}
.leaflet-container a {
    color: #FA8A3A!important;
}
.leaflet-container a:hover {
    color: #E4501E!important;
}
.leaflet-top, .leaflet-bottom {
    z-index: 900!important;
}
.leaflet-map.leaflet-container.leaflet-fade-anim.leaflet-grab.leaflet-touch-drag {
    -webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.15);
    box-shadow: 0 0 10px 0 rgba(0,0,0,.15);
}

@media (min-width: 48em) {
.cn-projects-description {
    width: calc(100% - 166px);
    font-family:'Raleway', sans-serif;
}
.cn-projects-description {
    width: 100%;
    font-family:'Raleway', sans-serif;
}
}
@media (min-width: 48em) {
.cn-projects-description {
    width: calc(100% - 166px);
    font-family:'Raleway', sans-serif;
}
.cn-projects-description {
    width: 100%;
    font-family:'Raleway', sans-serif;
}
}

@media (min-width: 48em) {
    .cn-projects-description-wide {
        width: calc(100% - 166px);
        font-family:'Raleway', sans-serif;
        margin-top:-20px;
        margin-bottom: -30px;
    }
    .cn-projects-description-wide {
        width: 100%;
        font-family:'Raleway', sans-serif;
    }
    }
    @media (min-width: 48em) {
    .cn-projects-description-wide {
        width: calc(100% - 166px);
        font-family:'Raleway', sans-serif;
    }
    .cn-projects-description-wide {
        width: 100%;
        font-family:'Raleway', sans-serif;
    }
    }

@media (min-width: 48em) {
.cn-projects-thumbnail-image {
    float: right!important;
    margin: 0 0 22px;
}
.cn-projects-thumbnail-image {
    width: 150px!important;
    margin: 0 auto 40px;
}
}

@media (max-width: 47em) {
.cn-projects-thumbnail-image {
    display:none!important;
}
}

@media (min-width: 48em) {
    .cn-projects-thumbnail-image-wide {
        float: right!important;
        /*margin: 0 0 22px;*/
    }
    .cn-projects-thumbnail-image-wide {
        width: 220px!important; /* changed from 180px on 10/18/22 - MI */
        /*margin: 0 auto 40px;*/
    }
    }
    
    @media (max-width: 47em) {
    .cn-projects-thumbnail-image-wide {
        display:none!important;
    }
    }

@media (min-width: 48em) {
    .cn-projects-thumbnail-image-wider {
        float: right!important;
        /*margin: 0 0 22px;*/
    }
    .cn-projects-thumbnail-image-wider {
        width: 220px!important; /* changed from 180px on 10/18/22 - MI */
        /*margin: 0 auto 40px;*/
    }
    }
    
    @media (max-width: 47em) {
    .cn-projects-thumbnail-image-wider {
        display:none!important;
    }
    }

@media (max-width: 47em) {
.leaflet-popup-content-wrapper {
    max-width:300px!important;
}
.leaflet-map-image {
    max-width:260px;
}
.leaflet-map-description {
    max-width:260px;
    padding-top: 10px;
    font-family:'Raleway', sans-serif;
}
.cn-projects-description {
    max-width:300px!important;
    font-family:'Raleway', sans-serif;
}
}

.leaflet-popup-content {
    min-width:360px;
}

.leaflet-popup-close-button {
    position: absolute;
    top: 0;
    right: 0;
    padding: 14px 14px 0 0!important;
    border: none;
    text-align: center;
    width: 30px!important;
    height: 14px!important;
    font: 24px/14px Tahoma, Verdana, sans-serif!important;
    color: #c3c3c3;
    text-decoration: none;
    font-weight: bold;
    background: transparent;
}
.leaflet-interactive {
    stroke-width: 1;
    stroke-opacity:.6;
    stroke:#262626;
}

p.leaflet-popup-project-link {
    padding-top: 10px; 
    font-weight:500;
}

p.leaflet-popup-project-link-wider {
    padding-top: 36px; /* changed from 10px on 10/18/22 - MI */
    font-weight:500;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Roboto';
	font-display: auto;
	src: url('https://cmcommslab.com/wp-content/uploads/2026/01/Roboto-VariableFont_wdthwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Open Sans';
	font-display: auto;
	src: url('https://cmcommslab.com/wp-content/uploads/2025/12/OpenSans-VariableFont_wdthwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */