:root{--color-cyan:#46A9C1;--color-pink:#E44565;--color-dark:#262626;--color-text:#9F9F9F;--color-heading:#858585;--color-border:#CCCCCC;--color-soft:#FAFAFA;--color-white:#FFFFFF;--color-map:#ECECEC;--color-overlay:rgba(0,0,0,.82);--container:1170px;--gap:30px;--transition:all .25s ease;}
*{box-sizing:border-box;}
html{overflow-y:scroll;background:var(--color-white);}
body{margin:0;font-family:'Asap',sans-serif;font-size:14px;line-height:22px;color:var(--color-text);background:var(--color-white);-webkit-font-smoothing:subpixel-antialiased;}
a{color:var(--color-heading);text-decoration:none;}
a:hover,a:focus{color:var(--color-cyan);}
img{max-width:100%;height:auto;display:block;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.4;margin:0;color:var(--color-dark);}
h2{font-size:22px;color:var(--color-heading);text-decoration:underline;padding:10px 0 20px;}
h3{font-size:18px;}
h4{font-size:13px;color:var(--color-text);text-transform:uppercase;}
p{margin:0 0 15px;padding:0;}
.container{width:var(--container);max-width:calc(100% - 60px);margin:0 auto;}
.color-dark{color:var(--color-dark);}
.color-cyan{color:var(--color-cyan);}
.color-pink{color:var(--color-pink);}
.brand-underline{text-decoration:underline;}
.header-spacer{height:40px;}
.header-main{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:140px;}
.brand{display:flex;align-items:center;}
.brand-mark{display:block;width:150px;height:140px;background:url('img/global/logo.png') center/150px 140px no-repeat;}
.brand-text{font-size:22px;padding-left:30px;}
.account-links{display:flex;gap:18px;align-items:center;font-size:13px;}
.main-nav{position:relative;margin:35px 0;border-bottom:1px solid var(--color-border);text-transform:uppercase;font-size:13px;}
.nav-toggle{display:none;width:100%;height:40px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);font:inherit;padding:0 12px;align-items:center;justify-content:space-between;}
.nav-menu{display:flex;justify-content:flex-end;list-style:none;margin:0;padding:0;}
.nav-menu li{position:relative;}
.nav-menu>li>a{display:block;height:51px;padding:15px 25px;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);color:var(--color-text);}
.nav-menu>li:last-child>a{border-right:1px solid var(--color-border);}
.nav-menu>li.active>a{background:var(--color-soft);color:var(--color-dark);}
.nav-menu>li:hover>a,.nav-menu>li:focus-within>a{background:var(--color-dark);border-color:var(--color-dark);color:var(--color-text);}
.nav-menu ul{display:none;position:absolute;z-index:10;top:51px;left:0;width:210px;margin:0;padding:10px 0 8px;list-style:none;background:var(--color-dark);text-transform:none;}
.nav-menu li:hover>ul,.nav-menu li:focus-within>ul{display:block;}
.nav-menu ul ul{top:35px;left:210px;}
.nav-menu ul a{display:block;line-height:35px;padding-left:25px;color:var(--color-text);}
.nav-menu ul a:hover{color:var(--color-white);}
.nav-menu ul .active-link>a{color:var(--color-white);}
.hero-slider{position:relative;overflow:hidden;background:var(--color-dark);}
.slider-slide[hidden]{display:none;}
.slider-slide img{width:100%;}
.slider-control{position:absolute;top:43%;width:50px;height:50px;border:0;background:var(--color-dark);color:var(--color-text);font-size:32px;opacity:0;cursor:pointer;}
.hero-slider:hover .slider-control{opacity:.5;}
.slider-control:hover{opacity:.8;color:var(--color-white);}
.slider-prev{left:0;}
.slider-next{right:0;}
.quote-block{margin:50px 0 80px;padding:30px 0 10px;text-align:center;border-bottom:1px solid var(--color-border);}
.quote-block h1{font-size:22px;color:var(--color-text);font-weight:500;}
.quote-block p{margin-top:10px;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:50px;}
.service{display:grid;grid-template-columns:70px 1fr;gap:30px;}
.service-icon{font-size:56px;line-height:1;}
.service h3{font-size:28px;line-height:1.1;padding-bottom:10px;}
.team-section,.works-section{margin-top:50px;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:50px;}
.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.framed-card:before{content:'';display:block;width:95%;height:5px;margin:0 auto;background:var(--color-border);}
.framed-card:after{content:'';display:block;width:95%;height:4px;margin:0 auto;background:var(--color-soft);border:1px solid var(--color-border);border-top:0;}
.framed-card:hover:before{background:var(--color-cyan);}
.team-card:hover:before{background:var(--color-pink);}
.card-body{padding:30px;border:1px solid var(--color-border);border-top:0;background:var(--color-soft);}
.card-body h3{line-height:1;padding-bottom:10px;}
.card-body h4{line-height:1;padding:0;}
.work-image{position:relative;overflow:hidden;background:var(--color-cyan);}
.work-image img{width:100%;}
.pagination{display:flex;justify-content:center;gap:0;margin:25px 0;}
.pagination a{display:block;padding:4px 12px;font-size:13px;}
.pagination .active,.pagination a:hover{color:var(--color-dark);}
hr{border:0;border-top:1px solid var(--color-border);margin:0;}
.blog-section h2{padding-top:10px;}
.blog-post{display:grid;grid-template-columns:370px 1fr;gap:30px;margin-bottom:20px;}
.blog-image{position:relative;overflow:hidden;}
.blog-image:before{content:'';display:block;width:95%;height:5px;margin:0 auto;background:var(--color-border);}
.blog-post:hover .blog-image:before{background:var(--color-cyan);}
.blog-copy h3{padding:10px 0;}
.blog-copy h4{padding:5px 0 10px;}
.parallax-section{height:500px;margin:40px 0 70px;background:url('img/parallax/parallax-1.jpg') center/cover fixed no-repeat;display:grid;place-items:center;text-align:center;text-transform:uppercase;color:var(--color-white);}
.parallax-text{width:100%;min-width:0;padding:0 20px;font-size:36px;font-weight:700;line-height:1;}
.parallax-text span{font-size:24px;font-weight:400;}
.clients-section h2{padding:20px 0 0;}
.clients-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:30px;align-items:center;margin-bottom:40px;}
.clients-grid img{opacity:.5;transition:var(--transition);}
.clients-grid img:hover{opacity:1;}
.site-footer{margin-bottom:30px;}
.footer-inner{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);}
.contact-panel{width:370px;max-width:100%;margin:0 auto;text-align:center;background:var(--color-soft);border:1px solid var(--color-border);border-top:0;padding:5px 0;}
.contact-panel h2{text-decoration:none;color:var(--color-text);padding:10px 0;}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:40px 0 30px;}
.footer-grid h3{font-size:13px;padding:0 0 28px;}
.socials{display:flex;flex-wrap:wrap;gap:0;}
.socials a{font-size:24px;width:32px;height:32px;line-height:32px;color:var(--color-border);}
.socials a:hover{color:var(--color-dark);}
.footer-bottom{display:grid;grid-template-columns:1fr 70px;align-items:center;}
.footer-bottom p{text-align:center;height:50px;line-height:50px;font-size:12px;margin:0;}
.back-to-top{display:grid;place-items:center;width:55px;height:50px;margin-left:auto;border:1px solid var(--color-border);border-bottom:0;background:var(--color-soft);font-size:20px;}
@media (prefers-reduced-motion:no-preference){a,.slider-control,.work-image img,.framed-card:before{transition:var(--transition);}
.work-card:hover .work-image img{opacity:.5;transform:scale(1.2);}
}
@media (max-width:1199px){:root{--container:940px;}
.nav-menu>li>a{padding-left:15px;padding-right:15px;}
.blog-post{grid-template-columns:300px 1fr;}
}
@media (max-width:991px){:root{--container:724px;}
.header-main{grid-template-columns:1fr;}
.account-links{display:none;}
.nav-toggle{display:flex;}
.main-nav{border-bottom:0;margin:15px 0;}
.nav-menu{display:none;flex-direction:column;}
.main-nav.is-open .nav-menu{display:flex;}
.nav-menu>li>a{height:auto;border-right:1px solid var(--color-border);}
.nav-menu ul{position:static;display:block;width:auto;background:var(--color-soft);padding:0;}
.nav-menu ul a{color:var(--color-text);}
.services-grid,.team-grid,.works-grid,.footer-grid{grid-template-columns:1fr 1fr;}
.clients-grid{grid-template-columns:repeat(3,1fr);}
.parallax-section{background-attachment:scroll;}
}
@media (max-width:768px){.container{width:calc(100vw - 20px);max-width:calc(100vw - 20px);margin-left:auto;margin-right:auto;}
.header-spacer{height:15px;}
.brand-text{font-size:16px;padding-left:8px;}
.services-grid,.team-grid,.works-grid,.blog-post,.footer-grid{grid-template-columns:1fr;}
.service{grid-template-columns:70px 1fr;}
.quote-block{margin:15px 0 30px;}
.clients-grid{grid-template-columns:repeat(2,1fr);}
.footer-bottom{grid-template-columns:1fr;}
.back-to-top{margin:20px auto 0;border-bottom:1px solid var(--color-border);}
}
.brand-link{display:block;width:150px;height:140px;background:url('img/global/logo.png') center/150px 140px no-repeat;}
.brand-mark{display:none;}
.service-icon:before{font-family:'Font Awesome 6 Brands';font-weight:400;}
.service-icon.color-cyan:before,.service-icon.color-dark:before{content:'\f13b';}
.service-icon.color-pink:before{content:'\f38b';}
.socials a:before{font-family:'Font Awesome 6 Brands';font-weight:400;}
.socials a:nth-child(1):before{content:'\f39e';}
.socials a:nth-child(2):before{content:'\f0d5';}
.socials a:nth-child(3):before{content:'\f099';}
.socials a:nth-child(4):before{content:'\f17e';}
.socials a:nth-child(5):before{content:'\f0e1';}
.socials a:nth-child(6):before{content:'\f17d';}
.socials a:nth-child(7):before{content:'\f0d2';}
.socials a:nth-child(8):before{content:'\f16e';}
.socials a:nth-child(9):before{content:'\f173';}
.socials a:nth-child(10):before{content:'\f167';}
.back-to-top:before{content:'\f106';font-family:'Font Awesome 6 Free';font-weight:900;}
.nav-toggle:after{content:'\f0c9';font-family:'Font Awesome 6 Free';font-weight:900;}

