@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;
}
.jxcc > section
{
padding:0;
}
*{
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;
}
}.hero
{
padding-top: 350px;
padding-bottom:150px;
background-image: url(https://kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/hero-kaperagarage.avif);
background-size: contain;
background-repeat: no-repeat;
background-position-x: 100%;
}
.hero-grid{
display:grid;
}
.hero h1{
font-size:50px;
line-height:1.1;
margin-bottom:30px;
}
.hero span{
color:var(--color-primary);
}
.hero p{
color:var(--color-text);
max-width:550px;
line-height:1.8;
}
.hero-buttons{
display:flex;
gap:20px;
margin-top:40px;
}
.btn-outline{
background:transparent;
border:1px solid rgba(255,255,255,.15);
} .services
{
background-image: url(https://kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/elipse.avif);
background-repeat: no-repeat;
background-position: 120% 50%;
background-size: 30%;
}
.section-heading > div
{
text-align:center;
}
.section-heading h2
{
text-align:center;
}
.services-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:15px;
margin-top:30px;
}
@media (max-width:991px)
{
.services-grid{
grid-template-columns:repeat(4,1fr);
}
}
@media (max-width:767px)
{
.services-grid{
grid-template-columns:repeat(2,1fr);
}
}
.service-card{
background:var(--color-card);
padding:25px;
border-radius:10px;
transition:.3s;
}
.service-card:hover{
transform:translateY(-10px);
}
.service-card-image
{
background-image:url(https://kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/icon-bg.avif);
background-size:contain;
background-position:center;
background-repeat: no-repeat;
display: flex;
justify-content: center;
align-items: center;
padding:15px;
}
.service-card-image img{
width:50px;
}
.service-card h3{
font-size:18px;
margin-bottom:20px;
margin-top:25px;
text-align: center;
font-weight: 300;
}
@media (max-width:767px)
{
.hero
{
margin-top:150px;
padding-top: 260px;
padding-bottom:50px;
}
.hero h1
{
font-size:40px;
}
.service-card
{
padding:15px 10px;
}
.service-card h3
{
font-size:14px;
margin: 15px 0px;
}
.service-card-more span
{
font-size:13px;
}
.service-card-more img
{
margin-left: 4px;
width: 15px;
}
}
.service-card-more
{
display:flex;
justify-content: center;
}
.service-card-more span
{
color:var(--color-text);
display:flex;
justify-content: center;
align-items: center;
font-weight:200;
}
.service-card-more img
{
margin-left:7px;
}
.about
{
background-image: url(https://kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/blur-hex.avif);
background-repeat: no-repeat;
background-size: contain;
}
.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:100px;
align-items:center;
background-image: url(https://kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/blur.avif);
background-repeat: no-repeat;
background-position: 40% 0%;
background-size: 40%;
margin-top: -250px;
padding-top: 250px;
}
.about-image img{
border-radius:40px;
}
.about-content p{
margin:30px 0;
line-height:1.5;
color:var(--color-text-light);
}
.masked-image {
width: 500px;
aspect-ratio: 1;
}
.masked-image img {
width: 100%;
height: 100%;
object-fit: cover;
-webkit-mask-image: url(//kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/maska.svg);
mask-image: url(//kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/maska.svg);
-webkit-mask-size: contain;
mask-size: contain;
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
} .voucher-content{
text-align:center;
}
.voucher img{
margin:auto;
margin-top:50px;
max-width:stretch;
} .cta
{
background-image: url(https://kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/elipse.avif);
background-repeat: no-repeat;
background-position: -100px 0px;
background-size: 300px;
padding-top: 150px;
margin-top: -130px;
}
.cta-grid{
display:grid;
grid-template-columns:0.8fr 1.2fr;
gap:100px;
align-items:center;
}
@media (max-width:991px)
{
.cta-grid{
grid-template-columns:1fr 2fr;
gap:40px;
}
}
@media (max-width:767px)
{
.cta-grid{
grid-template-columns:1fr;
gap:40px;
}
.cta-image img
{
width: 65%;
}
}
.cta-image img{
border-radius:30px;
}
.cta-grid a
{
display: inline-flex;
gap: 10px;
}
.cta-grid h2
{
font-size:36px;
margin-bottom: 20px;
}
.contact-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:10px;
margin-top:50px;
}
@media (max-width:767px)
{
.contact-grid{
grid-template-columns:1fr;
}
} @media (max-width: 991px)
{
.about-grid
{
grid-template-columns: 1fr 2fr;
gap: 20px;
margin-top: -120px;
padding-top: 160px;
}
.about-image
{
display: flex;
justify-content: flex-start;
}
.masked-image
{
width: auto;
}
}
@media (max-width: 767px)
{
.cta-grid h2
{
font-size:28px;
}
.about
{
background-position: left center;
}
.about-grid
{
gap: 30px;
margin-top: 0;
padding-top: 0px;
grid-template-columns: 1fr;
}
.about-content h2
{
margin-top: 8px;
font-size: 28px;
}
.about-content p
{
margin: 22px 0;
font-size: 15px;
}
} .audience
{
padding-top: 20px;
padding-bottom: 100px;
}
.audience-content
{
max-width: 760px;
text-align: center;
}
.audience-content h2
{
margin-bottom: 12px;
}
.audience-content p
{
color: var(--color-text-light);
line-height: 1.7;
} .reviews
{
position: relative;
overflow: hidden;
background-image: url(https://kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/blur.avif);
background-repeat: no-repeat;
background-position: 70% 0%;
background-size: 400px;
padding-top: 200px;
margin-top: -150px;
}
.reviews::before
{
content: "";
position: absolute;
inset: 0;
background-image: url(//kaperagarage.pl/wp-content/themes/kg-theme/assets/images/front-page/blur-hex.avif);
background-repeat: no-repeat;
background-position: left center;
background-size: contain;
transform: scaleX(-1);
z-index: -1;
pointer-events: none;
background-size: 360px;
}
.reviews-grid
{
display: grid;
grid-template-columns: 1.1fr 0.9fr;
gap: 90px;
align-items: center;
}
.reviews-content h2
{
margin-top: 6px;
margin-bottom: 28px;
}
.reviews-list
{
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 14px;
}
.review-card
{
min-height: 245px;
padding: 24px;
border-radius: 9px;
background: var(--color-card);
}
.review-author
{
display: flex;
gap: 12px;
align-items: center;
}
.google-letter
{
display: flex;
width: 34px;
height: 34px;
align-items: center;
justify-content: center;
border-radius: 50%;
background: #ffffff;
color: #4285f4;
font-size: 22px;
font-weight: 700;
}
.review-author strong,
.review-author small
{
display: block;
}
.review-author strong
{
font-size: 13px;
}
.review-author small
{
margin-top: 2px;
color: var(--color-text-light);
font-size: 10px;
}
.review-stars
{
margin-top: 15px;
color: #ffc107;
font-size: 15px;
letter-spacing: 1px;
}
.review-card p
{
margin-top: 12px;
color: var(--color-text-light);
font-size: 12px;
line-height: 1.55;
}
.reviews-button
{
margin-top: 22px;
}
@media (max-width:767px)
{
.reviews-content
{
display: grid;
place-items: center;
}
.reviews-button
{
margin-top:45px;
}
}
.reviews-image
{
display: flex;
justify-content: center;
} .voucher-content h2
{
max-width: 760px;
margin: 8px auto 12px;
}
.voucher-content p
{
color: var(--color-text-light);
line-height: 1.6;
}
.voucher-image
{
min-height: 1px;
} @media (max-width: 991px)
{
.reviews-grid
{
grid-template-columns: 1fr 2fr;
gap: 20px;
}
}
@media (max-width: 767px)
{
.reviews-grid
{
grid-template-columns: 1fr;
gap: 40px;
}
.masked-image
{
width: 50%;
}
.audience
{
padding-bottom: 0px;
}
.audience-content h2
{
font-size: 25px;
}
.reviews
{
background-size: 180%;
margin-top:-200px;
}
.reviews-list
{
grid-template-columns: 1fr;
}
.review-card
{
min-height: auto;
}
.voucher-content h2
{
font-size: 24px;
line-height: 1.3;
}
}.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;
}
}