.elementor-18 .elementor-element.elementor-element-f45219e{--display:flex;--min-height:500px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:2px 2px;--row-gap:2px;--column-gap:2px;--overlay-opacity:0.7;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18 .elementor-element.elementor-element-f45219e:not(.elementor-motion-effects-element-type-background), .elementor-18 .elementor-element.elementor-element-f45219e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://corporateaccommodationtownsville.com.au/wp-content/uploads/2026/07/page-header-bg-1-1-e1785265486370.jpg");background-position:center left;background-repeat:no-repeat;background-size:cover;}.elementor-18 .elementor-element.elementor-element-f45219e::before, .elementor-18 .elementor-element.elementor-element-f45219e > .elementor-background-video-container::before, .elementor-18 .elementor-element.elementor-element-f45219e > .e-con-inner > .elementor-background-video-container::before, .elementor-18 .elementor-element.elementor-element-f45219e > .elementor-background-slideshow::before, .elementor-18 .elementor-element.elementor-element-f45219e > .e-con-inner > .elementor-background-slideshow::before, .elementor-18 .elementor-element.elementor-element-f45219e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#364F65;--background-overlay:'';}.elementor-18 .elementor-element.elementor-element-4e04480 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:500;text-transform:capitalize;color:#FFFFFF;}.elementor-18 .elementor-element.elementor-element-bfb8192 .elementor-heading-title{font-family:"Museo", Sans-serif;color:#FFFFFF;}.elementor-18 .elementor-element.elementor-element-22af7d4{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:20px;--padding-right:20px;}.elementor-18 .elementor-element.elementor-element-45c269c .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-18 .elementor-element.elementor-element-45c269c .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-18 .elementor-element.elementor-element-45c269c{padding:0px 0px 0px 0px;--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:0px;--content-transition-duration:0ms;--content-transition-delay:0ms;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-18 .elementor-element.elementor-element-f45219e{--min-height:400px;}.elementor-18 .elementor-element.elementor-element-f45219e:not(.elementor-motion-effects-element-type-background), .elementor-18 .elementor-element.elementor-element-f45219e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center left;}.elementor-18 .elementor-element.elementor-element-22af7d4{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-18 .elementor-element.elementor-element-f45219e{--min-height:330px;}.elementor-18 .elementor-element.elementor-element-f45219e:not(.elementor-motion-effects-element-type-background), .elementor-18 .elementor-element.elementor-element-f45219e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center left;}.elementor-18 .elementor-element.elementor-element-4e04480 .elementor-heading-title{font-size:12px;letter-spacing:0px;}.elementor-18 .elementor-element.elementor-element-22af7d4{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for gallery, class: .elementor-element-45c269c *//* =========================================
   1. HOVER & TOUCH ANIMATIONS (All Devices)
   ========================================= */

/* Gallery Item Container */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

/* Image Zoom-In Transition */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item img,
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item .elementor-gallery-item__image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    transition: transform 0.5s ease !important;
}

/* Hover & Active/Touch Image Scale */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:hover img,
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:active img,
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:hover .elementor-gallery-item__image,
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:active .elementor-gallery-item__image {
    transform: scale(1.1) !important;
}

/* Blue Overlay with "+" Icon */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item::before {
    content: "+" !important;
    position: absolute !important;
    inset: 0 !important;
  background: rgba(155, 153, 144, 0.55) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 45px !important;
    font-weight: 300 !important;
    z-index: 5 !important;
    transform: translateY(-100%);
    pointer-events: none !important;
}

/* Overlay Slide Animations (Hover & Touch) */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:hover::before,
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:active::before {
    animation: slideInFromTop 0.5s ease forwards !important;
}

.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:not(:hover):not(:active)::before {
    animation: slideOutToBottom 0.5s ease forwards !important;
}

@keyframes slideInFromTop {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(0%); }
}

@keyframes slideOutToBottom {
    0% { transform: translateY(0%); }
    100% { transform: translateY(100%); }
}


/* =========================================
   2. DESKTOP GRID LAYOUT (1025px and above)
   ========================================= */

.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery__container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-template-rows: 400px 400px 400px !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    gap: 10px !important;
}

/* Explicit Grid Positions */
/* ROW 1 */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(1) { grid-column: 1 / 2 !important; grid-row: 1 / 2 !important; }
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(2) { grid-column: 2 / 3 !important; grid-row: 1 / 3 !important; }
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(3) { grid-column: 3 / 4 !important; grid-row: 1 / 2 !important; }
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(4) { grid-column: 4 / 5 !important; grid-row: 1 / 2 !important; }

/* ROW 2 */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(5) { grid-column: 1 / 2 !important; grid-row: 2 / 3 !important; }
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(6) { grid-column: 3 / 4 !important; grid-row: 2 / 3 !important; }
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(7) { grid-column: 4 / 5 !important; grid-row: 2 / 3 !important; }

/* ROW 3 */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(8) { grid-column: 1 / 2 !important; grid-row: 3 / 4 !important; }
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(9) { grid-column: 2 / 3 !important; grid-row: 3 / 4 !important; }

/* LAST IMAGE (#10) - Spans 2 Columns */
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(10) {
    grid-column: 3 / 5 !important;
    grid-row: 3 / 4 !important;
}

.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(10) img,
.elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(10) .elementor-gallery-item__image {
    object-fit: contain !important;
}


/* =========================================
   3. IPAD MINI & TABLETS (768px to 1024px)
   ========================================= */

@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery__container {
        grid-template-rows: 240px 240px 240px !important; 
        gap: 8px !important;
    }
}


/* =========================================
   4. MOBILE PHONES ONLY (Below 768px)
   ========================================= */

@media (max-width: 767px) {
    .elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery__container {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        gap: 12px !important;
    }

    .elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item,
    .elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item:nth-child(n) {
        grid-column: auto !important;
        grid-row: auto !important;
        height: 250px !important;
        min-height: 250px !important;
    }

    .elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item img,
    .elementor-18 .elementor-element.elementor-element-45c269c .elementor-gallery-item .elementor-gallery-item__image {
        object-fit: cover !important;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Museo';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://corporateaccommodationtownsville.com.au/wp-content/uploads/2026/08/Museo-900.woff') format('woff');
}
@font-face {
	font-family: 'Museo';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://corporateaccommodationtownsville.com.au/wp-content/uploads/2026/08/Museo-700.woff') format('woff');
}
@font-face {
	font-family: 'Museo';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://corporateaccommodationtownsville.com.au/wp-content/uploads/2026/08/Museo-500.woff') format('woff');
}
/* End Custom Fonts CSS */