.projects-page{padding-bottom:25px;}
.page-heading{display:grid;grid-template-columns:1fr auto;align-items:start;gap:30px;}
.page-heading h1{font-size:22px;color:var(--color-heading);text-decoration:underline;padding:10px 0 20px;}
.breadcrumb{display:flex;gap:9px;align-items:center;margin:0;padding:16px 0 28px;list-style:none;text-transform:uppercase;font-size:13px;color:var(--color-text);}
.portfolio-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0;list-style:none;}
.portfolio-filter li{padding:5px 0 12px;}
.portfolio-filter button{font:inherit;font-size:13px;color:var(--color-text);background:transparent;border:1px solid transparent;padding:12px 15px;cursor:pointer;}
.portfolio-filter button:hover,.portfolio-filter button:focus{background:var(--color-soft);border-color:var(--color-border);}
.portfolio-filter button.is-active{color:var(--color-white);background:var(--color-dark);border-color:transparent;}
.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:30px;}
.project-card{grid-column:span 4;}
.project-card.is-hidden{display:none;}
.project-span-3{grid-column:span 3;}
.project-span-4{grid-column:span 4;}
.project-span-6{grid-column:span 6;}
.project-span-12{grid-column:1 / -1;}
.project-card .card-body p:last-child{margin-bottom:0;}

