.about{text-align:center}.about .btn{margin-top:20px}.header{--img-sm:'';--img-md:'';--img-lg:'';--img-xl:'';--img-tv:'';--radius:20px;background-color:#ccc;background-image:var(--img-sm);background-attachment:fixed;background-position:center;background-size:cover;background-repeat:no-repeat}@media only screen and (min-width:768px){.header{background-image:var(--img-md)}}@media only screen and (min-width:992px){.header{background-image:var(--img-lg)}}@media only screen and (min-width:screen_xl){.header{background-image:var(--img-xl)}}@media only screen and (min-width:1599px){.header{background-image:var(--img-tv)}}.header_overlay{background:radial-gradient(ellipse at center,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.4) 70%,rgba(0,0,0,0.6) 100%)}.header .container{overflow:hidden;min-height:max-content;height:calc(100vh - 50px);height:calc(100svh - 50px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.header_content{margin-top:40px;margin-bottom:40px;text-align:center;max-width:500px;border-radius:var(--radius);padding:calc(var(--radius) * 2) var(--radius);background-color:#fff;box-shadow:5px 5px 10px rgba(80,80,80,0.71)}.header b{color:hsl(var(--color-h), var(--color-s), 30%)}.header h1{margin-top:0}.services_grid{--gap:30px;--columns:1;margin:calc(var(--gap) * 2) 0;display:grid;width:100%;max-width:100%;grid-template-columns:repeat(var(--columns),1fr);grid-gap:var(--gap)}@media (min-width:768px){.services_grid{--columns:2}}@media (min-width:1200px){.services_grid{--columns:3}}.service_title{margin:10px 0}.service_description{flex-grow:3;margin-top:5px}.service_card{--img-size:200px;--service-img:'';box-shadow:5px 5px 10px rgba(80,80,80,0.71);user-select:none;position:relative;background:#fff;border-radius:10px;overflow:hidden;color:#000}.service_card-img{transition:filter .3s ease-in-out;filter:brightness(60%);height:var(--img-size);background-color:#ccc;background-image:var(--service-img);background-position:center;background-size:cover;background-repeat:no-repeat}.service_card-content{padding:20px;height:calc(100% - var(--img-size));display:flex;flex-direction:column}.service_card .btn,.service_card .link{color:hsl(var(--color-h), var(--color-s), 30%) !important}.service_card .btn:hover,.service_card .link:hover{color:hsl(var(--color-h), var(--color-s), 40%) !important}.service_card .btn:after,.service_card .link:after{content:"";position:absolute;top:0;left:0;z-index:1;height:100%;width:100%}.service_card:hover .service_card-img{filter:brightness(100%)}.portfolio_grid{padding-top:40px;padding-bottom:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.portfolio_item{--bg-img:'';position:relative;overflow:hidden;cursor:pointer;height:180px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.8)}.portfolio_img{background-color:#ccc;background-image:var(--bg-img);background-position:center;background-size:cover;background-repeat:no-repeat;height:180px;transition:300ms ease-in-out}.portfolio_overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);color:#fff;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}.portfolio_overlay-icon{height:50px;width:50px}.portfolio_overlay-icon svg{fill:#ddd}.portfolio_item:hover .portfolio_img{transform:scale(1.1)}.portfolio_item:hover .portfolio_overlay{opacity:1}.popup{position:fixed;top:0;left:0;z-index:2000;height:100vh;height:100svh;width:100vw;width:100svw}.popup_overly{position:absolute;top:0;left:0;height:100vh;height:100svh;width:100vw;width:100svw;z-index:-1;backdrop-filter:blur(2px);background-color:rgba(0,0,0,0.25)}.popup_close{position:absolute;top:20px;right:20px;cursor:pointer;color:#fff;height:40px;width:40px;display:flex;align-items:center;justify-content:center;background-color:#000}.popup_close .ja{font-size:20px}.popup_content{height:100%;width:100%;display:flex;justify-content:center;align-items:center}.popup img{max-width:100vw !important;max-width:100svw !important;max-height:100vh;max-height:100svh}.contact_wrapper{--gap:30px;--columns:1;display:grid;width:100%;max-width:100%;grid-template-columns:repeat(var(--columns),1fr);grid-gap:var(--gap)}@media (min-width:768px){.contact_wrapper{--columns:2}}.contact_map{min-height:200px;height:100%;width:100%}.contact_form,.contact_info{padding-top:20px;padding-bottom:20px}.form_group{padding-bottom:20px}.form_send{text-align:center}