
.gmr-articles-compact {
font-family: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
max-width: 1200px;
margin: 0 auto;
}
.gmr-articles-header-compact {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
}
.gmr-articles-title-compact {
font-family: 'Raleway', sans-serif;
font-weight: 800;
letter-spacing: 0.02em;
color: #970000;
margin: 0;
font-size: 1.5em;
}
.gmr-view-all-compact {
margin-left: auto;
}
.gmr-view-all-compact a {
font-family: 'Raleway', sans-serif;
font-weight: 600;
letter-spacing: 0.02em;
display: inline-block;
padding: 10px 18px;
background: transparent;
color: #970000;
text-decoration: none;
border-radius: 8px;
font-size: 0.95em;
border: 1px solid #970000;
transition: all 0.3s ease;
}
.gmr-view-all-compact a:hover {
background: #970000;
color: white;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(151, 0, 0, 0.2);
}
.gmr-articles-grid-compact {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 30px;
}
.gmr-article-card-compact {
font-family: 'Raleway', sans-serif;
border: 1px solid #e9ecef;
border-radius: 12px;
padding: 35px 22px;
background: white;
transition: all 0.3s ease;
height: 100%;
min-height: 220px;
}
.gmr-article-card-compact:hover {
border-color: #970000;
box-shadow: 0 8px 25px rgba(151, 0, 0, 0.15);
transform: translateY(-4px);
}
.gmr-article-date-compact {
font-family: 'Raleway', sans-serif;
font-weight: 500;
letter-spacing: 0.01em;
color: #666;
font-size: 0.85em;
margin-bottom: 12px;
display: block;
}
.gmr-article-title-compact {
font-family: 'Raleway', sans-serif;
font-weight: 700;
letter-spacing: 0.01em;
margin: 0 0 20px 0;
font-size: 1.2em;
color: #212529;
line-height: 1.4;
}
.gmr-article-title-compact a {
color: inherit;
text-decoration: none;
transition: color 0.3s;
}
.gmr-article-title-compact a:hover {
color: #970000;
}
.gmr-article-excerpt-compact {
font-family: 'Raleway', sans-serif;
font-weight: 400;
letter-spacing: 0.01em;
color: #6c757d;
font-size: 1em;
line-height: 1.6;
margin: 0;
}
/* Optionnel: Effet dégradé pour les titres d'articles */
.gmr-article-title-compact a {
background: linear-gradient(90deg, #212529, #495057);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.gmr-article-title-compact a:hover {
background: linear-gradient(90deg, #970000, #c10000);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Responsive Design */
@media (max-width: 992px) {
.gmr-articles-grid-compact {
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 25px;
}
.gmr-article-card-compact {
padding: 30px 20px;
min-height: 200px;
}
.gmr-articles-title-compact {
font-size: 1.4em;
}
}
@media (max-width: 768px) {
.gmr-articles-header-compact {
flex-direction: column;
align-items: flex-start;
gap: 15px;
margin-bottom: 25px;
}
.gmr-view-all-compact {
margin-left: 0;
}
.gmr-articles-grid-compact {
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
}
.gmr-article-card-compact {
padding: 25px 18px;
min-height: 190px;
}
.gmr-articles-title-compact {
font-size: 1.3em;
letter-spacing: 0.01em;
}
}
@media (max-width: 480px) {
.gmr-articles-grid-compact {
grid-template-columns: 1fr;
gap: 18px;
}
.gmr-article-card-compact {
padding: 22px 16px;
min-height: 180px;
}
.gmr-articles-title-compact {
font-size: 1.2em;
}
.gmr-article-title-compact {
font-size: 1.1em;
line-height: 1.4;
}
.gmr-article-excerpt-compact {
font-size: 0.95em;
line-height: 1.5;
}
}
@media (max-width: 360px) {
.gmr-article-card-compact {
padding: 20px 15px;
}
.gmr-view-all-compact a {
padding: 8px 15px;
font-size: 0.9em;
}
}


.cpt-articles-container {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
/* Formulaire de filtre */
.cpt-filter-form {
background: #f8f9fa;
border-radius: 10px;
padding: 25px;
margin-bottom: 30px;
border: 1px solid #e9ecef;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
display: flex;
align-items: center;
gap: 15px;
flex-wrap: wrap;
}
.cpt-filter-form select {
flex: 1;
min-width: 200px;
padding: 12px 15px;
border: 2px solid #dee2e6;
border-radius: 8px;
background: white;
font-size: 16px;
color: #495057;
cursor: pointer;
transition: all 0.3s ease;
appearance: none;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 15px center;
background-size: 16px;
}
.cpt-filter-form select:focus {
outline: none;
border-color: #2c5282;
box-shadow: 0 0 0 3px rgba(44, 82, 130, 0.2);
}
.cpt-filter-form select:hover {
border-color: #adb5bd;
}
.cpt-filter-form a.reset-btn {
display: inline-flex;
align-items: center;
padding: 10px 18px;
background: #2c5282;
color: white !important;
text-decoration: none;
border-radius: 8px;
font-weight: 500;
font-size: 15px;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.cpt-filter-form a.reset-btn:hover {
background: #1a365d;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(44, 82, 130, 0.2);
}
/* Grille des articles */
.cpt-liste-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
gap: 25px;
margin-bottom: 40px;
}
.cpt-item {
background: white;
border-radius: 12px;
padding: 25px;
border: 1px solid #e9ecef;
transition: all 0.3s ease;
box-shadow: 0 2px 6px rgba(0,0,0,0.04);
height: 100%;
display: flex;
flex-direction: column;
position: relative;
}
.cpt-item:hover {
transform: translateY(-5px);
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
border-color: #2c5282;
}
.cpt-item h2 {
margin: 0 0 15px 0;
color: #212529;
font-size: 1.4em;
font-weight: 600;
line-height: 1.3;
padding-bottom: 12px;
border-bottom: 2px solid #f1f3f5;
}
.cpt-item .cpt-date {
color: #6c757d;
font-size: 0.85em;
margin-bottom: 10px;
display: block;
}
.cpt-item .cpt-content {
color: #495057;
line-height: 1.6;
font-size: 15px;
margin: 0 0 20px 0;
flex-grow: 1;
}
.cpt-item .cpt-excerpt {
color: #6c757d;
line-height: 1.6;
font-size: 15px;
margin: 0 0 20px 0;
flex-grow: 1;
}
.cpt-item .cpt-categories {
margin-top: 15px;
padding-top: 15px;
border-top: 1px solid #f1f3f5;
}
.cpt-item .cpt-category-tag {
display: inline-block;
background: #e6f7ff;
color: #0066cc;
padding: 6px 12px;
border-radius: 6px;
font-size: 13px;
font-weight: 500;
margin-right: 8px;
margin-bottom: 8px;
border: 1px solid #b3e0ff;
transition: all 0.2s ease;
}
.cpt-item .cpt-category-tag:hover {
background: #d1ecf1;
color: #0056b3;
transform: translateY(-1px);
}
/* Pagination améliorée */
.cpt-pagination {
display: flex;
justify-content: center;
align-items: center;
margin-top: 40px;
padding-top: 25px;
border-top: 1px solid #e9ecef;
gap: 10px;
flex-wrap: wrap;
}
.cpt-pagination a,
.cpt-pagination span {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 45px;
height: 45px;
padding: 0 15px;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 15px;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.cpt-pagination a {
background: #f8f9fa;
color: #495057;
border: 2px solid #dee2e6;
}
.cpt-pagination a:hover {
background: #2c5282;
color: white;
border-color: #2c5282;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3);
}
.cpt-pagination .current {
background: #2c5282;
color: white;
border: 2px solid #2c5282;
font-weight: 600;
cursor: default;
}
.cpt-pagination .dots {
color: #6c757d;
padding: 0 5px;
background: none;
border: none;
min-width: auto;
}
.cpt-pagination .prev,
.cpt-pagination .next {
padding: 0 20px;
font-weight: 600;
}
.cpt-pagination .prev:before {
content: "←";
margin-right: 8px;
}
.cpt-pagination .next:after {
content: "→";
margin-left: 8px;
}
/* Message aucun résultat */
.no-results-message {
text-align: center;
padding: 60px 20px;
background: #f8f9fa;
border-radius: 12px;
border: 1px dashed #dee2e6;
}
.no-results-message p {
color: #6c757d;
font-size: 18px;
margin-bottom: 25px;
line-height: 1.5;
}
.no-results-message a {
display: inline-flex;
align-items: center;
padding: 12px 24px;
background: #2c5282;
color: white !important;
text-decoration: none;
border-radius: 8px;
font-weight: 500;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.no-results-message a:hover {
background: #1a365d;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3);
}
.no-results-message a:before {
content: "←";
margin-right: 8px;
}
/* Statistiques */
.cpt-stats {
color: #6c757d;
font-size: 14px;
text-align: center;
margin-bottom: 20px;
padding: 10px;
background: #f8f9fa;
border-radius: 8px;
border: 1px solid #e9ecef;
}
/* Responsive */
@media (max-width: 768px) {
.cpt-articles-container {
padding: 15px;
}
.cpt-filter-form {
padding: 20px;
flex-direction: column;
align-items: stretch;
}
.cpt-filter-form select {
min-width: 100%;
margin-bottom: 10px;
}
.cpt-filter-form a.reset-btn {
width: 100%;
justify-content: center;
}
.cpt-liste-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.cpt-item {
padding: 20px;
}
.cpt-pagination {
gap: 8px;
}
.cpt-pagination a,
.cpt-pagination span {
min-width: 40px;
height: 40px;
font-size: 14px;
padding: 0 12px;
}
.cpt-pagination .prev,
.cpt-pagination .next {
padding: 0 15px;
}
}
@media (max-width: 480px) {
.cpt-item h2 {
font-size: 1.2em;
}
.cpt-item .cpt-content {
font-size: 14px;
}
.cpt-pagination {
gap: 5px;
}
.cpt-pagination a,
.cpt-pagination span {
min-width: 35px;
height: 35px;
font-size: 13px;
padding: 0 10px;
}
}


.cpt-references-container {
font-family: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
font-weight: 400;
letter-spacing: 0.01em;
line-height: 1.6;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
/* Formulaire de filtre */
.cpt-filter-form {
background: #f8f9fa;
border-radius: 10px;
padding: 25px;
margin-bottom: 30px;
border: 1px solid #e9ecef;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
display: flex;
align-items: center;
gap: 15px;
flex-wrap: wrap;
}
.cpt-filter-form select {
font-family: 'Raleway', sans-serif;
font-weight: 500;
flex: 1;
min-width: 250px;
padding: 12px 15px;
border: 2px solid #dee2e6;
border-radius: 8px;
background: white;
font-size: 16px;
color: #495057;
cursor: pointer;
transition: all 0.3s ease;
appearance: none;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 15px center;
background-size: 16px;
}
.cpt-filter-form select:focus {
outline: none;
border-color: #2c5282;
box-shadow: 0 0 0 3px rgba(44, 82, 130, 0.2);
}
.cpt-filter-form select:hover {
border-color: #adb5bd;
}
.cpt-filter-form a.reset-btn {
font-family: 'Raleway', sans-serif;
font-weight: 600;
letter-spacing: 0.02em;
display: inline-flex;
align-items: center;
padding: 10px 18px;
background: #2c5282;
color: white !important;
text-decoration: none;
border-radius: 8px;
font-size: 15px;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.cpt-filter-form a.reset-btn:hover {
background: #1a365d;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(44, 82, 130, 0.2);
}
/* Grille des références */
.cpt-liste-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
gap: 25px;
margin-bottom: 40px;
}
.cpt-item {
background: white;
border-radius: 12px;
padding: 25px;
border: 1px solid #e9ecef;
transition: all 0.3s ease;
box-shadow: 0 2px 6px rgba(0,0,0,0.04);
height: 100%;
display: flex;
flex-direction: column;
position: relative;
}
.cpt-item:hover {
transform: translateY(-5px);
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
border-color: #2c5282;
}
.cpt-item h2 {
font-family: 'Raleway', sans-serif;
font-weight: 700;
letter-spacing: 0.02em;
margin: 0 0 15px 0;
color: #212529;
font-size: 1.4em;
line-height: 1.3;
padding-bottom: 12px;
border-bottom: 2px solid #f1f3f5;
}
.cpt-item .cpt-content {
font-family: 'Raleway', sans-serif;
font-weight: 400;
letter-spacing: 0.01em;
color: #495057;
line-height: 1.7;
font-size: 15px;
margin: 0 0 20px 0;
flex-grow: 1;
}
.cpt-item .cpt-categories {
margin-top: 15px;
padding-top: 15px;
border-top: 1px solid #f1f3f5;
}
.cpt-item .cpt-category-tag {
font-family: 'Raleway', sans-serif;
font-weight: 600;
letter-spacing: 0.02em;
display: inline-block;
background: #e6f7ff;
color: #0066cc;
padding: 6px 12px;
border-radius: 6px;
font-size: 13px;
margin-right: 8px;
margin-bottom: 8px;
border: 1px solid #b3e0ff;
transition: all 0.2s ease;
}
.cpt-item .cpt-category-tag:hover {
background: #d1ecf1;
color: #0056b3;
transform: translateY(-1px);
}
/* Pagination améliorée */
.cpt-pagination {
display: flex;
justify-content: center;
align-items: center;
margin-top: 40px;
padding-top: 25px;
border-top: 1px solid #e9ecef;
gap: 10px;
flex-wrap: wrap;
}
.cpt-pagination a,
.cpt-pagination span {
font-family: 'Raleway', sans-serif;
font-weight: 600;
letter-spacing: 0.01em;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 45px;
height: 45px;
padding: 0 15px;
border-radius: 8px;
text-decoration: none;
font-size: 15px;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.cpt-pagination a {
background: #f8f9fa;
color: #495057;
border: 2px solid #dee2e6;
}
.cpt-pagination a:hover {
background: #2c5282;
color: white;
border-color: #2c5282;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3);
}
.cpt-pagination .current {
background: #2c5282;
color: white;
border: 2px solid #2c5282;
font-weight: 700;
cursor: default;
}
.cpt-pagination .dots {
color: #6c757d;
padding: 0 5px;
background: none;
border: none;
min-width: auto;
}
.cpt-pagination .prev,
.cpt-pagination .next {
padding: 0 20px;
font-weight: 700;
}
.cpt-pagination .prev:before {
content: "←";
margin-right: 8px;
}
.cpt-pagination .next:after {
content: "→";
margin-left: 8px;
}
/* Message aucun résultat */
.no-results-message {
text-align: center;
padding: 60px 20px;
background: #f8f9fa;
border-radius: 12px;
border: 1px dashed #dee2e6;
}
.no-results-message p {
font-family: 'Raleway', sans-serif;
font-weight: 400;
color: #6c757d;
font-size: 18px;
margin-bottom: 25px;
line-height: 1.5;
}
.no-results-message a {
font-family: 'Raleway', sans-serif;
font-weight: 600;
letter-spacing: 0.02em;
display: inline-flex;
align-items: center;
padding: 12px 24px;
background: #2c5282;
color: white !important;
text-decoration: none;
border-radius: 8px;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.no-results-message a:hover {
background: #1a365d;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3);
}
.no-results-message a:before {
content: "←";
margin-right: 8px;
}
/* Statistiques */
.cpt-stats {
font-family: 'Raleway', sans-serif;
font-weight: 400;
color: #6c757d;
font-size: 14px;
letter-spacing: 0.01em;
text-align: center;
margin-bottom: 20px;
padding: 10px;
background: #f8f9fa;
border-radius: 8px;
border: 1px solid #e9ecef;
}
/* Responsive */
@media (max-width: 768px) {
.cpt-references-container {
padding: 15px;
}
.cpt-filter-form {
padding: 20px;
flex-direction: column;
align-items: stretch;
}
.cpt-filter-form select {
min-width: 100%;
margin-bottom: 10px;
}
.cpt-filter-form a.reset-btn {
width: 100%;
justify-content: center;
}
.cpt-liste-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.cpt-item {
padding: 20px;
}
.cpt-item h2 {
font-size: 1.3em;
letter-spacing: 0.01em;
}
.cpt-item .cpt-content {
font-size: 15px;
line-height: 1.6;
}
.cpt-pagination {
gap: 8px;
}
.cpt-pagination a,
.cpt-pagination span {
min-width: 40px;
height: 40px;
font-size: 14px;
padding: 0 12px;
}
.cpt-pagination .prev,
.cpt-pagination .next {
padding: 0 15px;
}
}
@media (max-width: 480px) {
.cpt-item h2 {
font-size: 1.2em;
font-weight: 600;
}
.cpt-item .cpt-content {
font-size: 14px;
}
.cpt-pagination {
gap: 5px;
}
.cpt-pagination a,
.cpt-pagination span {
min-width: 35px;
height: 35px;
font-size: 13px;
padding: 0 10px;
}
}

/* Reading size for presentations, biographies and references. */
:root {--gmr-reading-size:18px;}
body #main p,
body #main li {
  font-size:var(--gmr-reading-size)!important;
  line-height:1.7!important;
  font-weight:500;
}
body #main p span,
body #main li span {
  font-size:inherit!important;
  line-height:inherit!important;
}
body #main .elementor-widget-text-editor p,
body #main .elementor-widget-text-editor li,
body #main .cpt-content p,
body #main .cpt-excerpt,
body #main .gmr-article-excerpt-compact {
  color:#222!important;
}
body #main .elementor-widget-text-editor li {
  margin-bottom:.55em;
}
body #main .gmr-contact-banner p {color:#fff!important;}
body #main .gmr-article-title-compact {
  font-size:calc(var(--gmr-reading-size) + 3px)!important;
  line-height:1.35!important;
}
body #main .cpt-item h2 {
  font-size:calc(var(--gmr-reading-size) + 4px)!important;
  line-height:1.4!important;
}
@media(max-width:767px) {
  :root {--gmr-reading-size:16px;}
}
/* Keep the complete parcel-survey notice visible in the home banner. */
body .elementor .elementor-element-11e0365:not(.elementor-motion-effects-element-type-background),
body .elementor .elementor-element-11e0365 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
body .elementor .gmr-urbanism-banner {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-image:none!important;
}
body .elementor .gmr-urbanism-banner-images {
  position:absolute;
  inset:0;
  z-index:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  pointer-events:none;
}
body .elementor .gmr-urbanism-banner-image {
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:0;
  max-height:none;
  object-fit:cover;
  object-position:center;
  border:0;
  border-radius:0;
}
body .elementor .gmr-urbanism-banner::before {z-index:1;}
body .elementor .gmr-urbanism-banner > .e-con-inner {position:static;z-index:2;}
body .elementor .gmr-urbanism-banner .elementor-heading-title {
  text-shadow:0 2px 16px rgba(0,0,0,.5);
}
body .elementor .gmr-urbanism-copy-row {
  min-height:0!important;
  padding:24px 0!important;
  margin:0 auto!important;
}
body .elementor .gmr-urbanism-copy-row > .e-con-inner {
  flex-direction:column!important;
  align-items:stretch!important;
  gap:20px;
  min-height:0!important;
}
body .elementor .gmr-urbanism-copy-row > .e-con-inner > .e-con {
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  --width:100%;
}
body .elementor .gmr-urbanism-copy-row .elementor-widget-heading,
body .elementor .gmr-urbanism-copy-row .elementor-widget-text-editor {
  text-align:left!important;
}
.gmr-neighborhood-recourse {
  width:100%;
  margin:18px 0 0;
  padding:0;
  color:#333;
  font-size:16px;
  line-height:1.75;
  text-align:left;
}
.gmr-neighborhood-recourse h2 {
  margin:0 0 20px;
  font-size:26px;
  line-height:1.35;
  font-weight:600;
}
.gmr-neighborhood-recourse p {margin:0 0 12px;}
.gmr-neighborhood-recourse ul {margin:0 0 26px;padding-left:26px;}
.gmr-neighborhood-recourse li {margin:5px 0;}
.gmr-neighborhood-recourse ul:last-child {margin-bottom:0;}
.gmr-neighborhood-recourse a {text-decoration:underline;}
.gmr-neighborhood-articles .gmr-article-title-compact {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.gmr-neighborhood-articles .gmr-article-excerpt-compact {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
body .elementor .gmr-contact-banner {
  width:calc(100% - 48px)!important;
  max-width:1160px!important;
  min-height:0!important;
  margin:24px auto!important;
  padding:20px 30px!important;
  left:auto!important;
}
body .elementor .gmr-contact-banner > .elementor-container {
  min-height:0!important;
  max-width:1100px!important;
  display:flex!important;
  align-items:center!important;
  gap:36px;
}
body .elementor .gmr-contact-banner .elementor-column > .elementor-widget-wrap {
  padding:0!important;
  align-content:center!important;
  gap:10px;
}
body .elementor .gmr-contact-banner .gmr-contact-details {
  display:block!important;
  flex:0 0 310px!important;
  width:310px!important;
}
body .elementor .gmr-contact-banner .gmr-contact-copy {
  flex:1 1 0!important;
  width:auto!important;
  min-width:0;
}
body .elementor .gmr-contact-banner .elementor-widget {
  margin:0!important;
}
body .elementor .gmr-contact-banner .elementor-button {
  padding:8px 12px!important;
  font-size:12px!important;
  line-height:1.4!important;
}
body .elementor .gmr-contact-banner .elementor-heading-title {
  font-size:22px!important;
  line-height:1.35!important;
  margin:0!important;
}
body .elementor .gmr-contact-banner p {
  font-size:14px!important;
  line-height:1.6!important;
  margin:0!important;
}
@media(max-width:767px) {
  body .elementor .gmr-contact-banner {
    width:calc(100% - 28px)!important;
    padding:18px!important;
    margin:18px auto!important;
  }
  body .elementor .gmr-contact-banner > .elementor-container {
    flex-direction:column!important;
    gap:18px;
  }
  body .elementor .gmr-contact-banner .gmr-contact-details,
  body .elementor .gmr-contact-banner .gmr-contact-copy {
    flex:0 1 auto!important;
    width:100%!important;
  }
  body .elementor .gmr-contact-banner .elementor-heading-title {
    font-size:20px!important;
  }
}
/* Make wrapped article headings a continuous clickable area. */
.cpt-item h2 a { display:block; }
.elementor .gmr-menu-articles a.wpr-active-menu-item { color:#fff!important; }
.gmr-reference-links {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 28px;
  margin:0 0 24px!important;
}
.gmr-reference-links a {
  color:#8f0000;
  font-size:18px;
  line-height:1.6;
  text-decoration:underline;
  text-underline-offset:3px;
}
.gmr-reference-links a:hover,
.gmr-reference-links a:focus { color:#530000; }
body .elementor .gmr-reference-column-title {
  font-family:Arial,sans-serif;
  font-size:18px!important;
  font-weight:600;
  line-height:1.55!important;
  text-align:left!important;
}
.gmr-reference-column-title a { text-decoration:underline; text-underline-offset:3px; }
.gmr-home-articles .gmr-articles-grid-compact {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.gmr-home-articles .gmr-article-title-compact a { display:block; }
@media(max-width:1024px) {
  .gmr-home-articles .gmr-articles-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .gmr-home-articles .gmr-articles-grid-compact { grid-template-columns:minmax(0,1fr); }
}
.gmr-contact-seo-title {
  font-size:32px;
  line-height:1.25;
  margin:0 0 24px;
}
.gmr-publication-date {
  margin:12px 0 20px;
  color:#555;
  font-size:15px;
  line-height:1.5;
}
.gmr-article-help{margin-top:32px;padding-top:20px;border-top:1px solid #d7d7d7}
.gmr-article-help h2{font-family:inherit;font-size:24px;line-height:1.4;font-weight:600;margin:0 0 14px}
.gmr-article-help p{margin:0 0 12px}
.gmr-article-help h3{font-family:inherit;font-size:20px;line-height:1.45;font-weight:600;margin:20px 0 10px}
.gmr-service-seo-heading{font-size:clamp(22px,2.2vw,28px);line-height:1.35;margin:1.1em 0 .65em;font-weight:600}


.gmr-urbanism-banner-layer{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0}
.gmr-urbanism-banner-layer>.elementor-widget-container{height:100%}
.gmr-urbanism-banner .elementor-widget-heading{position:relative;z-index:2}
.cpt-filter-form{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 30px}
.cpt-filter-form select{min-width:220px;max-width:100%;padding:12px}
.cpt-filter-form button{background:#970000;color:#fff;padding:10px 20px;border:0;border-radius:4px;cursor:pointer}
.cpt-pagination{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:35px 0}
.cpt-pagination a,.cpt-pagination span{padding:8px 13px;border:1px solid #ddd;border-radius:4px}
.cpt-pagination .current{background:#970000;color:#fff}