@media (max-width:991px){
.page-heading{grid-template-columns:1fr;}
.breadcrumb{padding-top:0;}
.project-span-3,.project-span-4,.project-span-6{grid-column:span 6;}
}
@media (max-width:768px){
.projects-grid{grid-template-columns:1fr;}
.project-card,.project-span-3,.project-span-4,.project-span-6,.project-span-12{grid-column:1 / -1;}
}

.project-detail-page{padding-bottom:50px;}
.project-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
.detail-slider{position:relative;overflow:hidden;background:var(--color-dark);}
.detail-slide[hidden]{display:none;}
.detail-slide img{width:100%;}
.detail-slider-prev,.detail-slider-next{position:absolute;bottom:0;width:50px;height:50px;border:0;background:var(--color-dark);color:var(--color-text);font-size:32px;opacity:.5;cursor:pointer;}
.detail-slider-prev{left:0;}
.detail-slider-next{right:0;}
.detail-slider-prev:before,.detail-slider-next:before{font-family:'Font Awesome 6 Free';font-weight:900;}
.detail-slider-prev:before{content:'\f104';}
.detail-slider-next:before{content:'\f105';}
.detail-slider-prev:hover,.detail-slider-next:hover{opacity:.8;color:var(--color-white);}
.project-title-row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:20px;min-height:40px;}
.project-title-row h2{font-size:28px;color:var(--color-dark);text-decoration:none;padding:5px 0 10px;}
.project-copy h3{font-size:13px;color:var(--color-text);text-transform:uppercase;padding:5px 0 10px;}
.project-switcher{display:flex;flex-direction:row-reverse;}
.project-switcher a{display:grid;place-items:center;width:40px;height:40px;margin-left:-1px;border:1px solid var(--color-border);background:var(--color-soft);font-size:20px;}
.project-switcher a:before{font-family:'Font Awesome 6 Free';font-weight:900;}
.project-switcher a:nth-child(1):before{content:'\f105';}
.project-switcher a:nth-child(2):before{content:'\f00a';}
.project-switcher a:nth-child(3):before{content:'\f104';}
.project-complete{float:right;margin-top:10px;padding:20px 22px;background:var(--color-pink);color:var(--color-white);}
.project-complete:hover,.project-complete:focus{background:var(--color-dark);color:var(--color-white);}
.related-projects{clear:both;padding-top:70px;}
.related-projects h2{margin-bottom:20px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.project-detail-wide .detail-slider{margin-bottom:25px;}
.detail-slider-wide img{aspect-ratio:12 / 5;object-fit:cover;}
.project-copy-wide{clear:both;}
.project-copy-wide blockquote{margin:20px 0;padding:18px 25px;border-left:5px solid var(--color-border);background:var(--color-soft);font-size:15px;line-height:25px;color:var(--color-heading);}
.project-copy-wide .project-complete{margin-bottom:10px;}

@media (max-width:991px){
.project-detail-grid,.related-grid{grid-template-columns:1fr;}
.project-complete{float:none;display:inline-block;}
}

/* Shop pages */
.shop-site-header .header-spacer{height:35px;}
.shop-utility{display:grid;grid-template-columns:1fr auto;align-items:center;font-size:13px;color:var(--color-text);}
.shop-utility-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;text-transform:uppercase;}
.shop-header-main{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:140px;}
.shop-cart-summary{display:grid;grid-template-columns:1fr 58px;align-items:center;text-align:right;color:var(--color-heading);}
.shop-cart-summary strong{display:block;font-size:22px;font-weight:500;color:var(--color-dark);}
.shop-cart-summary span{font-size:13px;text-transform:uppercase;}
.shop-cart-link{display:grid;place-items:center;width:58px;height:58px;margin-left:15px;border:1px solid var(--color-border);background:var(--color-soft);font-size:24px;color:var(--color-text);}
.shop-cart-link:before{content:'\f07a';font-family:'Font Awesome 6 Free';font-weight:900;}
.shop-page{padding-bottom:50px;}
.shop-breadcrumb{justify-content:flex-start;padding:0 0 30px;}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:20px;}
.shop-toolbar h1{font-size:22px;color:var(--color-heading);text-decoration:underline;padding:10px 0 20px;}
.shop-layout{display:grid;grid-template-columns:270px 1fr;gap:30px;align-items:start;}
.shop-layout.is-sidebar-right{grid-template-columns:1fr 270px;}
.shop-sidebar{display:grid;gap:20px;}
.shop-search{display:grid;grid-template-columns:1fr 42px;border:1px solid var(--color-border);}
.shop-search input{min-width:0;border:0;padding:10px 12px;font:inherit;color:var(--color-text);}
.shop-search button{border:0;border-left:1px solid var(--color-border);background:var(--color-soft);color:var(--color-text);cursor:pointer;}
.shop-search button:before{content:'\f002';font-family:'Font Awesome 6 Free';font-weight:900;}
.shop-panel{border-top:5px solid var(--color-border);background:var(--color-soft);}
.shop-panel-inner{border:1px solid var(--color-border);border-top:0;padding:20px;}
.shop-panel h3{font-size:13px;text-transform:uppercase;color:var(--color-text);padding:0 0 12px;}
.shop-tags{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.shop-tags a{display:inline-flex;align-items:center;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);line-height:1;}
.shop-tags .tag-xl{font-size:24px;padding:10px 13px;}
.shop-tags .tag-lg{font-size:18px;padding:8px 12px;}
.shop-tags .tag-md{font-size:14px;padding:7px 10px;}
.shop-tags .tag-sm{font-size:12px;padding:6px 9px;}
.shop-list{margin:0;padding:0;list-style:none;}
.shop-list li{border-top:1px solid var(--color-border);padding:8px 0;}
.shop-list li:first-child{border-top:0;}
.mini-product{display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:center;margin-bottom:12px;}
.mini-product img{width:50px;height:50px;object-fit:cover;background:var(--color-border);}
.testimonial-box{padding:18px;background:var(--color-white);border-left:5px solid var(--color-border);}
.testimonial-name{padding-top:12px;font-size:13px;}
.shop-grid{display:grid;gap:30px;}
.shop-grid.is-two{grid-template-columns:repeat(2,1fr);}
.shop-grid.is-three{grid-template-columns:repeat(3,1fr);}
.shop-grid.is-four{grid-template-columns:repeat(4,1fr);}
.shop-product-card.is-hidden{display:none;}
.shop-product-card:before{content:'';display:block;width:95%;height:5px;margin:0 auto;background:var(--color-border);}
.shop-product-card:after{content:'';display:block;width:95%;height:4px;margin:0 auto;background:var(--color-soft);border:1px solid var(--color-border);border-top:0;}
.shop-product-card:hover:before{background:var(--color-cyan);}
.shop-card-image{overflow:hidden;background:var(--color-cyan);}
.shop-card-image img{width:100%;aspect-ratio:1 / 1;object-fit:cover;}
.shop-card-title{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);background:var(--color-soft);padding:16px 20px 13px;text-align:center;}
.shop-card-title h2,.shop-card-title h3{font-size:13px;line-height:1.25;text-transform:uppercase;text-decoration:none;color:var(--color-text);padding:0;}
.shop-card-title p{font-size:12px;text-transform:uppercase;margin:4px 0 0;}
.shop-card-bottom{display:grid;grid-template-columns:1fr auto;border:1px solid var(--color-border);border-top:0;background:var(--color-white);}
.shop-card-price{display:flex;align-items:center;min-height:50px;padding:14px 15px;font-weight:500;color:var(--color-heading);}
.shop-card-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:82px;min-height:50px;padding:0 15px;border:0;border-left:1px solid var(--color-border);background:var(--color-soft);font:inherit;color:var(--color-text);cursor:pointer;}
.shop-card-add:after{content:'\f07a';font-family:'Font Awesome 6 Free';font-weight:900;font-size:12px;line-height:1;}
.shop-card-add:hover{background:var(--color-dark);color:var(--color-white);}
.shop-product-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
.product-gallery .detail-slider-prev,.product-gallery .detail-slider-next{bottom:0;}
.shop-tabs{margin-top:35px;}
.shop-tab-list{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.shop-tab-list button{height:43px;padding:0 20px;border:1px solid var(--color-border);border-right:0;background:var(--color-soft);font:inherit;color:var(--color-text);cursor:pointer;}
.shop-tab-list li:last-child button{border-right:1px solid var(--color-border);}
.shop-tab-list button.is-active{background:var(--color-dark);border-color:var(--color-dark);color:var(--color-white);}
.shop-tab-panel{border:1px solid var(--color-border);border-top:0;background:var(--color-soft);padding:22px;}
.product-summary h1{font-size:28px;color:var(--color-dark);padding:0 0 10px;}
.product-price{font-size:28px;line-height:1;color:var(--color-pink);margin-bottom:22px;}
.product-options{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:20px;}
.option-label{display:block;font-size:13px;color:var(--color-text);text-transform:uppercase;padding:0 0 10px;}
.shop-select{width:100%;height:42px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);font:inherit;padding:0 12px;}
.product-rating{display:flex;gap:4px;margin:0 0 25px;color:var(--color-cyan);}
.product-rating:before{content:'\f005 \f005 \f005 \f005 \f005';font-family:'Font Awesome 6 Free';font-weight:900;}
.product-summary h2,.product-summary h3{font-size:13px;color:var(--color-text);text-transform:uppercase;padding:0 0 14px;}
.shop-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;padding:0 22px;border:1px solid var(--color-pink);background:var(--color-pink);color:var(--color-white);font:inherit;cursor:pointer;}
.shop-button:before{content:'\f07a';font-family:'Font Awesome 6 Free';font-weight:900;}
.shop-button:hover,.shop-button:focus{background:var(--color-dark);border-color:var(--color-dark);color:var(--color-white);}
.share-row{display:flex;gap:2px;margin-top:8px;}
.share-row a{display:grid;place-items:center;width:30px;height:30px;color:var(--color-border);font-size:20px;}
.share-row a:hover{color:var(--color-dark);}
.share-row a:before{font-family:'Font Awesome 6 Brands';font-weight:400;}
.share-row a:nth-child(1):before{content:'\f39e';}
.share-row a:nth-child(2):before{content:'\f0d5';}
.share-row a:nth-child(3):before{content:'\f099';}
.share-row a:nth-child(4):before{content:'\f0d2';}
.share-row a:nth-child(5):before{content:'\f16e';}
.related-products{padding-top:60px;}
.related-products h2{margin-bottom:20px;}
.shop-clients{border-top:1px solid var(--color-border);margin-top:45px;padding-top:25px;}
.shop-checkout-table{width:100%;border-collapse:collapse;margin-bottom:5px;}
.shop-checkout-table th,.shop-checkout-table td{border:1px solid var(--color-border);padding:16px;text-align:left;vertical-align:middle;}
.shop-checkout-table th{font-size:13px;color:var(--color-text);background:var(--color-soft);}
.checkout-item{display:grid;grid-template-columns:80px 1fr;gap:18px;align-items:center;}
.checkout-item img{width:80px;height:80px;object-fit:cover;background:var(--color-border);}
.checkout-item h2{font-size:13px;text-decoration:none;padding:0;color:var(--color-dark);}
.checkout-item p{font-size:13px;margin:0;}
.checkout-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:40px 0;}
.checkout-columns label{display:block;margin-bottom:20px;}
.checkout-actions{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;margin-bottom:35px;}
.checkout-actions h2{font-size:18px;text-decoration:none;padding:0;color:var(--color-dark);}
.checkout-actions .shop-button:before{content:'\f00c';}
.checkout-total td:last-child{text-align:right;}
.checkout-total .strong{font-weight:700;color:var(--color-dark);}

