/* Värit */
:root {
  --color: #fff;
  --color-zero: #f8f8f9;
  --color-one: #565960;
  --color-two: #111013;
  --color-three: #282828;
  --color-four: #414141;
  --color-five: #a3a3a3;
  --color-six: #b8a143;
  --color-seven: #212121;
}
/* Yleiset */
* {
  box-sizing: border-box;
}
body {
  font-family: "Inter Tight", serif;
  font-size: 18px;
  font-weight: 400;
  height: auto;
  color: var(--color-two);
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  background: var(--color-three);
}
a {
  text-decoration: none;
}
main {
  overflow: hidden;
}
#main-page {
  padding: 100px 0;
}
.display-none {
  display: none;
}
.fixi {
  background: var(--color-two);
  border-bottom: 1px solid var(--color-four);
}
.hide {
  top: -100px !important;
}
#portfolio-pagecontent .title-section h1, #main-page .title-section h1, #main-page .side-info h1, #portfolio-pagecontent .desc h1{
  color:#fff;
  font-weight: 600;
  font-size: 48px;
  line-height: 56px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  #portfolio-pagecontent .title-section h1, #main-page .title-section h1, #main-page .side-info h1, #portfolio-pagecontent .desc h1{
    font-size: 38px;
    line-height: 46px;
  }
}
#main-page .title-section p, #main-page .title-section h2, #main-page .title-section h3, #main-page .title-section h4 {
  color:#fff;
}
#main-page .title-section p a {
  color:#fff;
  font-weight: 700;
}
#main-page .title-section p a:hover {
  color:#fff;
  font-weight: 700;
  text-decoration: underline;
}
.title-section {
  color:#fff;
}
.title-section h1 {
  font-size: 60px;
  letter-spacing: 0.02em;
}
.title-section span.bordered-w {
  font-size: 18px;
  position: relative;
}
.title-section span.bordered-w:after {
  content: '';
  position: absolute;
  height: 2px;
  background: var(--color-zero);
  width: 50px;
  margin-left: 20px;
  bottom: 35px;
}
.title-section span.bordered-d {
  font-size: 18px;
  position: relative;
}
.title-section span.bordered-d:after {
  content: '';
  position: absolute;
  height: 2px;
  background: var(--color-four);
  width: 50px;
  margin-left: 20px;
  bottom: 35px;
}
.title-section h2, .richtext h2 {
  font-size: 35px;
  color:#fff;
}
.desc h2, .desc h3, .desc h4 {
  margin-bottom: 10px;
  padding-bottom: 0px!important;
}
.title-section h3, .richtext h3 {
  font-size: 28px!important;
  line-height:36px;;
  color:#fff;
  font-weight: 600;
}
.title-section h4, .richtext h4 {
  font-size: 22px!important;
  line-height:34px;;
  color:#fff;
  font-weight: 600;
}
.side-info {
  color:#fff;
}
.side-info h1 {
  font-size: 60px;
  letter-spacing: 0.02em;
  font-weight: 700;
  color:#fff;
}
.side-info p {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color:#fff;
}
.title-section h5 {
  font-size: 50px;
}
.title-section p.med {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.title-section p.ingerssi {
  font-size: 18px;
  color:#fff!important;
}
.title-section .title-span {
  font-size: 18px;
  letter-spacing: 2px;
}
.title-section .title-sectionpage {
  font-size: 30px;
}
.title-section .border-span {
  border-top: 1px solid var(--color-four);
  border-bottom: 1px solid var(--color-four);
}
@media (max-width: 768px) {
   .upper-footer h3{
    font-size: 32px!important;
    line-height: 40px;
  }
  #hero-main h1 {
    font-size: 40px;
    line-height: 48px;
  }
}
.col-w {
  color: var(--color-zero);
}
.col-d {
  color: var(--color-two);
}
.col-sd {
  color: var(--color-five);
}
.col-sww {
  color: var(--color-one);
}
.bg-o {
  background: var(--color-six);
}
.bg-w {
  background: var(--color);
}
.bg-sw {
  background: var(--color-zero);
}
.bg-d {
  background: #282828;
}
.bg-sd {
  background: var(--color-seven);
}
.bg-sdd {
  background: var(--color-five);
}
.richtext ul, .richtext ol {
  color:#fff;
  margin-top: 10px;
  padding-left: 0px;
  margin-left: 15px;
}
/* Valikko */
#menu-navigation-list li {
  padding: 20px;
  font-size: 18px;
  font-weight: 500;
  text-transform: uppercase;
}
#menu-navigation-list li a:hover {
  color: rgba(244, 243, 237, 1);
}
#menu-navigation-list li a {
  position: relative;
  text-transform: none;
  color: #fff;
  font-weight: 400;
}
#menu-navigation-list li a.active {
  position: relative;
  text-transform: none;
  color: #fff;
  font-weight: 700;
}
#menu-navigation-list li a:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  top: 100%;
  background: var(--color-zero);
  left: 0;
  pointer-events: none;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scale3d(0, 1, 1);
  transform: scale3d(0, 1, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
#menu-navigation-list li a:hover:after {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}
#menu-navigation-list li a.active:after {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}
.navbar-dark .navbar-toggler {
  border-color: unset !important;
  border: none;
}
.navbar-toggler:focus {
  box-shadow: none;
}
.navbar li.mobile {
  padding-left: 2px!important;
  padding-right: 2px!important;
  margin-left: 10px;
}
.navbar li.mobile a {
  color:#fff;
}
#menu-navigation-list li:empty {
  display: none!important;
}
@media (max-width: 1200px) {
  .navbar li.mobile {
    float: left;
    clear: right;
    margin-left: 15px;
  }
  .navbar li.mobile a {
    color:#fff;
  }
  .offcanvas-backdrop.show {
    opacity: .75;
  }
  .bg-on {
    /*background-color: rgba(27, 27, 27, .4);*/
    padding: 80px 20px;
  }
  #menu-navigation-list li a.active:after {
    -webkit-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale3d(0, 0, 0);
    transform: scale3d(0, 0, 0);
  }
  #menu-navigation-list li a:hover:after {
    display: none;
  }
  #menu-navigation-list {
    display: block;
    overflow: auto;
  }
  .navbar-expand-xl #menu-navigation-list li:empty {
  display: none;
}

  .navbar-expand-xl #menu-navigation-list li {
    padding: 10px;
    border-bottom: #272730 1px solid;
  }
  #menu-navigation-list li a:hover {
    color: #F4F3ED;
  }
}
.offcanvas {
  background-color: var(--color-seven);
}
.offcanvas-backdrop.show {
  opacity: 0.75;
}
#banner-page {
  position: relative;
  z-index: 1;
  padding: 150px 0;
  background: #000;
  background: linear-gradient(90deg, rgba(18, 18, 22, 1.000) 0.000%, rgba(18, 18, 22, 1.000) 7.692%, rgba(23, 22, 26, 1.000) 7.692%, rgba(23, 22, 26, 1.000) 15.385%, rgba(27, 26, 31, 1.000) 15.385%, rgba(27, 26, 31, 1.000) 23.077%, rgba(32, 31, 35, 1.000) 23.077%, rgba(32, 31, 35, 1.000) 30.769%, rgba(36, 35, 39, 1.000) 30.769%, rgba(36, 35, 39, 1.000) 38.462%, rgba(40, 39, 43, 1.000) 38.462%, rgba(40, 39, 43, 1.000) 46.154%, rgba(44, 43, 47, 1.000) 46.154%, rgba(44, 43, 47, 1.000) 53.846%, rgba(48, 47, 51, 1.000) 53.846%, rgba(48, 47, 51, 1.000) 61.538%, rgba(51, 50, 55, 1.000) 61.538%, rgba(51, 50, 55, 1.000) 69.231%, rgba(55, 54, 58, 1.000) 69.231%, rgba(55, 54, 58, 1.000) 76.923%, rgba(57, 56, 61, 1.000) 76.923%, rgba(57, 56, 61, 1.000) 84.615%, rgba(60, 59, 64, 1.000) 84.615%, rgba(60, 59, 64, 1.000) 92.308%, rgba(62, 61, 66, 1.000) 92.308% 100.000%)
}
#banner-page:after {
  width: 100%;
  height: 100%;
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .35);
  z-index: -1;
}
@media (max-width: 768px) {
  #banner-page {
    padding: 100px 0!important;
  }
  h2.bannerpage-title {
    display: none;
  }
}
/* Murupolku */
.breadcumwrap {
  display: block;
  font-size: 15px;
  color:#fff;
}
.breadcumwrap a {
  padding-right: 5px;
  padding-left: 5px;
  color: var(--color);
}
.breadcumwrap a:first-child {
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
  color: #888;
}
.breadcumwrap a.current {
  color: #888;
  margin-left: 5px;
  margin-right: 5px;
}
.breadcumwrap a:last-child {
  color: #fff;
}
.breadcumwrap a:hover {
  color: #fff;
}
h2.bannerpage-title {
  font-size: 50px;
}
.current-item {
  padding: 0 0 0 5px;
  color: var(--color-four);
}
@media (max-width: 768px) {
  h2.bannerpage-title {
    font-size: 30px!important;
  }
}
/* Sivunumerot */
.pagination .nav-links a {
  padding: 20px;
  border: 1px solid #414141;
  font-size: 18px;
  color: #f8f8f9;
}
.pagination .nav-links a:first-child {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.pagination .nav-links a:last-child {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.pagination .nav-links span {
  padding: 20px;
  font-size: 18px;
  color: #414141;
  border: 1px solid #414141;
}
.pagination .nav-links a:hover {
  color: var(--color-two);
  background: var(--color-zero);
}
.pagination .nav-links a.current {
  color: var(--color-two);
  background: var(--color-zero);
}
.border-gap {
  border-top: 1px solid#414141;
  padding: 50px 0 0;
}
.border-gap h2 {
  color:#fff;
  margin-bottom: 20px;
  margin-top: 0px;
}
.navigation-post {
  display: flex;
}
.navigation-post a {
  display: inline-block;
  border: 1px solid #414141;
  padding: 20px;
  color: #414141;
  width: 50%;
  text-align: center;
}
.navigation-post a:first-child {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.navigation-post a:last-child {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.navigation-post a:hover {
  background: var(--color-zero);
  color: var(--color-two);
}
.navigation-post a p {
  color: #fff;
  margin-bottom: 0px;
  font-weight: 600;
}
.navigation-post a:hover p {
  color: #333!important;
}
.navigation-post a:first-child {
  border-right: none;
}
.navigation-post a span {
  font-size: 50px !important;
  color: var(--color-zero);
}
.navigation-post a:hover span {
  color: var(--color-two);
}
.navigation-post p.next-case i {
  margin-left: 10px;
  font-size: 22px;
}
.navigation-post p.prev-case i {
  margin-right: 10px;
  font-size: 22px;
}
.navigation-post span.case-arrows {
  margin-bottom: 5px;
  font-size: 12px!important;
}
.offcanvas-body ul.footer-link {
  display: none;
}
@media (max-width: 768px) {
  .navigation-post p.next-case i {
    font-size: 18px;
  }
  .navigation-post p.prev-case i {
    font-size: 18px;
  }
  .navigation-post a p {
    font-size: 15px!important;
  }
}
@media (max-width: 1200px) {
  .navbar .container {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .offcanvas-header div.mobile-close {
    width: 100%;
    display: block;
    clear: both!important;
    float: left!important;
  }
  .offcanvas-header div.mobile-logo {
    width: 100%;
    display: block;
    clear: both!important;
    float: left!important;
  }
  .offcanvas-header .mobile-logo img {
    width: 100%;
    max-width: 125px;
    height: auto;
    margin-left: 15px;
  }
  li.mobile {
    display:none;
  }
  .offcanvas-body ul.footer-link {
    display: block;
  }
  .offcanvas-body ul.footer-link li, .offcanvas-body li.nav, .offcanvas-body li.nav-item:last-child {
    border:none!important;
  }
  .offcanvas-body li:empty  {
    display:none!important;
  }
}
@media (max-width: 999px) {
  h2.bannerpage-title {
    font-size: 50px;
  }
  #menu-navigation-list li a:hover:after {
    display: none;
  }
  .offcanvas-backdrop.show {
    opacity: .75;
  }
  .offcanvas-header div.mobile-close {
    width: 100%;
    display: block;
    clear: both!important;
    float: left!important;
  }
  .offcanvas-header div.mobile-logo {
    width: 100%;
    display: block;
    clear: both!important;
    float: left!important;
  }
  .offcanvas-header .mobile-logo img {
    width: 100%;
    max-width: 125px;
    height: auto;
    margin-left: 15px;
  }
  li.mobile {
    display:none;
  }
  .offcanvas-body ul.footer-link {
    display: block;
  }
  .offcanvas-body ul.footer-link li, .offcanvas-body li.nav, .offcanvas-body li.nav-item:last-child {
    border:none!important;
  }
  .offcanvas-body li:empty  {
    display:none!important;
  }
  #menu-navigation-list {
    display: block;
    overflow: auto;
  }
  .title-section h1 {
    font-size: 50px;
  }
  .title-section h2, .richtext h2 {
    font-size: 35px;
  }
  .title-section h3, .title-section h4, .richtext h3, .richtext h4 {
    font-size: 30px;
  }
  .navbar-expand-xl #menu-navigation-list li:empty {
  display: none;
}
  .navbar-expand-xl #menu-navigation-list li {
    padding: 10px;
    border-bottom: #272730 1px solid;
  }
  .navbar-expand-xl #menu-navigation-list li.mobile {
    border:none;
  }
  #menu-navigation-list li a:hover {
    color: #F4F3ED;
  }
}
/* Header */
#main-head {
  position: fixed;
  width: 100%;
  z-index: 999;
  top: 0;
  padding: 0;
  transition: all 0.3s ease;
}
.navbar-brand img {
  width: 100%;
  max-width: 150px;
  height: auto;
}
/* Hero */
#hero-main {
  height: 100vh;
  position: relative;
  z-index: 1;
  background: #000;
  background: linear-gradient(90deg, rgba(18, 18, 22, 1.000) 0.000%, rgba(18, 18, 22, 1.000) 7.692%, rgba(23, 22, 26, 1.000) 7.692%, rgba(23, 22, 26, 1.000) 15.385%, rgba(27, 26, 31, 1.000) 15.385%, rgba(27, 26, 31, 1.000) 23.077%, rgba(32, 31, 35, 1.000) 23.077%, rgba(32, 31, 35, 1.000) 30.769%, rgba(36, 35, 39, 1.000) 30.769%, rgba(36, 35, 39, 1.000) 38.462%, rgba(40, 39, 43, 1.000) 38.462%, rgba(40, 39, 43, 1.000) 46.154%, rgba(44, 43, 47, 1.000) 46.154%, rgba(44, 43, 47, 1.000) 53.846%, rgba(48, 47, 51, 1.000) 53.846%, rgba(48, 47, 51, 1.000) 61.538%, rgba(51, 50, 55, 1.000) 61.538%, rgba(51, 50, 55, 1.000) 69.231%, rgba(55, 54, 58, 1.000) 69.231%, rgba(55, 54, 58, 1.000) 76.923%, rgba(57, 56, 61, 1.000) 76.923%, rgba(57, 56, 61, 1.000) 84.615%, rgba(60, 59, 64, 1.000) 84.615%, rgba(60, 59, 64, 1.000) 92.308%, rgba(62, 61, 66, 1.000) 92.308% 100.000%)
}
#hero-main:after {
  width: 100%;
  height: 100%;
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .35);
  z-index: -1;
}
#hero-main p {
  color: #fff;
  font-size: 24px;
  margin-bottom: 0px;
}
.hero-btn {
  padding: 20px 40px;
  background: var(--color);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-seven);
  display: inline-block;
  margin: 30px 0;
  border-radius: 10px;
}
.hero-btn:hover {
  background: black;
  color: var(--color);
}
@media (max-width: 999px) {
  #hero-main {
    padding: 200px 0 100px 0;
    height: auto;
  }
  .bg-on {
    /*background-color: rgba(27, 27, 27, .4);*/
    padding: 50px 20px;
  }
}
/* Asiakkaat */
#section-client .owl-stage {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  transform: translateX(0px);
  gap: 112px;
}
#section-client .owl-stage-outer {
  mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
}
#section-client {
  padding-top: 80px;
  padding-bottom: 80px;
}
.slide-itemclient {
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  overflow: hidden;
  background: white;
  border-radius: 15px;
}
.slide-itemclient img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  transition: filter .5s ease-in-out;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slide-itemclient img:hover {
  -webkit-filter: grayscale(0%);
   filter: grayscale(0%);
}
@media (max-width: 999px) {
  .slide-itemclient {
    height: 60px;
  }
  .slide-itemclient img {
    max-width: 80%;
    max-height: 80%;
  }
}
/* Sisältö */
#section-about {
  padding: 0 0 100px 0;
}
#section-about p {
  color: #fff;
  font-size: 18px;
}
.wrap-img img {
  width: 100%;
  border-radius: 25px;
  border: 1px solid #414141;
}
.wrap-aboutinner {
  padding: 50px;
  border: 1px solid #414141;
  border-radius: 10px;
  background-position: center;
}
.info-wrap {
  padding: 20px;
  background-color: #1f1f24;
}
.info-wrap p.title-info {
  font-size: 15px;
  text-transform: uppercase;
}
.sosmed-info {
  padding: 0;
}
.sosmed-info li {
  list-style: none;
  position: relative;
  display: inline-block;
  margin: 0;
  font-size: 15px;
}
.sosmed-info li a {
  width: 20px;
  height: 20px;
  margin: 0 20px 0 0;
  display: block;
  text-align: center;
  color: #fff;
  padding: 10px;
  border-radius: 0;
  font-size: 15px;
}
.about-second p {
  font-size: 30px;
  line-height: 1.4em;
  color: #fff;
}
/* CTA */
.countitem-about {
  margin: 10px 0;
}
.info-count {
  padding: 20px;
  justify-content: space-around;
  background: #212121;
  border-radius: 20px;
  border: 1px solid #414141;
  width: 100%;
  text-align: center;
}
.info-count h2 {
  color:#fff;
}
.info-count p {
  font-size: 18px;
  color:#fff;
}
.info-count .cta-footer {
  padding: 15px 35px;
  background: var(--color);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-seven);
  display: inline-block;
  margin-top:25px;
  border-radius: 10px;
}
.info-count .cta-footer:hover {
  background: #fff;
  color: var(--color-seven);
}
.info-count p a {
  color:#fff;
}
.info-count p a:hover {
  color:#fff;
    font-weight: 700;
}
.contact-title {
  margin-top:25px;
}
.contact-title h2, .contact-title p {
  color:#fff;
}
.tmpl-yhteystiedot p.ingressi, .info-count p  {
  margin-bottom: 0px;
}
/* Palvelut */
#section-service {
  padding: 100px 0 100px 0;
}
.row-flex {
  display: flex;
  flex-wrap: wrap;
}
.icon-service {
  font-size: 50px !important;
  color: var(--color-zero);
  background: var(--color-two);
  padding: 10px;
  border-radius: 5px;
}
.services-detail {
  border-radius: 10px;
  position: relative;
  top: 0px;
  padding: 60px 40px 60px 40px;
  transition: all .3s;
  box-shadow: 0 5px 15px rgb(221 221 221 / 30%);
  height: 100%;
}
.services-detail h5 {
  font-weight: 700;
  font-size: 22px;
  margin-top: 25px;
}
.services-detail p {
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.02em;
  color:#000
}
.services-detail p.ingressi {
  color:#000!important;
}
.services-detail a {
  font-size: 18px;
  font-weight: 600;
  color:#000;
  margin-top: 5px;
}
.services-detail a:hover {
  color:blue;
}
.services-detail a i {
  margin-right: 10px;
}
.services-detail hr {
  width: 50px;
  height: 4px;
  background: transparent;
  border-bottom: 4px dashed var(--color-four);
}
.services-detail:hover {
  box-shadow: -32px 32px 75px 0 rgb(221 221 221 / 30%);
}
/* Työnäytteet */
#section-portfolio {
  padding: 100px 0;
  min-height: 850px;
  height: auto;
}
#portfolio-pagecontent {
  padding: 100px 0;
}
#portfolio-pagecontent p {
  color:#fff;
  font-size: 18px;
  font-weight: 400;
}
#portfolio-pagecontent .richtext p a {
  background: white;
  color: black;
  padding: 10px 15px;
  margin-top: 5px;
  float: left;
  border: 1px solid black;
  font-size: 16px;
  display: block!important;
  clear: both!important;
  text-decoration: none;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}
