.elementor-2490 .elementor-element.elementor-element-25569209{--display:flex;--min-height:380px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.78;--padding-top:90px;--padding-bottom:90px;--padding-left:20px;--padding-right:20px;}.elementor-2490 .elementor-element.elementor-element-25569209:not(.elementor-motion-effects-element-type-background), .elementor-2490 .elementor-element.elementor-element-25569209 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://detlefsafaris.com/wp-content/uploads/2026/08/Serengeti-Migration-Safari.webp");background-position:center center;background-size:cover;}.elementor-2490 .elementor-element.elementor-element-25569209::before, .elementor-2490 .elementor-element.elementor-element-25569209 > .elementor-background-video-container::before, .elementor-2490 .elementor-element.elementor-element-25569209 > .e-con-inner > .elementor-background-video-container::before, .elementor-2490 .elementor-element.elementor-element-25569209 > .elementor-background-slideshow::before, .elementor-2490 .elementor-element.elementor-element-25569209 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2490 .elementor-element.elementor-element-25569209 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(135deg, #1A5373 0%, #0C2C3E 100%);}.elementor-2490 .elementor-element.elementor-element-adf17c5b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:18px 18px;--row-gap:18px;--column-gap:18px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-2490 .elementor-element.elementor-element-55103750{text-align:center;}.elementor-2490 .elementor-element.elementor-element-55103750 .elementor-heading-title{font-size:50px;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2490 .elementor-element.elementor-element-80ddbfe9{text-align:center;font-size:18px;color:#F0F4F6;}.elementor-2490 .elementor-element.elementor-element-36c2e1f8{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-2490 .elementor-element.elementor-element-36c2e1f8:not(.elementor-motion-effects-element-type-background), .elementor-2490 .elementor-element.elementor-element-36c2e1f8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EFF3F5;}.elementor-2490 .elementor-element.elementor-element-1b617cac{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--flex-wrap:wrap;--border-radius:50px 50px 50px 50px;box-shadow:0px 10px 30px 0px rgba(0,0,0,0.1);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-2490 .elementor-element.elementor-element-1b617cac:not(.elementor-motion-effects-element-type-background), .elementor-2490 .elementor-element.elementor-element-1b617cac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-2490 .elementor-element.elementor-element-3049aeeb .elementor-button{background-color:#1A5373;fill:#FFFFFF;color:#FFFFFF;border-radius:30px 30px 30px 30px;}.elementor-2490 .elementor-element.elementor-element-30b34043 .elementor-button{background-color:#FFFFFF;fill:#5B6670;color:#5B6670;border-radius:30px 30px 30px 30px;}.elementor-2490 .elementor-element.elementor-element-b416e265 .elementor-button{background-color:#FFFFFF;fill:#5B6670;color:#5B6670;border-radius:30px 30px 30px 30px;}.elementor-2490 .elementor-element.elementor-element-fb858eaf .elementor-button{background-color:#FFFFFF;fill:#5B6670;color:#5B6670;border-radius:30px 30px 30px 30px;}.elementor-2490 .elementor-element.elementor-element-6f2fadea .elementor-button{background-color:#FFFFFF;fill:#5B6670;color:#5B6670;border-radius:30px 30px 30px 30px;}.elementor-2490 .elementor-element.elementor-element-36653981 .elementor-button{background-color:#FFFFFF;fill:#5B6670;color:#5B6670;border-radius:30px 30px 30px 30px;}.elementor-2490 .elementor-element.elementor-element-5ae2b81c .elementor-button{background-color:#FFFFFF;fill:#5B6670;color:#5B6670;border-radius:30px 30px 30px 30px;}.elementor-2490 .elementor-element.elementor-element-87787d47{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:56px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-2490 .elementor-element.elementor-element-87787d47:not(.elementor-motion-effects-element-type-background), .elementor-2490 .elementor-element.elementor-element-87787d47 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCFCFC;}.elementor-2490 .elementor-element.elementor-element-4f1a1b12{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--flex-wrap:wrap;}.elementor-2490 .elementor-element.elementor-element-26cf9aa1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overlay-opacity:1;--padding-top:95px;--padding-bottom:95px;--padding-left:20px;--padding-right:20px;}.elementor-2490 .elementor-element.elementor-element-26cf9aa1:not(.elementor-motion-effects-element-type-background), .elementor-2490 .elementor-element.elementor-element-26cf9aa1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://detlefsafaris.com/wp-content/uploads/2025/03/murchison-elephants.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-2490 .elementor-element.elementor-element-26cf9aa1::before, .elementor-2490 .elementor-element.elementor-element-26cf9aa1 > .elementor-background-video-container::before, .elementor-2490 .elementor-element.elementor-element-26cf9aa1 > .e-con-inner > .elementor-background-video-container::before, .elementor-2490 .elementor-element.elementor-element-26cf9aa1 > .elementor-background-slideshow::before, .elementor-2490 .elementor-element.elementor-element-26cf9aa1 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2490 .elementor-element.elementor-element-26cf9aa1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(135deg, rgba(10,17,114,0.86) 0%, rgba(10,17,114,0.92) 100%);}.elementor-2490 .elementor-element.elementor-element-66a4ecb4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:18px 18px;--row-gap:18px;--column-gap:18px;}.elementor-2490 .elementor-element.elementor-element-c09fe89a{text-align:center;}.elementor-2490 .elementor-element.elementor-element-c09fe89a .elementor-heading-title{font-size:34px;color:#FFFFFF;}.elementor-2490 .elementor-element.elementor-element-276449f8{text-align:center;font-size:17px;color:rgba(255,255,255,0.9);}.elementor-2490 .elementor-element.elementor-element-755d62e7 .elementor-button{background-color:#FFFFFF;fill:#1A5373;color:#1A5373;border-radius:30px 30px 30px 30px;}.elementor-2490 .elementor-element.elementor-element-b36978c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-2490 .elementor-element.elementor-element-adf17c5b{--content-width:780px;}.elementor-2490 .elementor-element.elementor-element-1b617cac{--content-width:1100px;}.elementor-2490 .elementor-element.elementor-element-4f1a1b12{--content-width:1240px;}.elementor-2490 .elementor-element.elementor-element-66a4ecb4{--content-width:760px;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS *//* ===== Detlef Safaris — editorial gallery mosaic ===== */
.ds-gal-grid.ds-gal-grid.e-con.e-con-boxed{ max-width:1360px!important; margin-inline:auto!important;
  padding-inline:20px!important; box-sizing:border-box; }