@media (max-width:991px){
.shop-utility,.shop-header-main,.shop-layout,.shop-layout.is-sidebar-right,.shop-product-layout,.checkout-columns,.checkout-actions{grid-template-columns:1fr;}
.shop-utility-links{justify-content:flex-start;}
.shop-cart-summary{justify-self:start;}
.shop-grid.is-three,.shop-grid.is-four{grid-template-columns:repeat(2,1fr);}
.checkout-actions{gap:15px;}
}
@media (max-width:768px){
.shop-toolbar{display:block;}
.shop-grid.is-two,.shop-grid.is-three,.shop-grid.is-four,.product-options{grid-template-columns:1fr;}
.shop-checkout-table{min-width:680px;}
.shop-table-wrap{overflow-x:auto;}
}

/* Gallery pages */
.gallery-page{padding-bottom:50px;}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:30px;margin-bottom:25px;}
.gallery-grid.is-two .gallery-card{grid-column:span 6;}
.gallery-grid.is-three .gallery-card{grid-column:span 4;}
.gallery-grid.is-four .gallery-card{grid-column:span 3;}
.gallery-grid.is-masonry{display:block;column-count:2;column-gap:30px;}
.gallery-grid.is-masonry .gallery-card{display:block;break-inside:avoid;margin-bottom:30px;}
.gallery-grid.is-masonry .gallery-card.is-hidden{display:none;}
.gallery-grid.is-masonry .gallery-image img{aspect-ratio:auto;object-fit:contain;}
.gallery-span-3{grid-column:span 3;}
.gallery-span-4{grid-column:span 4;}
.gallery-span-6{grid-column:span 6;}
.gallery-card.is-hidden{display:none;}
.gallery-card:before{content:'';display:block;width:95%;height:5px;margin:0 auto;background:var(--color-border);}
.gallery-card:hover:before{background:var(--color-cyan);}
.gallery-image{position:relative;overflow:hidden;background:var(--color-cyan);}
.gallery-image img{width:100%;aspect-ratio:3 / 2;object-fit:cover;}
.gallery-zoom{position:absolute;inset:0;display:grid;place-items:center;background:var(--color-overlay);color:var(--color-white);font-size:28px;opacity:0;}
.gallery-zoom:before{content:'\f00e';font-family:'Font Awesome 6 Free';font-weight:900;}
.gallery-zoom:hover,.gallery-zoom:focus{opacity:.85;color:var(--color-white);}
.gallery-clients{border-top:1px solid var(--color-border);margin-top:30px;padding-top:25px;}
.lightbox-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:40px;background:var(--color-overlay);}
.lightbox-modal[hidden]{display:none;}
.lightbox-image{max-width:min(1100px,100%);max-height:82vh;border:5px solid var(--color-white);background:var(--color-white);}
.lightbox-close{position:fixed;top:25px;right:25px;width:45px;height:45px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-dark);font-size:24px;cursor:pointer;}
.lightbox-close:before{content:'\f00d';font-family:'Font Awesome 6 Free';font-weight:900;}

