.gallery-section { margin: 100px 0; } .gallery-section .tabs { display: flex; gap: 1rem; margin-top: 16px; } .gallery-section .tabs button { display: flex; align-items: center; justify-content: center; height: 36px; padding: 0 13px; border-radius: 10px; border: 1px solid #505068; color: #505068; } .gallery-section .tabs button .txt { font-size: 14px; color: inherit; } .gallery-section .tabs button:hover { border-color: #0274b3; color: #0274b3; } .gallery-section .tabs button.current { border-color: #0274b3; background-color: #0274b3; color: #fff; } .gallery-section .gallery-thumbnail { margin-top: 24px; } .gallery-section .gallery-thumbnail p { display: none; } .gallery-section .gallery-thumbnail .thumbnail { position: relative; max-width: 720px; margin: 0 auto; border-radius: 16px; overflow: hidden; cursor: pointer; } .gallery-section .gallery-thumbnail .thumbnail::before { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(#00000000, #000000); opacity: 0; transition: opacity 200ms; } .gallery-section .gallery-thumbnail .thumbnail:hover::before { opacity: 1; } .gallery-section .gallery-thumbnail .thumbnail img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; } .gallery-section .gallery-thumbnail .thumbnail .expand-icon { position: absolute; right: 50%; bottom: 0; transform: translateX(50%); display: grid; place-items: center; width: 48px; height: 48px; border-radius: 6px 6px 0 0; background-color: #fff; } .gallery-section .gallery-thumbnail .thumbnail .expand-icon svg { width: 32px; height: 32px; transition: scale 200ms; } .gallery-section .gallery-thumbnail .thumbnail .cta { position: absolute; bottom: 50%; right: 50%; transform: translate(50%, 50%); height: 40px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 4px 12px 4px 10px; background-color: #eaf7ff; border-radius: 8px; opacity: 0; transition: opacity 200ms; } .gallery-section .gallery-thumbnail .thumbnail .cta .txt { font-size: 14px; color: #0274b3; } .gallery-section .gallery-thumbnail .thumbnail .cta svg { width: 20px; height: 20px; stroke: #0274b3; } .gallery-section .gallery-thumbnail .thumbnail:hover .expand-icon svg { scale: 1.15; } .gallery-section .gallery-thumbnail .thumbnail:hover .cta { opacity: 1; height: 40px; font-size: 15px; } .gallery-section .gallery-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px 16px; list-style-type: none; } .gallery-section .gallery-items li { position: relative; border-radius: 10px; overflow: hidden; cursor: pointer; } .gallery-section .gallery-items li::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(#00141f00, #00141f); opacity: 0; transition: opacity 200ms; } .gallery-section .gallery-items li img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; } .gallery-section .gallery-items li .title { position: absolute; bottom: 0; right: 0; left: 0; padding: 0px 12px 16px; display: flex; opacity: 0; transition: opacity 200ms; } .gallery-section .gallery-items li .title .txt { font-size: 15px; line-height: 1.7; font-weight: bold; color: #fff; } .gallery-section .gallery-items li .title svg { width: 24px; height: 24px; stroke: #fff; margin-right: auto; } .gallery-section .gallery-items li:hover .title { opacity: 1; } .gallery-section .gallery-items li:hover::before { opacity: 1; } .gallery-section .b-cta { height: 40px; background-color: var(--color-primary); border-radius: 10px; padding: 0 12px; display: flex; align-items: center; justify-content: center; gap: 8px; width: fit-content; margin: 32px auto 0; } .gallery-section .b-cta .txt { font-size: 15px; color: #ffffff; font-weight: 400; } .gallery-section .b-cta svg { width: 20px; height: 20px; stroke: #fff; } .pagination { margin-top: 32px; } .pagination ul { list-style-type: none; display: flex; align-items: center; justify-content: center; gap: 8px; margin: initial; } .pagination ul a { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; font-size: 16px; font-weight: normal; border: none; color: #000; transform: none; line-height: normal; transition: none; box-shadow: 2px 10px 20px 0 #595c6018; } .pagination ul a svg { width: 16px; height: 16px; stroke: #505068; } .pagination ul li:hover a { background-color: #e5efff; } .pagination ul li:hover a svg { stroke: var(--color-primary); } .pagination ul .current a { background-color: var(--color-primary); color: #fff; } @media screen and (max-width: 768px) { .gallery-section .gallery-items { grid-template-columns: repeat(1, 1fr); } .gallery-section .gallery-thumbnail .thumbnail { margin: 0 -20px; border-radius: 0; } .gallery-section .gallery-thumbnail p { display: inline-block; font-size: 15px; font-weight: bold; margin-top: 16px; color: var(--color-title); } .gallery-section .gallery-items li:hover::before, .gallery-section .gallery-items li .title svg { display: none; } .gallery-section .gallery-items li .title { position: static; padding: initial; opacity: 1 !important; } .gallery-section .gallery-items li .title .txt { font-size: 15px; font-weight: bold; margin-top: 8px; color: var(--color-title); } .gallery-section .gallery-items li { overflow: visible; } .gallery-section .gallery-items li img { border-radius: 10px; } }