:root {
  --background: 0 0% 100%;
  --foreground: 0 0% 8%;
  --card: 0 0% 100%;
  --card-foreground: 0 0% 8%;
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 8%;
  --primary: 0 0% 8%;
  --primary-foreground: 0 0% 100%;
  --secondary: 0 0% 96%;
  --secondary-foreground: 0 0% 8%;
  --muted: 0 0% 96%;
  --muted-foreground: 0 0% 45%;
  --accent: 45 100% 51%;
  --accent-foreground: 0 0% 8%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 90%;
  --input: 0 0% 90%;
  --ring: 0 0% 8%;
  --radius: 0rem;
  --neutral-100: 0 0% 98%;
  --neutral-200: 0 0% 94%;
  --neutral-300: 0 0% 88%;
  --neutral-400: 0 0% 70%;
  --neutral-500: 0 0% 50%;
  --neutral-600: 0 0% 35%;
  --neutral-700: 0 0% 25%;
  --neutral-800: 0 0% 15%;
  --neutral-900: 0 0% 8%;
  --transition-slow: 1.2s cubic-bezier(.4, 0, .2, 1);
  --transition-medium: .6s cubic-bezier(.4, 0, .2, 1);
  --transition-fast: .3s cubic-bezier(.4, 0, .2, 1);
  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 0 0% 25%;
  --sidebar-primary: 0 0% 8%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 0 0% 96%;
  --sidebar-accent-foreground: 0 0% 8%;
  --sidebar-border: 0 0% 90%;
  --sidebar-ring: 0 0% 8%
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-weight: 300;
  
}
.sp-megamenu-parent > li > a::after {
  content: "";
  position: absolute;
  bottom: 40%;
  left: 0;
  height: 1px;
  width: 0px;
  transition-property: all;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  transition-duration: .5s;
  animation-duration: .5s;
}
.tp-home .sp-module-content .mod-languages ul.lang-inline li a {
  color: #fff;
}
.sp-megamenu-parent > li > a:hover::after {
  width: 100%;
}
#sp-slideshow .sppb-container-full {
	position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding-left: 64px;
    padding-right: 64px;
	padding-bottom: 128px;
	z-index:99;
}
#sp-slideshow  .tracking-widest {
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: hsl(var(--primary-foreground) / .7);
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 16px;
}
#sp-slideshow  h2.text-2xl {
	letter-spacing: 1.2px;
	color: hsl(var(--primary-foreground));
	font-weight: 300;
	margin-bottom: 8px;
	font-size: 48px;
    line-height: 1;
}
#sp-slideshow .sp-slider .sp-dots ul li {
  margin: 6px; 
}
.sp-module-content .mod-languages ul.lang-inline li a::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: -9px;
  height: 12px;
  width: 1px;
  background-color: #fff;
  transition-property: all;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  transition-duration: .5s;
  animation-duration: .5s;
}
.sp-module-content .mod-languages ul.lang-inline li:first-child a::after {
  content:none;
}
#sp-header {
	padding:0px 64px;
}
#sp-header #sp-language .align-items-center {
  
  justify-content: right;
}
h3.sppb-addon-title {
  color: hsl(var(--muted-foreground));
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 16px;
  margin-bottom: 1.5rem;
}
ul.space-y-4 {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.space-y-4 li {
	padding:16px 0;
	border-bottom:1px solid hsl(var(--border));
}
.tp-home #sp-footer , .tp-home #sp-bottom{
  border-top: none;
}
.tp-home #sp-footer {
	padding:0;
}
#sp-footer {
	padding:30px 64px;
}
#sp-footer , #sp-bottom{
  border-top: 1px solid hsl(var(--border));
}
#sp-footer p , #sp-bottom p {
	margin:0;
}
@media (min-width: 768px) {
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
#sp-bottom .gap-8 {
  gap: 2rem;
  display: grid;
  color: hsl(var(--muted-foreground));
  font-size: 14px;
  line-height: 20px;
}
.gap-16 {
  gap: 4rem;
}
.grid-cols-1 {
  grid-template-columns: repeat(1,minmax(0,1fr));
}
@media (min-width: 1024px) {
  .lg\:gap-24 {
    gap: 6rem;
  }
}
@media (min-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
.max-w-4xl {
  max-width: 56rem;
}
.grid {
  display: grid;
}
.grid .tracking-widest {
  letter-spacing: .2em;
  color: hsl(var(--muted-foreground));
  text-transform: uppercase;
  margin-bottom: 1rem;
  font-size: 12px;
  line-height: 16px;
}
.grid  .text-xl {
  font-size: 20px;
  line-height: 28px;
}
.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}
.sppb-tab-content .space-y-8 .border-b {
	padding-bottom: 2rem;
	border-bottom: 1px solid hsl(var(--border));
	padding-bottom: 2rem;
}
.sppb-tab-content .space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
@media (min-width: 768px) {
  .sppb-tab-content .space-y-8 .flex {
    justify-content: space-between;
	align-items: center;
  }
}