@media (prefers-reduced-motion:no-preference){
.gallery-zoom{transition:var(--transition);}
.gallery-image img{transition:var(--transition);}
.gallery-card:hover .gallery-image img{opacity:.55;transform:scale(1.08);}
}
@media (max-width:991px){
.gallery-grid.is-four .gallery-card,.gallery-span-3,.gallery-span-4,.gallery-span-6{grid-column:span 6;}
}
@media (max-width:768px){
.gallery-grid{grid-template-columns:1fr;}
.gallery-grid.is-two .gallery-card,.gallery-grid.is-three .gallery-card,.gallery-grid.is-four .gallery-card,.gallery-span-3,.gallery-span-4,.gallery-span-6{grid-column:1 / -1;}
.gallery-grid.is-masonry{column-count:1;}
.lightbox-modal{padding:15px;}
}

/* Blog pages */
.blog-page{padding-bottom:55px;}
.blog-page .page-heading{margin-bottom:10px;}
.blog-feed{display:grid;gap:30px;}
.blog-entry{display:grid;grid-template-columns:100px 1fr;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--color-border);}
.blog-entry:last-child{border-bottom:0;}
.blog-meta-box{display:grid;align-content:start;justify-items:center;gap:12px;color:var(--color-text);}
.blog-meta-box time{display:block;text-align:center;font-size:13px;line-height:18px;text-transform:uppercase;}
.blog-meta-icon{display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--color-border);background:var(--color-soft);font-size:26px;color:var(--color-heading);}
.blog-meta-icon:before{font-family:'Font Awesome 6 Free';font-weight:900;}
.blog-meta-icon.is-picture:before{content:'\f03e';}
.blog-meta-icon.is-video:before{content:'\f03d';}
.blog-meta-icon.is-quote:before{content:'\f10e';}
.blog-meta-icon.is-text:before{content:'\f303';}
.blog-entry h2{font-size:28px;text-decoration:none;color:var(--color-dark);padding:0 0 10px;}
.blog-entry h2 a{color:var(--color-dark);}
.blog-entry h2 a:hover{color:var(--color-cyan);}
.blog-categories{font-size:13px;text-transform:uppercase;margin-bottom:12px;}
.blog-media{position:relative;margin:0 0 18px;border-top:5px solid var(--color-border);background:var(--color-dark);overflow:hidden;}
.blog-media img{width:100%;aspect-ratio:12 / 5;object-fit:cover;}
.blog-list .blog-media img{aspect-ratio:3 / 2;}
.blog-slider-caption{position:absolute;right:0;bottom:0;max-width:360px;padding:18px 24px;background:var(--color-dark);color:var(--color-white);opacity:.86;}
.blog-slider-caption h3{color:var(--color-white);font-size:18px;}
.blog-slider-caption p{margin:0;color:var(--color-text);}
.blog-video-box{display:grid;place-items:center;min-height:280px;background:var(--color-dark);color:var(--color-white);text-align:center;}
.blog-video-box:before{content:'\f04b';font-family:'Font Awesome 6 Free';font-weight:900;display:grid;place-items:center;width:78px;height:78px;border:1px solid var(--color-border);border-radius:50%;font-size:28px;margin-bottom:16px;}
.blog-quote{margin:12px 0 0;padding:22px 28px;border-left:5px solid var(--color-border);background:var(--color-soft);font-size:15px;line-height:25px;color:var(--color-heading);}
.blog-list{display:grid;gap:25px;}
.blog-list-row{display:grid;grid-template-columns:370px 1fr;gap:30px;padding-bottom:25px;border-bottom:1px solid var(--color-border);}
.blog-list-row.is-reverse{grid-template-columns:1fr 570px;}
.blog-list-row.is-text{grid-template-columns:1fr;}
.blog-list-copy h2{font-size:18px;text-decoration:none;padding:0 0 8px;color:var(--color-dark);}
.blog-list-copy h2 a{color:var(--color-dark);}
.blog-list-copy h2 a:hover{color:var(--color-cyan);}
.blog-detail-article{padding-bottom:35px;border-bottom:1px solid var(--color-border);}
.blog-detail-heading{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin:30px 0 18px;}
.blog-detail-heading h2{font-size:28px;text-decoration:none;color:var(--color-dark);padding:0;}
.blog-date{display:inline-block;margin-left:14px;font-size:13px;color:var(--color-text);font-weight:400;}
.blog-pager{display:grid;grid-template-columns:1fr auto auto;gap:0;margin:25px 0 50px;}
.blog-pager a{display:grid;place-items:center;min-height:50px;padding:0 18px;border:1px solid var(--color-border);background:var(--color-soft);}
.blog-pager a:first-child{justify-items:start;}
.comments-list{display:grid;gap:20px;margin-bottom:35px;}
.blog-comment{display:grid;grid-template-columns:70px 1fr;gap:20px;}
.blog-comment.is-reply-1{margin-left:80px;}
.blog-comment.is-reply-2{margin-left:160px;}
.blog-comment.is-reply-3{margin-left:240px;}
.comment-icon{display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--color-border);background:var(--color-soft);font-size:24px;color:var(--color-heading);}
.comment-icon:before{content:'\f075';font-family:'Font Awesome 6 Free';font-weight:400;}
.comment-body{position:relative;padding:18px 22px;border:1px solid var(--color-border);background:var(--color-soft);}
.comment-body h3{font-size:18px;padding:0 0 4px;}
.comment-body time{display:block;font-size:13px;text-transform:uppercase;margin-bottom:8px;}
.comment-reply{position:absolute;top:15px;right:15px;font-size:16px;}
.comment-reply:before{content:'\f3e5';font-family:'Font Awesome 6 Free';font-weight:900;}
.comment-form{display:grid;gap:20px;margin-bottom:45px;}
.comment-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.comment-form input,.comment-form textarea{width:100%;border:1px solid var(--color-border);background:var(--color-white);padding:13px 14px;font:inherit;color:var(--color-text);}
.comment-form textarea{min-height:150px;resize:vertical;}
.comment-submit:before{content:'\f00c';}
.other-posts{padding-top:15px;}

