.gw-gallery {
--gw-gallery-blue: var(--gw-blue, #005699);
--gw-gallery-cyan: var(--gw-cyan, #5ab4da);
--gw-gallery-pink: var(--gw-pink, #ed145b);
--gw-gallery-copy: var(--gw-copy, #40596b);
--gw-gallery-rule: var(--gw-rule, #ccdae3);
box-sizing: border-box;
width: 100%;
margin-top: 2em;
margin-bottom: 2em;
font-family: var(--gw-font-body, system-ui, sans-serif);
}
.gw-gallery__grid {
display: block;
columns: var(--gw-gallery-columns, 3);
column-fill: balance;
column-gap: 24px;
}
.gw-gallery__item {
display: inline-block;
min-width: 0;
width: 100%;
margin: 0 0 24px;
overflow: hidden;
border: 1px solid var(--gw-gallery-rule);
background: #ffffff;
box-shadow: 0 14px 24px -18px rgba(23, 53, 95, .4);
vertical-align: top;
break-inside: avoid;
page-break-inside: avoid;
}
.gw-gallery--items-2 .gw-gallery__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 24px;
}
.gw-gallery--items-2 .gw-gallery__item {
display: block;
margin-bottom: 0;
}
.gw-gallery__link {
position: relative;
display: block;
overflow: hidden;
width: 100%;
background: #edf4f7;
color: #ffffff;
text-decoration: none;
cursor: zoom-in;
}
.gw-gallery__image {
display: block;
width: 100% !important;
height: auto !important;
max-width: none !important;
object-fit: contain;
transform: scale(1);
transition: transform 260ms cubic-bezier(.22, 1, .36, 1), filter 260ms ease;
}
.gw-gallery__zoom {
position: absolute;
top: 14px;
right: 14px;
display: inline-flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
border: 2px solid rgba(255, 255, 255, .9);
border-radius: 0;
background: var(--gw-gallery-blue);
color: #ffffff;
opacity: 0;
transform: translateY(-6px);
transition: opacity 200ms ease, transform 200ms ease, background-color 200ms ease;
}
.gw-gallery__zoom svg {
width: 24px;
height: 24px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.gw-gallery__link:hover .gw-gallery__image,
.gw-gallery__link:focus .gw-gallery__image {
filter: brightness(.8);
transform: scale(1.025);
}
.gw-gallery__link:hover .gw-gallery__zoom,
.gw-gallery__link:focus .gw-gallery__zoom {
background: var(--gw-gallery-pink);
opacity: 1;
transform: translateY(0);
}
.gw-gallery__link:focus-visible {
outline: 3px solid var(--gw-gallery-cyan);
outline-offset: 4px;
z-index: 2;
}
.gw-gallery__caption {
box-sizing: border-box;
margin: 0;
padding: 13px 16px 15px;
border-bottom: 3px solid var(--gw-gallery-cyan);
background: #ffffff;
color: var(--gw-gallery-copy);
font-family: var(--gw-font-body, system-ui, sans-serif);
font-size: 17px;
font-weight: 500;
line-height: 1.5;
}
.gw-gallery__caption a {
color: var(--gw-gallery-blue);
font-weight: 700;
}
body.gw-gallery-lightbox-open {
overflow: hidden;
}
.gw-gallery-lightbox[hidden] {
display: none !important;
}
.gw-gallery-lightbox {
--gw-gallery-blue: var(--gw-blue, #005699);
--gw-gallery-cyan: var(--gw-cyan, #5ab4da);
--gw-gallery-pink: var(--gw-pink, #ed145b);
position: fixed;
z-index: 100000;
inset: 0;
display: flex;
align-items: stretch;
justify-content: stretch;
padding: 24px;
background: rgba(9, 29, 45, .96);
opacity: 0;
transition: opacity 220ms ease;
}
.gw-gallery-lightbox.is-open {
opacity: 1;
}
.gw-gallery-lightbox__dialog {
position: relative;
display: grid;
grid-template-columns: 72px minmax(0, 1fr) 72px;
gap: 18px;
align-items: center;
width: 100%;
min-width: 0;
}
.gw-gallery-lightbox__content {
display: flex;
align-items: center;
justify-content: center;
min-width: 0;
height: 100%;
padding: 52px 0 20px;
}
.gw-gallery-lightbox__figure {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
margin: 0;
}
.gw-gallery-lightbox__image {
display: block;
width: auto;
height: auto;
max-width: 100%;
max-height: calc(100vh - 180px);
object-fit: contain;
box-shadow: 0 20px 65px rgba(0, 0, 0, .42);
}
.gw-gallery-lightbox__meta {
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
gap: 8px 24px;
align-items: flex-start;
justify-content: space-between;
width: min(100%, 1100px);
padding-top: 16px;
}
.gw-gallery-lightbox__caption {
flex: 1 1 420px;
margin: 0;
color: #ffffff;
font-family: var(--gw-font-body, system-ui, sans-serif);
font-size: 18px;
font-weight: 500;
line-height: 1.5;
}
.gw-gallery-lightbox__counter {
flex: 0 0 auto;
margin: 0;
color: #c9dce7;
font-family: var(--gw-font-body, system-ui, sans-serif);
font-size: 16px;
font-weight: 700;
line-height: 1.5;
}
body .gw-gallery-lightbox button.gw-gallery-lightbox__close,
body .gw-gallery-lightbox button.gw-gallery-lightbox__previous,
body .gw-gallery-lightbox button.gw-gallery-lightbox__next {
-webkit-appearance: none;
appearance: none;
display: inline-flex;
box-sizing: border-box;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
min-width: 48px;
min-height: 48px;
margin: 0;
padding: 0;
border: 2px solid #ffffff;
border-radius: 0;
background: var(--gw-gallery-blue);
box-shadow: none;
color: #ffffff;
font: inherit;
line-height: 1;
text-align: center;
cursor: pointer;
transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}
body .gw-gallery-lightbox button[hidden] {
display: none !important;
}
.gw-gallery-lightbox__close {
position: absolute;
top: 0;
right: 0;
z-index: 2;
}
.gw-gallery-lightbox__previous {
justify-self: center;
}
.gw-gallery-lightbox__next {
justify-self: center;
}
body .gw-gallery-lightbox button.gw-gallery-lightbox__close svg,
body .gw-gallery-lightbox button.gw-gallery-lightbox__previous svg,
body .gw-gallery-lightbox button.gw-gallery-lightbox__next svg {
width: 22px;
height: 22px;
fill: none;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}
body .gw-gallery-lightbox button.gw-gallery-lightbox__close:hover,
body .gw-gallery-lightbox button.gw-gallery-lightbox__close:focus,
body .gw-gallery-lightbox button.gw-gallery-lightbox__previous:hover,
body .gw-gallery-lightbox button.gw-gallery-lightbox__previous:focus,
body .gw-gallery-lightbox button.gw-gallery-lightbox__next:hover,
body .gw-gallery-lightbox button.gw-gallery-lightbox__next:focus {
border-color: var(--gw-gallery-pink);
background: var(--gw-gallery-pink);
box-shadow: none;
color: #ffffff;
}
body .gw-gallery-lightbox button.gw-gallery-lightbox__close:focus-visible,
body .gw-gallery-lightbox button.gw-gallery-lightbox__previous:focus-visible,
body .gw-gallery-lightbox button.gw-gallery-lightbox__next:focus-visible {
outline: 3px solid var(--gw-gallery-cyan);
outline-offset: 4px;
}
@media (hover: none) {
.gw-gallery__zoom {
opacity: 1;
transform: none;
}
}
@media only screen and (max-width: 900px) {
.gw-gallery__grid {
columns: 2;
column-gap: 18px;
}
.gw-gallery__item {
margin-bottom: 18px;
}
}
@media only screen and (max-width: 600px) {
.gw-gallery__grid {
columns: 1;
}
.gw-gallery--items-2 .gw-gallery__grid {
grid-template-columns: 1fr;
gap: 18px;
}
.gw-gallery-lightbox {
padding: 14px;
}
.gw-gallery-lightbox__dialog {
grid-template-columns: 1fr 1fr;
grid-template-rows: minmax(0, 1fr) 48px;
gap: 10px 18px;
}
.gw-gallery-lightbox__content {
grid-column: 1 / -1;
padding: 60px 0 0;
}
.gw-gallery-lightbox__image {
max-height: calc(100vh - 220px);
}
.gw-gallery-lightbox__previous,
.gw-gallery-lightbox__next {
grid-row: 2;
}
.gw-gallery-lightbox__previous {
grid-column: 1;
justify-self: end;
}
.gw-gallery-lightbox__next {
grid-column: 2;
justify-self: start;
}
.gw-gallery-lightbox__meta {
padding-top: 12px;
}
.gw-gallery-lightbox__caption {
font-size: 17px;
}
}
@media (prefers-reduced-motion: reduce) {
.gw-gallery__image,
.gw-gallery__zoom,
.gw-gallery-lightbox,
body .gw-gallery-lightbox button.gw-gallery-lightbox__close,
body .gw-gallery-lightbox button.gw-gallery-lightbox__previous,
body .gw-gallery-lightbox button.gw-gallery-lightbox__next {
transition: none !important;
}
}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}