.sppb-tab-content .space-y-8 .flex {
  display: flex;
  gap: 1rem;
}
.sppb-tab-content .space-y-8 .text-muted-foreground {
  color: hsl(var(--muted-foreground));
  gap: 1.5rem;
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  margin:0;
}
.sppb-tab-content .space-y-8 h2.tracking-wide {
  letter-spacing: .025em;
  font-size: 24px;
  line-height: 32px;
  margin-bottom: .5rem;
}
.sppb-nav-custom  {
	padding-bottom: 1.5rem;
	border-bottom: 1px solid hsl(var(--border));
	margin-bottom: 4rem;
	width: 100% !important;
}
.sppb-nav-custom > li > a {
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 20px;
  background: none !important;
  opacity: .4;
  color: hsl(var(--foreground));
}
.sppb-nav-custom > li.active > a , .sppb-nav-custom > li > a:focus, .sppb-nav-custom > li > a:hover{
	opacity: 1;
}
.sp-simpleportfolio .sp-simpleportfolio-filter {
  text-align: left;
  margin-bottom: 96px;
}
.sp-simpleportfolio .sp-simpleportfolio-filter > ul > li > a {
  letter-spacing: .2em;
  color: hsl(var(--muted-foreground));
  text-transform: uppercase;
  padding-bottom: .25rem;
  font-size: 14px;
  line-height: 20px;
  background: none;
  padding: 0;
  margin:0 12px;
  border-bottom:1px solid transparent;
  border-radius: 0;
  padding-bottom: .25rem;
}
.sp-simpleportfolio .sp-simpleportfolio-filter > ul > li > a:hover {
	color: hsl(var(--foreground));
}
.sp-simpleportfolio .sp-simpleportfolio-filter > ul > li.active > a {
  background: none;
  color: hsl(var(--foreground));
  border-bottom:1px solid hsl(var(--foreground));
}
.sp-simpleportfolio .sp-simpleportfolio-item:hover .sp-simpleportfolio-img {
  -webkit-transform: scale3d(1.05,1.05,1);
  transform: scale3d(1.05,1.05,1);
}
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper .sp-simpleportfolio-overlay {
	background-color: hsl(var(--foreground) / .1);
}
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info {
  background: none;
  padding: 0;
  margin-top: 24px;
  letter-spacing: .025em;
  font-size: 14px;
  line-height: 20px;
  color: hsl(var(--muted-foreground));
  margin-bottom: 34px;
  height: auto !important;
}
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover {
  background: none;
  color: hsl(var(--muted-foreground));
  
}
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info h3 > a, .sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover h3 > a {
	color: hsl(var(--foreground));
	letter-spacing: .025em;
	font-size: 24px;
  line-height: 32px;
}
.com-spsimpleportfolio.view-item #sp-main-body {
  padding: 0 ;
}
.com-spsimpleportfolio.view-item .sp-page-title {
 display: none;
}
.back-projekti {
	padding:48px 64px;
	border-top: 1px solid hsl(var(--border));
}
.back-projekti a {
	color: hsl(var(--muted-foreground));
	letter-spacing: .2em;
	text-transform: uppercase;
	gap: .75rem;
	align-items: center;
	display: inline-flex;
	font-size: 14px;
  line-height: 20px;
}
.back-projekti a:hover {
	color: hsl(var(--foreground));
}
.sp-simpleportfolio-top {
	padding:30px 64px;
}
.location_type .text-muted-foreground {
  color: hsl(var(--muted-foreground));
  letter-spacing: .025em;
  font-size: 14px;
  line-height: 20px;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  display: flex;
}
.location_type .bg-muted-foreground {
  background-color: hsl(var(--muted-foreground));
  border-radius: 9999px;
  width: .25rem;
  height: .25rem;
}
.sp-simpleportfolio-top h2 {
	font-size: 48px;
	line-height: 1;
	color: hsl(var(--foreground));
	letter-spacing: .025em;
	margin-bottom: 1rem;
}
@media (max-width: 767px) {
  #sp-header {
    padding: 0px 10px;
  }
  #sp-menu  {
    order: 3;
  }
  #sp-language {
    order: 2;
  }
  .sp-module-content .mod-languages ul.lang-inline li a {
    line-height: 60px;
  }
  #sp-main-body {
    padding: 0 24px !important;
  }
  .sp-page-title {
  	padding: 30px 10px;
  }
  .sp-simpleportfolio .sp-simpleportfolio-filter {
    margin-bottom: 26px;
  }
  .sp-simpleportfolio .sp-simpleportfolio-filter > ul > li {
    float: none;
  }
  #sp-footer {
    text-align: center;
  }
  .sppb-tab-content .space-y-8 h2.tracking-wide {
    font-size: 20px;
  }
  #sp-footer #sp-footer2 {
    text-align: center;
  }
  .sp-simpleportfolio-top {
  	padding:30px 0px 15px;
  }
  .sp-simpleportfolio-top h2 {
    font-size: 22px;
    margin-bottom: 0;
  }
  .sp-simpleportfolio-info .location_type {
    padding: 0 !important;
  }
  .location_type .text-muted-foreground {
    margin: 0 100px 0 0;
  }
  .sp-simpleportfolio-info  .sppb-addon-text-block .sppb-addon-content {
    font-size: 16px !important;;
   
  }
  .sp-simpleportfolio-info #sp-page-builder .sppb-section {
    padding:15px  0  0 !important;
  }
}
/*Begin bach css*/
.simpleportfolio-more{
  position: relative;
}
@media(min-width: 768px){
  .simpleportfolio-more .list-more{
    position: absolute;
    display: none;
    z-index: 5;
    background: #fff;
    padding: 20px 5px;
    box-shadow: 0px 7px 10px #00000026;
    list-style: none;
    width: 120px;
    text-align: center;
    height: 300px;
    overflow-y: auto;
    margin-top: 5px;
  }
  .simpleportfolio-more .list-more::-webkit-scrollbar {
    width: 3px;
  }
  .simpleportfolio-more .list-more::-webkit-scrollbar-thumb {
    background-color: #ffc129;
  }
  .simpleportfolio-more .list-more li{
    position: relative;
  }
  .simpleportfolio-more .list-more li a{
    padding: 5px 0;
    display: block;
  }
  .simpleportfolio-more .list-more li:hover,
  .simpleportfolio-more .list-more li.active{
  background: #ffc129;
  }
  .simpleportfolio-more .btn-more-simpleportfolio svg{
    width: 20px;
  }
  .simpleportfolio-more .item-more.active a:before {
    content: "✓";
      position: absolute;
      left: 13px;
  }
  .btn-more-simpleportfolio{
    display: flex;
    gap: 10px;
    align-items: center;
  }
}
.sp-simpleportfolio-mobi{
  display: none;
}
@media(max-width: 767px){
  .sp-simpleportfolio-mobi{
    display: block;
    padding: 10px;
    border: 1px solid #ccc;
    text-transform: uppercase;
    color: #000;
    letter-spacing: .2em;
    position: relative;
  }
  .sp-simpleportfolio-mobi:after{
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(45deg);
    position: absolute;
    right: 12px;
    top: 13px;
  }
  .sp-simpleportfolio-mobi.active:after{
    border-right: none;
    border-bottom: none;
     border-left: 1px solid #333;
    border-top: 1px solid #333;
    top: 18px;
  }
  .btn-more-simpleportfolio{
    display: none;
  }

  .simpleportfolio-more .list-more{
    list-style: none;
    padding: 0;
  }
  .simpleportfolio-more .list-more a{
     letter-spacing: .2em;
    color: hsl(var(--muted-foreground));
    text-transform: uppercase;
    padding-bottom: .25rem;
    font-size: 14px;
    line-height: 20px;
    background: none;
    padding: 0;
    margin: 0 12px;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    padding-bottom: .25rem;
    display: block;
    width: 100%;
  }
  .simpleportfolio-more .list-more li{
    margin: 0 0px 5px 0;
    display: flex;
  }
  .simpleportfolio-more .list-more li.active > a {
    background: none;
    color: hsl(var(--foreground));
    border-bottom: 1px solid hsl(var(--foreground));
  }
  .sp-simpleportfolio .sp-simpleportfolio-filter>ul{
    width: 100%;
    box-shadow: 0px 5px 15px -7px #00000080;
        padding: 20px 0px;
  }
  .sp-simpleportfolio .sp-simpleportfolio-filter>ul{
    position: absolute;
    display: none;
    height: 320px;
    overflow-y: auto;
    top: 100%;
        z-index: 5;
    background: #fff;
    padding: 20px 0px;  
  }
  .sp-simpleportfolio-filter > ul::-webkit-scrollbar {
    width: 3px;
  }
  .sp-simpleportfolio-filter{
            position: relative;
  }
  .sp-simpleportfolio-filter > ul::-webkit-scrollbar-thumb {
    background-color: #ffc129;
  }
}