@media (max-width:991px){
.blog-entry,.blog-list-row,.blog-list-row.is-reverse,.blog-detail-heading,.comment-form-row{grid-template-columns:1fr;}
.blog-meta-box{justify-items:start;}
.blog-list-row.is-reverse .blog-list-copy{order:2;}
.blog-list-row.is-reverse .blog-media{order:1;}
.blog-comment.is-reply-1,.blog-comment.is-reply-2,.blog-comment.is-reply-3{margin-left:0;}
}
@media (max-width:768px){
.blog-comment{grid-template-columns:1fr;}
.blog-pager{grid-template-columns:1fr;}
.blog-slider-caption{left:50px;right:0;max-width:none;padding:12px 16px;}
.blog-slider-caption h3{font-size:16px;}
}

/* Blog detail sidebar pages */
.blog-detail-layout{display:grid;grid-template-columns:1fr 270px;gap:30px;align-items:start;}
.blog-detail-main .detail-slider{margin-bottom:30px;}
.blog-sidebar{display:grid;gap:25px;align-content:start;}
.sidebar-panel h3,.sidebar-panel h4{font-size:13px;text-transform:uppercase;color:var(--color-text);padding:0 0 13px;}
.sidebar-list{margin:0;padding:0;list-style:none;}
.sidebar-list li{position:relative;margin-bottom:8px;padding-left:24px;}
.sidebar-list li:before{content:'\f105';position:absolute;left:0;top:0;display:grid;place-items:center;width:14px;height:14px;margin-top:4px;border:1px solid var(--color-border);font-family:'Font Awesome 6 Free';font-weight:900;font-size:10px;line-height:1;color:var(--color-text);}
.sidebar-list li:nth-child(3n+1):before{background:var(--color-dark);border-color:var(--color-dark);color:var(--color-white);}
.sidebar-list li:nth-child(3n+2):before{border-color:var(--color-cyan);color:var(--color-cyan);}
.sidebar-list li:nth-child(3n+3):before{border-color:var(--color-pink);color:var(--color-pink);}
.tag-cloud{display:flex;flex-wrap:wrap;gap:7px;}
.tag-cloud a{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border:1px solid var(--color-border);background:var(--color-soft);font-size:12px;text-transform:uppercase;color:var(--color-text);}
.tag-cloud a:nth-child(odd){background:var(--color-pink);border-color:var(--color-pink);color:var(--color-white);}
.tag-cloud a:nth-child(even){background:var(--color-cyan);border-color:var(--color-cyan);color:var(--color-white);}
.sidebar-quote{margin:0;padding:18px;background:var(--color-soft);border-top:5px solid var(--color-border);font-size:13px;line-height:22px;}
.sidebar-name{padding:12px 0 0;font-size:13px;color:var(--color-heading);}
.sidebar-name:before{content:'\f10e';font-family:'Font Awesome 6 Free';font-weight:900;margin-right:8px;color:var(--color-border);}
.other-posts .related-grid{grid-template-columns:repeat(4,1fr);}
.other-posts .related-card .card-body{padding:18px 20px;text-align:center;}