.ds-gal-grid > .e-con-inner{ display:grid!important; grid-template-columns:repeat(4,1fr)!important;
  grid-auto-rows:232px; grid-auto-flow:row dense; gap:24px; width:100%!important; max-width:none!important;
  align-items:stretch!important; }

.ds-gal-grid .ds-gal-card{ position:relative; overflow:hidden; border-radius:12px;
  grid-column:span 1; grid-row:span 1; width:auto!important; max-width:none!important; flex:none!important;
  background:#0C2C3E; border:1px solid #EFF3F5;
  box-shadow:0 2px 10px rgba(26,83,115,.10);
  transition:box-shadow .35s ease, transform .35s ease; }
.ds-gal-card:hover{ transform:translateY(-3px); box-shadow:0 10px 26px rgba(26,83,115,.20); }

/* mosaic rhythm — a 5-card unit fills a 4x2 block exactly */
.ds-gal-grid .ds-gal-card.is-feature{ grid-column:span 2; grid-row:span 2; }

/* photo */
.ds-gal-card .ds-gal-img, .ds-gal-card .ds-gal-img .elementor-widget-container,
.ds-gal-card .ds-gal-img figure, .ds-gal-card .ds-gal-img a{ position:absolute; inset:0; margin:0; height:100%; width:100%; }
.ds-gal-card .ds-gal-img img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:0;
  transition:transform .6s ease; }
.ds-gal-card:hover .ds-gal-img img{ transform:scale(1.04); }

