.elementor-4487 .elementor-element.elementor-element-5e9f2eb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4487 .elementor-element.elementor-element-5265745{--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;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:10px;--padding-right:0px;}.elementor-4487 .elementor-element.elementor-element-a479d67{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4487 .elementor-element.elementor-element-7a600da{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4487 .elementor-element.elementor-element-d02002b{--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;--padding-top:150px;--padding-bottom:200px;--padding-left:0px;--padding-right:0px;}.elementor-4487 .elementor-element.elementor-element-b1b73345{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-4487 .elementor-element.elementor-element-5265745{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-4487 .elementor-element.elementor-element-d02002b{--padding-top:50px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-5343c98 *//* ==== COR project hero mobile ==== */
@media (max-width: 1024px) {
    .elementor-4487 .elementor-element.elementor-element-5343c98 .cor-prj-hero { display: grid; grid-template-columns: 100%; }
    .elementor-4487 .elementor-element.elementor-element-5343c98 .cor-prj-hero__media { grid-row: 1; grid-column: 1; }
    .elementor-4487 .elementor-element.elementor-element-5343c98 .cor-prj-hero__media img { position: absolute; inset: 0; height: 100%; }
    .elementor-4487 .elementor-element.elementor-element-5343c98 .cor-prj-hero__title { grid-row: 1; grid-column: 1; position: relative; z-index: 1; left: auto; bottom: auto; align-self: end; justify-self: start; margin: 0 0 40px calc(var(--p-inset) - var(--p-gutter)); }
    .elementor-4487 .elementor-element.elementor-element-5343c98 .cor-prj-hero .cor-prj-meta { grid-row: 2; grid-column: 1; justify-self: stretch; margin-left: 0; }
}
@media (max-width: 640px) {
    .elementor-4487 .elementor-element.elementor-element-5343c98 .cor-prj-hero__media { aspect-ratio: 4 / 3; }
    .elementor-4487 .elementor-element.elementor-element-5343c98 .cor-prj-hero__title { margin: 0 0 24px 20px; }
    .elementor-4487 .elementor-element.elementor-element-5343c98 .cor-prj-hero .cor-prj-meta { margin-right: 0; }
}
/* ==== end ==== *//* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-eb5817e *//* CS-272/273: on phones the lede sits inside the page margin, matching the body text below it */
@media (max-width: 767px) {
  .elementor-4487 .elementor-element.elementor-element-eb5817e .cor-prj-lede { width: auto; max-width: 100%; margin-left: 0; padding-left: 0; padding-right: 0; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c10b2ef *//* ==== COR project mobile ==== */
@media (max-width: 1024px) {
    .elementor-4487 .elementor-element.elementor-element-c10b2ef .cor-prj-body { width: auto; max-width: 100%; margin-left: -10px; }
}
@media (max-width: 767px) {
    .elementor-4487 .elementor-element.elementor-element-c10b2ef .cor-prj-body { margin-left: 0; padding-left: 0; padding-right: 0; }
}
/* ==== end ==== *//* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b630ead *//* ==== COR project mobile ==== */
@media (max-width: 1024px) {
    .elementor-4487 .elementor-element.elementor-element-b630ead .cor-prj-slide { max-width: none; }
    .elementor-4487 .elementor-element.elementor-element-b630ead .cor-prj-slide img { height: 100% !important; }
}
@media (max-width: 767px) {
    .elementor-4487 .elementor-element.elementor-element-b630ead .cor-prj-gallery__nav { margin: 8px 8px 32px var(--p-gutter); }
    .elementor-4487 .elementor-element.elementor-element-b630ead .cor-prj-dots { min-width: 0; overflow: hidden; }  /* CS-57 — gap removed: it was pinning the dots at 6px and beating the plugin's 10px, which is the rule that was supposed to un-smoosh them. */
    .elementor-4487 .elementor-element.elementor-element-b630ead .cor-prj-arrows { flex: 0 0 auto; }
    .elementor-4487 .elementor-element.elementor-element-b630ead .cor-prj-btn { width: 52px !important; height: 52px !important; font-size: 32px !important; }
    .elementor-4487 .elementor-element.elementor-element-b630ead .cor-prj-gallery::before { height: calc(60vw / 3 + 60px); }
}
/* ==== end ==== *//* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c98c696 *//* ==== COR project mobile ==== */
@media (max-width: 1024px) {
    .elementor-4487 .elementor-element.elementor-element-c98c696 .cor-prj-details { margin-top: 0; }
}
/* ==== end ==== *//* End custom CSS */