/* Contact page */
.contact-page{padding-bottom:55px;}
.contact-page .detail-slider{margin-bottom:35px;}
.contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin:25px 0 55px;}
.contact-intro>*,.contact-panels>*,.contact-tabs,.shop-tab-panel{min-width:0;}
.contact-page p,.shop-tab-panel{overflow-wrap:break-word;}
.contact-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:0;}
.contact-socials a{display:grid;place-items:center;width:42px;height:42px;font-size:28px;color:var(--color-border);}
.contact-socials a:hover,.contact-socials a:focus{color:var(--color-dark);}
.contact-panels{display:grid;grid-template-columns:370px 1fr;gap:30px;margin-bottom:55px;align-items:start;}
.contact-testimonial{border-top:5px solid var(--color-border);background:var(--color-soft);}
.contact-testimonial-inner{border:1px solid var(--color-border);border-top:0;padding:20px;}
.contact-tabs .shop-tab-panel{min-height:180px;}
.map-panel{position:relative;height:320px;border-top:5px solid var(--color-border);background:var(--color-map);overflow:hidden;}
.map-panel:before{content:'';position:absolute;inset:-20%;background:linear-gradient(17deg,transparent 0 46%,rgba(255,255,255,.85) 46% 52%,transparent 52%),linear-gradient(102deg,transparent 0 43%,rgba(255,255,255,.75) 43% 48%,transparent 48%),linear-gradient(152deg,transparent 0 55%,rgba(255,255,255,.65) 55% 60%,transparent 60%),linear-gradient(0deg,transparent 0 50%,rgba(204,204,204,.5) 50% 51%,transparent 51%);background-size:100% 100%,100% 100%,100% 100%,70px 70px;transform:rotate(-6deg);}
.map-panel:after{content:'\f3c5';position:absolute;left:50%;top:50%;transform:translate(-50%,-72%);font-family:'Font Awesome 6 Free';font-weight:900;font-size:46px;color:var(--color-pink);}
.map-label{position:absolute;left:50%;top:50%;transform:translate(-50%,32px);padding:8px 14px;background:var(--color-white);border:1px solid var(--color-border);font-size:13px;color:var(--color-heading);}
.contact-projects{margin-top:10px;}
.contact-projects .card-body{padding:16px 20px;text-align:center;}
.contact-projects .card-body h3{font-size:13px;text-transform:uppercase;color:var(--color-text);padding:0;}

/* 404 page */
.error-page{padding:135px 0 125px;text-align:center;}
.error-page .brand-link{margin:0 auto 30px;}
.error-page h1{font-size:28px;color:var(--color-dark);padding-bottom:8px;}
.error-page h2{font-size:13px;text-decoration:none;text-transform:uppercase;color:var(--color-text);padding:0;}
.error-search{display:grid;grid-template-columns:1fr 50px;width:370px;max-width:100%;margin:25px auto 0;border:1px solid var(--color-border);}
.error-search input{min-width:0;border:0;padding:13px 14px;font:inherit;color:var(--color-text);}
.error-search button{border:0;border-left:1px solid var(--color-border);background:var(--color-pink);color:var(--color-white);cursor:pointer;}
.error-search button:before{content:'\f002';font-family:'Font Awesome 6 Free';font-weight:900;}
.error-search button:hover,.error-search button:focus{background:var(--color-dark);}

@media (max-width:991px){
.blog-detail-layout,.contact-intro,.contact-panels{grid-template-columns:1fr;}
.other-posts .related-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
.other-posts .related-grid{grid-template-columns:1fr;}
.error-page{padding:70px 0;}
}