.ds-gal-card::after{ content:''; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(to top, rgba(8,26,38,.92) 0%, rgba(8,26,38,.55) 32%, rgba(8,26,38,0) 66%); }

.ds-gal-card .ds-gal-cap{ position:absolute!important; left:0; right:0; bottom:0; z-index:2;
  pointer-events:none; padding:0 18px 16px!important; gap:0!important; }

.ds-gal-card .ds-gal-title, .ds-gal-card .ds-gal-title .elementor-heading-title{
  font-family:'Baskervville',Georgia,serif!important; font-weight:400!important;
  font-size:19px!important; line-height:1.15!important; color:#fff!important; margin:0!important; }
.ds-gal-card.is-feature .ds-gal-title,
.ds-gal-card.is-feature .ds-gal-title .elementor-heading-title{ font-size:28px!important; }

.ds-gal-card .ds-gal-loc{ font-family:'Poppins',sans-serif!important; font-size:12.5px!important;
  line-height:1.5!important; color:rgba(255,255,255,.82)!important; margin:5px 0 0!important; }
.ds-gal-card .ds-gal-loc p{ margin:0!important; }
.ds-gal-card.is-feature .ds-gal-loc{ font-size:14px!important; }

.ds-gal-card .ds-gal-tags{ margin:10px 0 0!important; }
.ds-gal-card .ds-gal-tags p{ margin:0!important; display:flex; flex-wrap:wrap; gap:6px; }
.ds-gal-card .ds-tag{ display:inline-block; background:#FFC845; color:#12303F;
  font-family:'Poppins',sans-serif; font-size:10px; font-weight:600; letter-spacing:.03em;
  padding:4px 10px; border-radius:999px; white-space:nowrap; }
/* small cards show fewer tags so the caption never crowds the photo */
.ds-gal-card:not(.is-feature) .ds-tag:nth-child(n+3){ display:none; }

.ds-gal-card .ds-gal-img a:focus-visible{ outline:3px solid #FFC845; outline-offset:-3px; }

/* filtering */
.ds-gal-card.is-hidden{ display:none!important; }
.ds-filter .elementor-button{ transition:background-color .25s ease, color .25s ease; }
.ds-filter.is-active .elementor-button{ background-color:#1A5373!important; color:#fff!important; }

@media (max-width:1200px){
  .ds-gal-grid > .e-con-inner{ grid-template-columns:repeat(3,1fr)!important; grid-auto-rows:220px; }
}
@media (max-width:900px){
  .ds-gal-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr)!important; grid-auto-rows:200px; gap:18px; }
  .ds-gal-card.is-feature .ds-gal-title,
  .ds-gal-card.is-feature .ds-gal-title .elementor-heading-title{ font-size:22px!important; }
}
@media (max-width:600px){
  .ds-gal-grid > .e-con-inner{ grid-template-columns:1fr!important; grid-auto-rows:230px; gap:16px; }
  .ds-gal-grid .ds-gal-card.is-feature{ grid-column:span 1; grid-row:span 1; }
  .ds-gal-card:not(.is-feature) .ds-tag:nth-child(n+3){ display:inline-block; }
}
@media (prefers-reduced-motion:reduce){
  .ds-gal-card, .ds-gal-card .ds-gal-img img{ transition:none!important; }
  .ds-gal-card:hover{ transform:none; }
  .ds-gal-card:hover .ds-gal-img img{ transform:none; }
}

/* ===== Dynamic gallery: flatten shortcode wrapper divs so cards stay direct grid items ===== */
.ds-gal-grid > .e-con-inner > .elementor-widget-shortcode,
.ds-gal-grid > .e-con-inner > .elementor-widget-shortcode > .elementor-widget-container,
.ds-gal-grid > .e-con-inner > .elementor-widget-shortcode > .elementor-widget-container > .elementor-shortcode,
.ds-gal-grid > .e-con-inner > .elementor-widget-shortcode > .elementor-shortcode {
  display:contents;
}/* End custom CSS */