@font-face {
font-family: 'DM Sans';
src: url(//kaperagarage.pl/wp-content/themes/kg-theme/assets/fonts//DM_Sans/DMSans-VariableFont_opsz,wght.woff2) format('woff2'),
url(//kaperagarage.pl/wp-content/themes/kg-theme/assets/fonts/DM_Sans/DMSans-VariableFont_opsz,wght.woff) format('woff');
font-weight: 100 900;
font-style: normal;
font-display: swap;
}
:root{
--color-primary:#d71c2b;
--color-primary-hover:#ff3144;
--color-bg:#13131A;
--color-bg-secondary:#11141d;
--color-card:#161922;
--color-text:#ffffff;
--color-text-light:#b6b8c0;
--container:1320px;
--radius:20px;
--font-heading:'DM Sans SemiBold';
--font-body:'DM Sans Regular';
--transition:.3s ease;
}
*{
margin:0;
padding:0;
box-sizing:border-box;
}
html{
scroll-behavior:smooth;
}
body{
background:var(--color-bg);
color:var(--color-text);
font-family: DM Sans, sans-serif;
font-weight:400;
overflow-x:hidden;
}
img{
max-width:100%;
display:block;
}
a{
color:inherit;
text-decoration:none;
}
ul{
list-style:none;
}
.container{
width:min(100% - 20px,var(--container));
margin:auto;
padding:20px;
}
section{
padding:50px 0;
}
@media(max-width:767px)
{
section
{
padding: 30px 0px;
}
}
h1,h2{
font-weight:600;
}
h3,h4,h5{
font-weight:500;
}
.label{
color:var(--color-primary);
text-transform:uppercase;
letter-spacing:2px;
font-size:13px;
}
.btn{
display:inline-flex;
align-items:center;
justify-content:center;
height:48px;
padding:0 26px;
border-radius:12px;
background:var(--color-primary);
transition:.3s;
}
.btn:hover{
background:var(--color-primary-hover);
} .error404-page{
min-height:80vh;
display:flex;
align-items:center;
}
.error-content{
text-align:center;
}
.sad-face{
font-size:180px;
opacity:.08;
margin-bottom:-40px;
}
.error-number{
font-size:120px;
font-family:var(--font-heading);
color:var(--color-primary);
}
.error-content h1{
margin-bottom:20px;
}
.error-content p{
margin-bottom:40px;
color:var(--color-text-light);
}
iframe
{
border-radius:10px;
max-width: 100%;
}#site-header{
position:fixed;
top:0;
z-index:9999;
width:100%
}
#site-header.backdrop
{
backdrop-filter:blur(15px);
background:rgba(7,9,18,.7);
border-bottom:1px solid rgba(255,255,255,.05);
transition: background 0.3s ease;
}
#site-header.scrolled .container
{
padding: 0px 20px;
}
.header-row{
display:flex;
align-items:center;
justify-content:space-between;
}
#site-header #main-nav-logo img
{
transition: width 0.3s ease, height 0.3s ease;
}
@media (max-width:767px)
{
#site-header #main-nav-logo img
{
width:150px;
height:150px;
}
#site-header.scrolled .container
{
padding: 0px 20px;
}
}
#site-header.scrolled #main-nav-logo img
{
width: 100px;
height:100px;
}
.main-menu{
display:flex;
gap:40px;
}
.main-menu li{
position:relative;
}
.main-menu a{
display:block;
font-size:15px;
transition:.3s;
}
.main-menu a:hover{
color:var(--color-primary);
} .main-menu .sub-menu{
position:absolute;
top:100%;
left:0;
min-width:240px;
background:var(--color-card);
border-radius:16px;
padding:15px 0;
opacity:0;
visibility:hidden;
transform:translateY(10px);
transition:.3s;
}
.main-menu li:hover>.sub-menu{
opacity:1;
visibility:visible;
transform:translateY(0);
}
.sub-menu li{
width:100%;
}
.sub-menu a{
padding:12px 25px;
}
.sub-menu a:hover{
background:rgba(255,255,255,.04);
} .menu-toggle{
display:none;
width:56px;
height:56px;
border:none;
background:none;
cursor:pointer;
position:relative;
z-index:10002;
}
.menu-toggle span{
display:block;
width:28px;
height:2px;
background:#fff;
margin:6px auto;
transition:.35s ease;
transform-origin:center;
}
.menu-toggle.active span:nth-child(1){
transform:
translateY(8px)
rotate(45deg);
}
.menu-toggle.active span:nth-child(2){
opacity:0;
}
.menu-toggle.active span:nth-child(3){
transform:
translateY(-8px)
rotate(-45deg);
} #mobile-menu{
position:fixed;
inset:0;
background:var(--color-bg);
z-index:10001;
opacity:0;
visibility:hidden;
pointer-events:none;
transition:
opacity .35s ease,
visibility .35s ease;
}
#mobile-menu.open{
opacity:1;
visibility:visible;
pointer-events:auto;
}
.mobile-menu-header{
height:100px;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 30px;
}
.mobile-logo img{
width:100px;
height:auto;
}
.mobile-menu-close{
width:54px;
height:54px;
position:relative;
border:none;
background:none;
cursor:pointer;
}
.mobile-menu-close span{
position:absolute;
left:50%;
top:50%;
width:28px;
height:2px;
background:var(--color-text);
}
.mobile-menu-close span:first-child{
transform:translate(-50%,-50%) rotate(45deg);
}
.mobile-menu-close span:last-child{
transform:translate(-50%,-50%) rotate(-45deg);
}
.mobile-nav{
display:flex;
align-items:center;
justify-content:center;
height:calc(100vh - 100px);
padding:30px;
}
.mobile-menu-list{
display:flex;
flex-direction:column;
gap:22px;
list-style:none;
padding:0;
margin:0;
counter-reset:menu;
}
.mobile-menu-list a{
display:flex;
align-items:center;
gap:18px;
font-size:16px;
font-weight:600;
color:var(--color-text);
text-decoration:none;
line-height:1.1;
transition:.3s ease;
}
.mobile-menu-list > li > a::before{
content: "0" counter(menu);
font-size:14px;
font-weight:500;
letter-spacing:1px;
margin-right:10px;
color:#999;
}
.mobile-menu-list li a::after{
content:"→";
margin-left:auto;
font-size:28px;
opacity:0;
transform:translateX(-10px);
transition:.3s ease;
}
.mobile-menu-list > li{
opacity:0;
counter-increment:menu;
transform:translateX(-35px);
transition:
opacity .45s ease,
transform .45s ease;
}
.mobile-menu-list li a:hover{
transform:translateX(8px);
}
.mobile-menu-list li a:hover::after{
opacity:1;
transform:translateX(0);
}
#mobile-menu.open .mobile-menu-list li{
opacity:1;
transform:translateX(0);
}
#mobile-menu.open li:nth-child(1){
transition-delay:.10s;
}
#mobile-menu.open li:nth-child(2){
transition-delay:.18s;
}
#mobile-menu.open li:nth-child(3){
transition-delay:.26s;
}
#mobile-menu.open li:nth-child(4){
transition-delay:.34s;
}
#mobile-menu.open li:nth-child(5){
transition-delay:.42s;
}
#mobile-menu.open li:nth-child(6){
transition-delay:.50s;
}
#mobile-menu.open li:nth-child(7){
transition-delay:.58s;
}
#mobile-menu.open li:nth-child(8){
transition-delay:.66s;
}
body.menu-open{
overflow:hidden;
}
@media(max-width:991px){
.main-nav{
display:none;
}
.menu-toggle{
display:block;
}
}
@media(max-width:991px){
.main-nav{
display:none;
}
.menu-toggle{
display:block;
}
}
@media(max-width:991px){
.mobile-menu-list .sub-menu{
max-height:0;
overflow:hidden;
opacity:0;
transform:translateY(-5px);
transition:.35s ease;
padding-left:20px;
}
.mobile-menu-list li.open > .sub-menu{
max-height:500px; opacity:1;
transform:translateY(0);
margin-top:10px;
}
}
.mobile-menu-list li.menu-item-has-children > a{
display:flex;
align-items:center;
justify-content:space-between;
}
.menu-item-has-children > a::after{
content:"＋";
font-size:13px;
margin-left:8px;
transition:.3s ease;
}
li.open > a::after{
content:"–";
}.site-footer
{
padding: 200px 50px 50px 50px;
background-image: url(https://kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/elipse.png);
background-repeat: no-repeat;
background-position: 50% 0px;
background-size: 500px;
}
.site-footer > .container
{
background: var(--color-card);
padding: 60px 60px 40px 60px;
border-radius: 5px;
}
.site-footer a
{
font-size:14px;
}
.footer-grid
{
display: grid;
grid-template-columns: 1fr 1fr 2fr;
gap: 40px;
}
.footer-title
{
margin-bottom: 30px;
color: var(--color-primary);
font-size: 14px;
letter-spacing: 2px;
text-transform: uppercase;
}
.footer-menu,
.footer-services,
.footer-col ul
{
display: flex;
flex-direction: column;
gap: 10px;
}
.footer-contact a
{
display:inline-flex;
gap:10px;
}
.footer-services ul
{
display: block;
column-count: 2;
column-gap: 40px;
margin-top: -18px;
}
.footer-services ul li
{
padding-bottom: 10px;
}
.footer-bottom
{
margin-top: 30px;
padding-top: 30px;
border-top: 1px solid rgba(255, 255, 255, 0.07);
text-align: center;
}
@media (max-width: 767px)
{
.site-footer
{
margin-top: 80px;
padding: 55px 0 30px;
}
.footer-grid
{
grid-template-columns: 1fr;
gap: 42px;
}
.footer-title
{
margin-bottom: 20px;
}
.footer-services ul
{
column-count:1;
}
}.page-hero
{
position:relative;
min-height:420px;
padding:190px 0 90px;
display:flex;
align-items:flex-end;
background:linear-gradient(135deg,#15151c,#1d1117);
overflow:hidden
}
.page-hero::before
{
content:"";
position:absolute;
right:-80px;
top:20px;
width:480px;
aspect-ratio:1;
background:url(//kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/elipse.png) center/contain no-repeat;
opacity:.35
}
.page-hero.has-image
{
background-image:linear-gradient(90deg,rgba(17,17,24,.96),rgba(17,17,24,.45)),var(--page-bg);
background-size:cover;
background-position:center
}
.page-hero__inner
{
position:relative;
z-index:1
}
.page-hero h1
{
max-width:900px;
font-size:clamp(40px,6vw,76px);
text-wrap:balance
}
.page-hero p
{
max-width:660px;
margin-top:15px;
font-size:17px
}
.page-body
{
padding:80px 0
}
.content-layout--service
{
display:grid;
grid-template-columns:minmax(0,1fr) 330px;
gap:70px;
align-items:start
}
.entry-content
{
max-width:900px
}
.entry-content>*+*
{
margin-top:22px
}
.entry-content h2
{
margin-top:50px;
font-size:clamp(26px,3vw,40px)
}
.entry-content h3
{
margin-top:36px;
font-size:24px
}
.entry-content p,.entry-content li
{
color:var(--color-text-light)
}
.entry-content ul,.entry-content ol
{
padding-left:22px
}
.entry-content ul
{
list-style:disc
}
.entry-content ol
{
list-style:decimal
}
.entry-content li+li
{
margin-top:8px
}
.entry-content a:not(.btn)
{
color:var(--color-primary);
text-decoration:underline
}
.entry-content img
{
border-radius:8px
}
.entry-content .wp-block-columns
{
gap:25px
}
.entry-content .wp-block-group
{
padding:28px;
background:#1c1c20;
border-radius:10px
}
.entry-content .wp-block-gallery
{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px
}
.entry-content .wp-block-gallery .wp-block-image
{
width:auto!important
}
.entry-content .wp-block-gallery img
{
width:100%;
height:100%;
aspect-ratio:4/3;
object-fit:cover
}
.service-sidebar
{
position:sticky;
top:115px
}
.service-sidebar__box,.service-nav
{
padding:28px;
background:#1d1d21;
border-radius:9px
}
.service-sidebar__box h2
{
font-size:28px;
margin-bottom:14px
}
.service-sidebar__box p
{
font-size:14px;
margin-bottom:22px
}
.service-nav
{
margin-top:18px
}
.service-nav strong
{
display:block;
margin-bottom:13px
}
.service-nav li+li
{
border-top:1px solid rgba(255,255,255,.06)
}
.service-nav a
{
display:block;
padding:10px 0;
font-size:12px;
color:#c9c9ce
}
.service-nav a:hover
{
color:var(--color-primary)
}
.about-page-grid
{
display:grid;
grid-template-columns:.85fr 1.15fr;
gap:80px;
align-items:start
}
.about-page-photo img
{
width:100%;
max-height:700px;
object-fit:cover;
border-radius:8px
}
.contact-page-grid
{
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:60px
}
.contact-details
{
display:grid;
gap:14px
}
.contact-card
{
padding:24px;
background:#1d1d21;
border-radius:8px;
display:flex;
flex-direction:column;
gap:5px
}
.contact-card small
{
color:var(--color-primary);
text-transform:uppercase;
font-weight:700
}
.contact-card a,.contact-card span
{
font-size:19px
}
.contact-card a:hover
{
color:var(--color-primary)
}
.contact-content
{
max-width:none
}
.contact-content form
{
display:grid;
gap:14px
}
.contact-content input,.contact-content textarea,.contact-content select
{
width:100%;
padding:15px;
border:1px solid rgba(255,255,255,.13);
border-radius:6px;
background:#18181d;
color:#fff;
font:inherit
}
.contact-content textarea
{
min-height:160px;
resize:vertical
}
.contact-content input[type=submit]
{
width:auto;
background:var(--color-primary);
border-color:var(--color-primary);
font-weight:700;
cursor:pointer
}
.contact-content input[type=submit]:hover
{
background:var(--color-primary-hover)
}
.entry-content--gallery
{
max-width:none
}
@media(max-width:900px)
{
.content-layout--service,.about-page-grid,.contact-page-grid
{
grid-template-columns:1fr
}
.service-sidebar
{
position:static
}
.about-page-photo
{
max-width:600px
}
.entry-content .wp-block-gallery
{
grid-template-columns:repeat(2,1fr)
}
}
@media(max-width:600px)
{
.page-hero
{
min-height:340px;
padding:150px 0 60px
}
.page-body
{
padding:55px 0
}
.entry-content .wp-block-columns
{
display:block
}
.entry-content .wp-block-column+.wp-block-column
{
margin-top:20px
}
.entry-content .wp-block-gallery
{
grid-template-columns:1fr
}
.contact-card a,.contact-card span
{
font-size:16px
}
}
.page-hero
{
padding-top: 230px;
padding-bottom: 80px;
background-image: url(//kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/blur.png);
background-repeat: no-repeat;
background-position: right top;
background-size: 45%;
}
.page-hero h1,
.single-realization-header h1
{
margin-top: 10px;
font-size: clamp(42px, 6vw, 78px);
line-height: 1;
}
.page-hero p,
.single-realization-header p
{
max-width: 650px;
margin-top: 22px;
color: var(--color-text-light);
line-height: 1.7;
}
.page-content
{
padding-top: 220px;
padding-bottom: 100px;
}
.page-content h1,
.page-content h2,
.page-content h3
{
margin-top: 35px;
margin-bottom: 18px;
}
.page-content p,
.page-content li
{
color: var(--color-text-light);
line-height: 1.75;
}
.page-content ul
{
display: grid;
gap: 10px;
margin: 20px 0;
}
.page-content li
{
position: relative;
padding-left: 20px;
}
.page-content li::before
{
position: absolute;
top: 10px;
left: 0;
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--color-primary);
content: '';
}
.realizations-archive
{
padding-top: 20px;
padding-bottom: 110px;
}
.realizations-grid
{
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.realization-card
{
overflow: hidden;
border-radius: 14px;
background: var(--color-card);
transition: transform 0.3s ease;
}
.realization-card:hover
{
transform: translateY(-7px);
}
.realization-card-image
{
aspect-ratio: 4 / 3;
overflow: hidden;
}
.realization-card-image img
{
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.realization-card:hover .realization-card-image img
{
transform: scale(1.04);
}
.realization-placeholder
{
width: 100%;
height: 100%;
background: linear-gradient(135deg, #20222b, #111219);
}
.realization-card-content
{
padding: 24px;
}
.realization-card-content h2
{
font-size: 22px;
}
.realization-card-content p
{
margin-top: 10px;
color: var(--color-text-light);
line-height: 1.6;
}
.realization-card-content span
{
display: inline-block;
margin-top: 20px;
color: var(--color-primary);
font-size: 14px;
}
.pagination
{
display: flex;
gap: 8px;
justify-content: center;
margin-top: 50px;
}
.pagination .page-numbers
{
display: flex;
width: 42px;
height: 42px;
align-items: center;
justify-content: center;
border-radius: 8px;
background: var(--color-card);
}
.pagination .current
{
background: var(--color-primary);
}
.single-realization-header
{
padding-top: 230px;
padding-bottom: 70px;
}
.back-link
{
display: inline-block;
margin-bottom: 45px;
color: var(--color-text-light);
}
.single-realization-content
{
padding-bottom: 110px;
}
.single-realization-content .wp-block-gallery
{
gap: 15px;
}
.single-realization-content .wp-block-gallery img,
.single-realization-content .wp-block-image img
{
border-radius: 10px;
cursor: zoom-in;
}
.kg-lightbox
{
position: fixed;
z-index: 99999;
inset: 0;
display: none;
align-items: center;
justify-content: center;
padding: 30px 90px;
background: rgba(5, 5, 8, 0.95);
}
.kg-lightbox.is-open
{
display: flex;
}
.kg-lightbox-image
{
max-width: 100%;
max-height: 90vh;
object-fit: contain;
}
.kg-lightbox-close,
.kg-lightbox-prev,
.kg-lightbox-next
{
position: absolute;
border: 0;
background: transparent;
color: #ffffff;
cursor: pointer;
}
.kg-lightbox-close
{
top: 20px;
right: 28px;
font-size: 45px;
}
.kg-lightbox-prev,
.kg-lightbox-next
{
top: 50%;
transform: translateY(-50%);
font-size: 35px;
}
.kg-lightbox-prev
{
left: 25px;
}
.kg-lightbox-next
{
right: 25px;
}
@media (max-width: 900px)
{
.realizations-grid
{
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 767px)
{
.page-hero,
.single-realization-header
{
padding-top: 170px;
padding-bottom: 55px;
}
.page-content
{
padding-top: 170px;
}
.realizations-grid
{
grid-template-columns: 1fr;
}
.kg-lightbox
{
padding: 60px 15px;
}
.kg-lightbox-prev,
.kg-lightbox-next
{
top: auto;
bottom: 16px;
}
} .realizacja-template-default h3
{
margin: 40px 0px;
}
.realizacja-template-default figure.wp-block-gallery.has-nested-images
{
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.realizacja-template-default .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image)
{
width:100%;
}
.realizacja-template-default .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image)
{
width:100%;
}
@media (max-width:767px)
{
.realizacja-template-default figure.wp-block-gallery.has-nested-images
{
grid-template-columns: 1fr 1fr;
}
}.reveal-on-scroll
{
opacity: 0;
transform: translateY(34px);
transition:
opacity 0.75s ease,
transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
transition-delay: var(--reveal-delay, 0ms);
will-change: opacity, transform;
}
.reveal-on-scroll.reveal-from-left
{
transform: translateX(-42px);
}
.reveal-on-scroll.reveal-from-right
{
transform: translateX(42px);
}
.reveal-on-scroll.reveal-scale
{
transform: translateY(24px) scale(0.96);
}
.reveal-on-scroll.is-visible
{
opacity: 1;
transform: translate3d(0, 0, 0) scale(1);
}
@media (max-width: 767px)
{
.reveal-on-scroll
{
transform: translateY(24px);
transition-duration: 0.65s;
}
.reveal-on-scroll.reveal-from-left,
.reveal-on-scroll.reveal-from-right
{
transform: translateY(24px);
}
.reveal-on-scroll.reveal-scale
{
transform: translateY(18px) scale(0.97);
}
}
@media (prefers-reduced-motion: reduce)
{
.reveal-on-scroll
{
opacity: 1;
transform: none;
transition: none;
}
}