.image-grid-container{margin:0 auto;max-width:1200px}.filter-section{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filter-group{flex:1;min-width:200px}.filter-input,.filter-select{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}input#keyword-filter::placeholder{color:#000}.filter-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em;padding-right:2.5rem}.image-grid-module{display:grid;gap:2rem}.image-grid-module[data-layout=false]{gap:1rem}.image-grid-module[data-columns="1"]{grid-template-columns:1fr}.image-grid-module[data-columns="2"]{grid-template-columns:repeat(2,1fr)}.image-grid-module[data-columns="3"]{grid-template-columns:repeat(3,1fr)}.image-grid-module[data-columns="4"]{grid-template-columns:repeat(4,1fr)}.grid-item,.image-grid-module[data-layout=false]{display:flex;flex-direction:column}.grid-item{border:1px solid #e0e0e0;border-radius:4px;gap:1.5rem;overflow:hidden;padding:2rem;transition:all .5s ease}.grid-item:hover{background-color:hsla(0,0%,100%,.1);box-shadow:5px 5px 15px rgba(34,38,75,.8);transform:translateY(-5px)}.image-grid-module[data-layout=false] .grid-item{align-items:center;flex-direction:row;justify-content:space-between;margin-bottom:1rem;padding:2rem}.grid-item__image{aspect-ratio:16/9;height:auto;object-fit:cover;width:100%}.image-grid-module[data-layout=false] .grid-item__image{height:150px;margin-right:1.5rem;width:200px}.grid-item__title{color:#9ecdee;margin-bottom:1rem}.grid-item__description{color:#666;font-size:1rem;margin:0 0 .5rem;padding:0 1rem}.grid-item__location .icon-location{height:30px}.grid-item__location .icon-location svg{fill:#fff}.grid-item__category,.grid-item__location{align-items:center;color:#fff;display:flex;gap:.5rem}.grid-item__link{background-color:transparent;border:1px solid #fff;border-radius:4px;color:#fff;display:inline-block;padding:.5rem 2rem;text-decoration:none;transition:background-color .2s}.grid-item__link:hover{background-color:#fff;color:#22264b}.toggle-button{display:flex;justify-content:end}.layout-toggle{border:0;cursor:pointer;display:block;font-size:0;height:42px;margin-bottom:2rem;position:relative;width:42px}.layout-toggle>span{background-color:#fff;display:block;position:absolute;transition:all .5s ease}.layout-toggle span.one{background-color:transparent;display:flex;flex-flow:column;gap:2px;height:40px;justify-content:space-between;left:0;top:0;width:8px}.layout-toggle span.one span{background-color:#fff;height:8px;width:8px}.layout-toggle span.two{height:8px;left:14px;top:0;width:30px}.layout-toggle span.three{height:8px;left:14px;top:16px;width:30px}.layout-toggle:hover span.three{width:22px}.layout-toggle span.four{height:8px;left:14px;top:32px;width:30px}.layout-toggle.active span{background-color:#fff;display:block;height:18px;position:absolute;width:18px}.layout-toggle.active span.one{left:0;top:0}.layout-toggle.active span.two{left:24px;top:0}.layout-toggle.active span.three{left:0;top:24px}.layout-toggle.active span.four{left:24px;top:24px}.layout-toggle.active:hover span.one{left:24px;top:0}.layout-toggle.active:hover span.two{left:24px;top:24px}.layout-toggle.active:hover span.three{left:0;top:0;width:18px}.layout-toggle.active:hover span.four{left:0;top:24px}.no-results-message{color:#fff;font-size:1.5rem;padding:2rem;text-align:center}@media (max-width:768px){.image-grid-module{grid-template-columns:repeat(2,1fr)!important}.filter-group{flex:1 1 100%}.layout-toggle{display:none}}@media (max-width:480px){.image-grid-module{grid-template-columns:1fr!important}.image-grid-module[data-layout=false] .grid-item{flex-direction:column}.image-grid-module[data-layout=false] .grid-item__image{height:auto;margin-bottom:1rem;margin-right:0;width:100%}}