#portfolio-pagecontent .richtext p a:hover {
  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
  transform: translateY(-2px);
}
.grid-2column {
  margin: 0 -20px;
}
.grid-2column .isotop-item,
.grid-2column .grid-sizer {
  width: 50%;
  padding: 0 20px;
}
.grid-3column {
  margin: 0 -20px;
}
.grid-3column .isotop-item,
.grid-3column .grid-sizer {
  width: 33%;
  padding: 0 20px;
}
.portfolio-item {
  border-radius: 10px;
  overflow: hidden;
  padding: 30px;
  position: relative;
  border: 1px solid var(--color-four);
}
.img-meta {
  overflow: hidden;
  position: relative;
  border-radius: 10px;
}
.portfolio-item img {
  width: 100%;
  border-radius: 10px;
  transition: all .3s;
}
.portfolio-item .caption-item {
  position: absolute;
  bottom: 0;
  padding: 20px 30px;
}
.portfolio-item .tag {
  font-size: 15px;
  display: inline-block;
}
.portfolio-item h3 {
  font-size: 22px;
}
.portfolio-item:hover .img-meta img {
  transform: scale(1.2);
  opacity: .5;
}
.port-link {
  overflow: hidden;
  position: absolute;
  height: 100px;
  width: 100px;
  text-align: center;
  line-height: 50px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 18px;
  z-index: 1;
}
.port-link span {
  font-size: 100px;
  color: var(--color);
  opacity: 0;
  visibility: hidden;
  transform: scale(3);
  -webkit-transform: scale(3);
  -moz-transform: scale(3);
  -ms-transform: scale(3);
  -o-transform: scale(3);
}
.port-link:after {
  position: absolute;
  content: "";
  height: 0;
  width: 100%;
  background-color: var(--color-two);
  left: 0;
  bottom: 0;
  z-index: -1;
  transition: .3s cubic-bezier(.23, 1, .32, 1);
  -webkit-transition: .3s cubic-bezier(.23, 1, .32, 1);
  -moz-transition: .3s cubic-bezier(.23, 1, .32, 1);
  -ms-transition: .3s cubic-bezier(.23, 1, .32, 1);
  -o-transition: .3s cubic-bezier(.23, 1, .32, 1);
}
.portfolio-item:hover .port-link:after {
  height: 100%;
  top: 0;
  bottom: auto;
}
.portfolio-item:hover .port-link span {
  opacity: 1;
  visibility: visible;
  transition: .3s cubic-bezier(.23, 1, .32, 1);
  -webkit-transition: .3s cubic-bezier(.23, 1, .32, 1);
  -moz-transition: .3s cubic-bezier(.23, 1, .32, 1);
  -ms-transition: .3s cubic-bezier(.23, 1, .32, 1);
  -o-transition: .3s cubic-bezier(.23, 1, .32, 1);
  transition-delay: .25s;
  transform: scale(1);
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
}
.arow {
  position: absolute;
  right: 0;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 26px !important;
  color: var(--color-four);
  border-radius: 10px;
  border: 1px solid var(--color-four);
  bottom: 0;
}
.portfolio-item:hover .arow {
  background: var(--color);
}
@media (max-width: 991px) {
  /*.material-symbols-outlined, .arow {
    display: none;
  }*/
  h3.detail-name {
    font-size: 20px;
    line-height: 28px;
  }
}
@media (max-width: 768px) {
  #portfolio-pagecontent h2 {
    font-size: 20px;
    line-height: 28px;
  }
  #portfolio-pagecontent h1.maintitle {
    font-size: 34px;
    line-height: 42px;
  }
  #portfolio-pagecontent .richtext h2 {
    font-size: 26px;
    line-height: 34px;
  }
  #portfolio-pagecontent .richtext h3 {
    font-size: 22px;
    line-height: 30px;
  }
  #portfolio-pagecontent p.col-w a {
    margin-left: 0px;
  }
  .material-symbols-outlined {
    font-size: 32px;
    width: 38px;
    height: 34px;
    display: block;
  }
  .arow {
    font-size: 18px !important;
    display: block;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 2px;
  }
  h3.detail-name {
    font-size: 20px;
    line-height: 28px;
  }
}
@media (max-width: 550px) {
  h3.detail-name {
    font-size: 18px;
    line-height: 26px;
  }
}
/* Sivupalkki */
.wized-header {
  padding: 10px;
}
.wized-header h5 {
  color:#fff;
}
.wized-body ul {
  padding-left: 0px;
}
.wized-body ul li  {
  background: #282828;
  padding: 20px;
  place-content: center space-between;
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-flow: wrap;
  border-radius: 10px;
  border: 1px solid #414141;
  margin-bottom: 10px;
}
.wized-body ul li a {
  color:#fff;
  font-size: 18px;
}
.wized-body ul li:hover {
  cursor: default;
}
.wized-body ul li a:hover {
  color:#fff;
  font-size: 16px;
  font-weight: 700;
}
.wized-body ul li.is-in-active-path {
  background: #212121;
}
.wized-body ul li.is-in-active-path a.active {
  color:#fff;
  font-weight: 700;
}
.wrap-data {
  place-content: center flex-start;
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-flow: row;
  gap: 16px;
}
/* Asiakascase */
.portfolio-banner {
  overflow: hidden;
  height: 500px;
}
.portfolio-banner img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  object-position: center;
}
.detail-portfolio {
  padding-top: 25px!important;
}
.detail-portfolio p{
  margin-bottom: 5px;
}
.desc h1 {
  font-size: 60px;
  letter-spacing: 0.02em;
  color: #fff;
  font-weight: 700;
}
.desc h3 {
  font-size: 20px;
  line-height: 1.7;
  padding: 0 0 30px;
  letter-spacing: 0.03em;
}
.desc p.fw-normal a {
  color: #fff;
  margin-left: 5px;
  margin-right: 5px;
}
.desc p.fw-normal a:hover {
  color: #fff;
}
.img-portwrap img {
  width: 100%;
}
.main-image {
  padding-top: 75px;
}
.main-image img:hover, .img-portwrap img:hover {
    box-shadow: -32px 32px 75px 0 rgb(221 221 221 / 30%);
}
.back-to-list {
  float: left;
  width: 100%;
  margin-top: 50px;
  margin-top: 25px;
}
.back-to-list a {
  	color:white;
    font-style: italic;
}
.back-to-list a:hover {
  	color:white;
    font-style: normal;
}
@media (max-width: 999px) {
  .grid-3column .isotop-item,
  .grid-3column .grid-sizer {
    width: 50%;
  }
}
@media (max-width: 768px) {
  .grid-2column .isotop-item,
  .grid-2column .grid-sizer {
    width: 100%;
  }
  .grid-3column .isotop-item,
  .grid-3column .grid-sizer {
    width: 100%;
  }
}
/* FAQ */
.faq-bg {
  background: #141315;
background: linear-gradient(180deg, rgba(20, 19, 21, 1) 20%, rgba(40, 40, 40, 1) 100%);
}
#faq-section {
  padding: 100px 0;
}
#faq-section h3 {
  font-weight: 600!important;
  color:#fff;
  font-size: 42px;
}
#faq-section .faq-info span {
  position: relative;
  z-index: 1;
}
#faq-section .faq-accordion-item,
#faq-section .faq__collapse-item,
#faq-section .faq-collapse-item {
  margin-bottom: 10px;
  border-radius: 6px;
}
#faq-section .faq-accordion-item:last-child,
#faq-section .faq__collapse-item:last-child,
#faq-section .faq-collapse-item:last-child {
  margin: 0;
}
#faq-section .faq-collapse-item-card {
  padding: 0 0 0;
  border-bottom: 1px solid rgba(255, 255, 255, 1);
}
#faq-section .faq-accordion-item-card-header,
#faq-section .faq__collapse-item-card-header,
#faq-section .faq-collapse-item-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: none;
  cursor: pointer;
  padding: 20px;
}
#faq-section .faq-accordion-item-card-header h6,
#faq-section .faq__collapse-item-card-header h6,
#faq-section .faq-collapse-item-card-header h6 {
  font-size: 22px;
  line-height: 28px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color:#fff;
}
#faq-section .faq-accordion-item-card-header i,
#faq-section .faq__collapse-item-card-header i,
#faq-section .faq-collapse-item-card-header i {
  border: 1px solid #fff;
  padding: 10px;
  color:#fff;
}
#faq-section .faq-accordion-item-card-header span,
#faq-section .faq__collapse-item-card-header span,
#faq-section .faq-collapse-item-card-header span {
  margin-right: 15px;
}
#faq-section .faq-accordion-item-card-header-content,
#faq-section .faq__collapse-item-card-header-content,
#faq-section .faq-collapse-item-card-header-content {
  padding: 0 60px 0 0;
}
#faq-section .faq-collapse-item-card-header-content.active {
  display: block;
}
#faq-section .faq-accordion-item-card-header-content p,
#faq-section .faq__collapse-item-card-header-content p,
#faq-section .faq-collapse-item-card-header-content p {
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  letter-spacing: 0.02em;
  padding: 20px;
  color:#fff;
}
@media (max-width: 768px) {
  #faq-section .faq-accordion-item-card-header h6,
  #faq-section .faq__collapse-item-card-header h6,
  #faq-section .faq-collapse-item-card-header h6 {
    font-size: 18px;
    line-height: 26px;
  }
  #faq-section .faq-accordion-item-card-header-content p,
  #faq-section .faq__collapse-item-card-header-content p,
  #faq-section .faq-collapse-item-card-header-content p {
    font-size: 15px;
    line-height: 1.5;
  }
  #faq-section .faq-accordion-item-card-header i,
  #faq-section .faq__collapse-item-card-header i,
  #faq-section .faq-collapse-item-card-header i {
    font-size: 14px;
  }
}
/* Footer */
#footer-main {
  padding: 100px 0 50px 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  z-index:1;
}
#footer-main::before{
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index:-1;
}
#footer-main p {
  color: #fff;
  font-size: 18px;
}
#footer-main p a {
  color: #fff;
  font-weight: 700;
}
#footer-bottom {
  padding: 0 0 20px 0;
}
#footer-bottom .container {
  padding-top: 30px;
  padding-bottom: 20px;
}
#footer-bottom p {
  color: #fff;
}
#footer-bottom p a {
  color: #fff;
  font-weight: 700;
}
.upper-footer h3 {
  font-size: 70px;
}
.cta-footer {
  padding: 20px 50px;
  background: var(--color);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-seven);
  display: inline-block;
  margin-top:25px;
  border-radius: 10px;
}
.cta-footer:hover {
  background: #000;
  color: var(--color);
}
.footer-link {
  padding: 0 0 0 50px;
  display: inline-block;
  margin-top: 25px;
}
.footer-link:first-child {
  padding: 0
}
.footer-link li {
  display:block;
  position: relative;
  padding: 0 0 10px 0;
  margin-right: 10px;
}
.footer-link li a {
  color: #fff;
  font-weight: 700;
  font-size: 18px;
}
.footer-link li a i {
  color: #fff!important;
  font-size: 22px;
  margin-right: 10px;
  width: 30px;
  height: 30px;
}
.sosial-footer {
  font-size: 20px;
}
.form-sub {
  display: flex;
  width: 100%;
}
.form-sub .sub-btn {
  border-radius: 0;
  border: none;
  text-transform: uppercase;
  font-size: 20px;
  font-weight: 600;
  margin: 0 !important;
  letter-spacing: 1px;
  color: #0e0e0e !important;
  background: #fff;
}
.sub-form form .form-subcribe {
  padding: 0 !important;
}
.form-sub {
  margin: 0 !important;
  width: 100%;
}
.form-sub input {
  background-color: var(--color-four) !important;
  border-radius: 0 !important;
  border-bottom-left-radius: 10px !important;
  border-top-left-radius: 10px !important;
  outline: none;
  color: var(--color) !important;
  padding: 16.5px 12px !important;
  border: none !important;
  display: block;
  width: 100%;
  height: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form-sub button.sub-btn {
  padding: 0px 38px !important;
  height: auto !important;
  border-radius: 0 !important;
  border: none;
  text-transform: uppercase;
  box-shadow: none !important;
  font-size: 20px;
  font-weight: 600;
  border-bottom-right-radius: 10px !important;
  border-top-right-radius: 10px !important;
  letter-spacing: 1px;
  color: var(--color-two);
  background-color: var(--color) !important;
}
#footer-bottom {
  padding: 0 0 20px 0;
}
.b-footer {
  border-top: 1px solid var(--color-four);
}
@media (max-width: 999px) {
  .upper-footer h3 {
    font-size: 60px;
  }
  .sub-form form {
    flex-direction: column;
  }
  .sub-form form .wpforms-field-container {
    width: 100%;
  }
  .sub-form form .wpforms-field-container input {
    margin: 10px 0;
  }
  .sub-form form .wpforms-error {
    margin: 10px 0;
  }
  .sub-form form button.sub-btn {
    display: block !important;
    width: 100% !important;
  }
}
/* Yhteystiedot */
.contact-us {
  margin-top: 40px;
  color:#fff;
}
.contact-us h2 {
  color:#fff;
  font-size: 26px;
  padding-left: 10px;
}
.contact-us p {
  color:#fff;
  margin-bottom: 20px;
  padding-left: 10px;
}
.list-info {
  padding: 0;
  margin-top: 0px;
  margin-bottom: 25px;
}
.list-info li {
  list-style: none;
  background: var(--color-seven);
  padding: 20px;
  border-radius: 10px;
  border: 1px solid var(--color-four);
  margin-bottom: 20px;
}
.inner-info {
  display: flex;
}
.text-info {
  padding: 8px 0 0 30px;
  font-size: 18px;
  color: var(--color-zero) !important;
}
.text-info p {
  padding-left: 0px;
  margin-bottom: 0px;
}
.text-info a{
  color:#fff;
}
.text-info a:hover{
  color:#fff;
  font-weight: 700;
}
.list-info .inner-info span {
  font-size: 50px;
  color: var(--color-zero);
}
.list-info .inner-info i {
  font-size: 40px;
  height: 40px;
  width: 40px;
  line-height: 40px;
  color: var(--color-zero);
}
.contact-wrapper {
  padding-top: 50px;
  padding-bottom: 100px;
}
.form-contact {
  padding: 50px 30px 30px;
  background: var(--color-seven);
  border-radius: 20px;
  border: 1px solid var(--color-four);
}
.form-contact form.contact-wrap textarea {
  height: 150px;
}
.form-contact input::placeholder, .form-contact textarea::placeholder {
  color:#fff;
}
.form-contact form.contact-wrap input,
textarea {
  background-color: #282828;
  border-radius: 10px !important;
  outline: none;
  color: var(--color);
  padding: 16.5px 12px;
  border: none !important;
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.captcha-wrap p {
  font-size: 18px;
  color: var(--color) !important;
  margin: 0 0 10px 0 !important;
}
.captcha-wrap input {
  background-color: var(--color-four) !important;
  border-radius: 10px !important;
  outline: none;
  color: var(--color) !important;
  padding: 18px 12px !important;
  border: none !important;
  display: block;
  width: 100%;
  height: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form-contact form button.contact-sub {
  padding: 18px 38px !important;
  height: auto !important;
  border-radius: 10px !important;
  border: none;
  box-shadow: none !important;
  font-size: 18px;
  width: 200px;;
  font-weight: 400;
  letter-spacing: 1px;
  color:#000 !important;
  background-color: #fff !important;
}
.form-contact form button.contact-sub:hover {
  background-color: #282828 !important;
  color:#fff!important;
}
/* Captcha */
.captcha {
	font-size:14px;
	padding-top:5px;
	padding-bottom:10px;
	margin-bottom:0em!important;
	width:100%;
  color:#fff;
}
.captcha-input {
	font-size:14px;
	padding:0em;
	padding-bottom:20px;
}
.captcha-input img {
  border-radius: 10px;
}
.captcha-input input{
	float:left;
	clear:right;
	margin-right:10px;
  height: 28px;
  width: 46px;
  padding: 4px!important;
  text-align: center;
  font-size: 13px!important;
  background: white!important;
  color:#000!important;
}
.captcha-input img{
	float:left;
	clear:right;
	margin-right:10px;
	margin-top:0em;
}
/* Sivun alkuun */
#backtotop {
  display: inline-block;
  background-color: #fff;
  width: 35px;
  height: 35px;
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 35px;
  text-align: center;
  position: fixed;
  bottom: 70px;
  right: 20px;
  transition: background-color .3s,
    opacity .5s, visibility .5s;
  opacity: 0;
  visibility: hidden;
  z-index: 1100;
  color: #333;
  border: 1px solid #333;
}
#backtotop:hover {
  cursor: pointer;
  background-color: #333;
  color:#fff;
  border: 1px solid #fff;
}
#backtotop:active {
  background-color: #555;
}
#backtotop.show {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 991px) {
  #backtotop {
    bottom: 100px;
  }
}
@media (max-width: 500px) {
  #backtotop {
    bottom: 115px!important;
  }
}
@media (max-width: 400px) {
  #backtotop  {
    bottom: 130px;
  }
}
@media (max-width: 300px) {
  #backtotop {
    bottom: 150px;
  }
}
/* Topbar */
.mellow-admin-bar-active .alert-info {
  bottom:80px;
}
.alert-info {
  position: fixed;
	margin-bottom: 0px;
	text-align: center;
	background: #fff;
	border:none;
	border-radius:0px;
	color:#000;
  width: 100%;
  z-index: 1000;
  bottom:0;
  border-top:1px solid #333;
}
.alert-info p {
	margin-bottom: 0px;
	font-size: 18px;
	line-height: 24px;
	color:#000;
}
.alert-info p a {
	margin-bottom: 0px;
	line-height: 24px;
	color:#000;
  font-weight: 700;
}
.alert-info p a:hover {
	color:blue;
}
.alert {
  font-size: 14px;
}
.alert-primary {
	margin-top: 5px;
}
.btn-close-black {
  color:black;
  opacity: 1;
}
@media (max-width: 768px) {
  .alert-info p {
  	font-size: 16px;
  	line-height: 24px;
  }
}