/* Feature and alternate home pages */
.feature-page,.home-alt{padding-bottom:55px;}
.component-section{margin-bottom:45px;}
.component-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.component-card{border-top:5px solid var(--color-border);background:var(--color-soft);}
.component-card-inner{border:1px solid var(--color-border);border-top:0;padding:22px;}
.component-card h3{font-size:18px;color:var(--color-dark);padding-bottom:10px;}
.component-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px;}
.plain-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid var(--color-border);background:var(--color-soft);font:inherit;color:var(--color-text);cursor:pointer;}
.plain-button:hover,.plain-button:focus{background:var(--color-dark);border-color:var(--color-dark);color:var(--color-white);}
.notice-list{display:grid;gap:12px;}
.notice{padding:15px 18px;border-left:5px solid var(--color-border);background:var(--color-soft);}
.notice.is-cyan{border-color:var(--color-cyan);}
.notice.is-pink{border-color:var(--color-pink);}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.price-card{text-align:center;border-top:5px solid var(--color-border);background:var(--color-soft);}
.price-card-inner{border:1px solid var(--color-border);border-top:0;padding:25px 20px;}
.price-card h3{font-size:18px;text-transform:uppercase;padding-bottom:8px;}
.price-card strong{display:block;font-size:28px;line-height:1;color:var(--color-dark);padding:15px 0;}
.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.skill-ring{--skill-progress:0%;position:relative;display:grid;place-items:center;width:130px;height:130px;margin:0 auto 18px;border-radius:50%;background:conic-gradient(var(--color-cyan) 0 var(--skill-progress),var(--color-border) var(--skill-progress) 100%);font-size:28px;color:var(--color-dark);}
.skill-ring:before{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--color-white);}
.skill-ring span{position:relative;z-index:1;}
.icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-bottom:35px;}
.icon-item{display:grid;place-items:center;min-height:86px;border:1px solid var(--color-border);background:var(--color-soft);font-size:28px;color:var(--color-heading);}
.icon-item span{display:block;margin-top:8px;font-size:12px;color:var(--color-text);}
.grid-demo{display:grid;gap:20px;margin:25px 0 45px;}
.grid-row{display:grid;gap:30px;}
.grid-row.is-12{grid-template-columns:1fr;}
.grid-row.is-6{grid-template-columns:repeat(2,1fr);}
.grid-row.is-4{grid-template-columns:repeat(3,1fr);}
.grid-row.is-3{grid-template-columns:repeat(4,1fr);}
.grid-row.is-8-4{grid-template-columns:2fr 1fr;}
.grid-cell{min-height:95px;padding:22px;border:1px solid var(--color-border);background:var(--color-soft);}
.horizontal-strip{display:flex;gap:0;overflow-x:auto;padding-bottom:20px;scroll-snap-type:x mandatory;}
.horizontal-strip img{width:360px;max-width:none;aspect-ratio:3 / 2;object-fit:cover;scroll-snap-align:start;}
.home-two-up{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;margin-bottom:40px;}
.home-video-panel{display:grid;place-items:center;min-height:280px;background:var(--color-dark);color:var(--color-white);text-align:center;}
.home-video-panel:before{content:'\f04b';font-family:'Font Awesome 6 Free';font-weight:900;display:grid;place-items:center;width:78px;height:78px;margin-bottom:14px;border:1px solid var(--color-border);border-radius:50%;font-size:28px;}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:45px;}
.offer-card{padding:24px;border:1px solid var(--color-border);background:var(--color-soft);}
.offer-card h3{font-size:22px;color:var(--color-dark);padding-bottom:8px;}
.accordion-list{display:grid;gap:10px;}
.accordion-item{border:1px solid var(--color-border);background:var(--color-soft);}
.accordion-item h3{padding:14px 18px;font-size:13px;text-transform:uppercase;color:var(--color-heading);}
.accordion-item p{padding:0 18px 18px;margin:0;}
.compact-projects{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.parallax-section.is-second{background-image:url('img/parallax/parallax-2.jpg');}
.parallax-section.is-full{margin-left:calc((100vw - min(var(--container), calc(100vw - 60px))) / -2);margin-right:calc((100vw - min(var(--container), calc(100vw - 60px))) / -2);}
.home-shop-hero{margin-bottom:45px;}
.home-shop-hero .detail-slider-wide img{aspect-ratio:12 / 5;object-fit:cover;}
.home-shop-lead{margin:35px 0 45px;padding:28px 32px;background:var(--color-soft);border:1px solid var(--color-border);font-size:22px;line-height:1.35;color:var(--color-heading);overflow-wrap:break-word;}
.home-shop-lead .shop-button{min-height:42px;margin-left:20px;font-size:14px;vertical-align:middle;}
.home-shop-info{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:45px 0;}
.feature-list{margin:0;padding:0;list-style:none;}
.feature-list li{position:relative;margin-bottom:8px;padding-left:24px;}
.feature-list li:before{content:'\f105';position:absolute;left:0;top:4px;display:grid;place-items:center;width:14px;height:14px;background:var(--color-dark);font-family:'Font Awesome 6 Free';font-weight:900;font-size:10px;color:var(--color-white);}
.shop-product-card.is-hot .shop-card-image{position:relative;}
.hot-badge{position:absolute;right:12px;top:12px;display:grid;place-items:center;min-width:82px;min-height:36px;padding:0 10px;background:var(--color-pink);color:var(--color-white);font-size:13px;text-transform:uppercase;}

@media (max-width:991px){
.component-grid,.price-grid,.skills-grid,.offer-grid,.compact-projects,.home-shop-info{grid-template-columns:repeat(2,1fr);}
.icon-grid{grid-template-columns:repeat(4,1fr);}
.home-two-up{grid-template-columns:1fr;}
}
@media (max-width:768px){
.component-grid,.price-grid,.skills-grid,.offer-grid,.compact-projects,.home-shop-info,.grid-row.is-6,.grid-row.is-4,.grid-row.is-3,.grid-row.is-8-4{grid-template-columns:1fr;}
.icon-grid{grid-template-columns:repeat(2,1fr);}
.parallax-section.is-full{margin-left:0;margin-right:0;}
.parallax-text{font-size:26px;line-height:1.08;}
.parallax-text span{font-size:20px;}
.home-shop-lead{padding:24px 20px;font-size:20px;}
.home-shop-lead .shop-button{display:inline-flex;width:100%;max-width:240px;margin:18px 0 0;}
}

@media (max-width:768px){
section.container.contact-page{width:calc(100vw - 20px);max-width:calc(100vw - 20px);overflow:hidden;}
.contact-page .detail-slider,.contact-page .contact-intro,.contact-page .contact-panels,.contact-page .map-panel,.contact-page .contact-projects,.contact-page .related-grid{width:100%;max-width:100%;}
.contact-page p{max-width:36ch;}
.contact-page .contact-socials{max-width:100%;}
}


