.elementor-kit-6{--e-global-color-primary:#6CC0E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#5FCE6E;--e-global-color-a93aa0c:#FFFFFF;--e-global-color-3f97089:#E6E6E6;--e-global-color-3798458:#CCCCCC;--e-global-color-99babb0:#B3B3B3;--e-global-color-2640302:#999999;--e-global-color-277abe0:#808080;--e-global-color-bc208cd:#666666;--e-global-color-6a956fc:#4D4D4D;--e-global-color-72c87d6:#333333;--e-global-color-c993f5e:#1A1A1A;--e-global-color-1eb2123:#000000;--e-global-color-47f40ed:#00000000;--e-global-color-c604e14:#41AEDC;--e-global-color-139b723:#2496C6;--e-global-color-8a1d26c:#1C759B;--e-global-color-57cbcdb:#98D3EC;--e-global-color-ac1a25f:#C3E5F4;--e-global-color-fc70083:#EEF8FC;--e-global-color-56e5a27:#3C3F44;--e-global-color-c588a77:#242629;--e-global-color-29fde34:#0C0D0E;--e-global-color-baa4c65:#6C727A;--e-global-color-af7585f:#858C93;--e-global-color-6dfcb97:#A0A5AB;--e-global-color-b980465:#3BBF4C;--e-global-color-b22a249:#2F983D;--e-global-color-f27a92f:#23712D;--e-global-color-7dd219b:#86DA91;--e-global-color-61eb110:#ADE6B5;--e-global-color-0375321:#D4F2D8;--e-global-color-a4840af:#616161;--e-global-color-6dbdbd0:#474747;--e-global-color-ead2e23:#2E2E2E;--e-global-color-f74ddb4:#949494;--e-global-color-39d9a60:#ADADAD;--e-global-color-99b2d42:#C7C7C7;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:2rem;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:2.5rem;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:1.5rem;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:2rem;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5rem;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1rem;--e-global-typography-accent-letter-spacing:1px;--e-global-typography-9d34363-font-size:0.75rem;--e-global-typography-9d34363-font-weight:400;--e-global-typography-9d34363-line-height:1rem;--e-global-typography-ac2f368-font-size:0.875rem;--e-global-typography-ac2f368-font-weight:400;--e-global-typography-ac2f368-line-height:1rem;--e-global-typography-17c9cb9-font-family:"Montserrat";--e-global-typography-17c9cb9-font-size:1.25rem;--e-global-typography-17c9cb9-font-weight:400;--e-global-typography-17c9cb9-line-height:1.5rem;--e-global-typography-0025a21-font-family:"Montserrat";--e-global-typography-0025a21-font-size:1.5rem;--e-global-typography-0025a21-font-weight:400;--e-global-typography-0025a21-line-height:1.75rem;--e-global-typography-b470631-font-size:2rem;--e-global-typography-b470631-font-weight:400;--e-global-typography-b470631-line-height:2.5rem;--e-global-typography-a98ff41-font-size:2.5rem;--e-global-typography-a98ff41-font-weight:400;--e-global-typography-a98ff41-line-height:3rem;--e-global-typography-7fdd1e1-font-size:3rem;--e-global-typography-7fdd1e1-font-weight:400;--e-global-typography-7fdd1e1-line-height:3.5rem;--e-global-typography-da56384-font-family:"Playfair Display";--e-global-typography-da56384-font-size:3rem;--e-global-typography-da56384-font-weight:600;--e-global-typography-da56384-line-height:3.25rem;--e-global-typography-da56384-letter-spacing:-1px;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-c604e14 );color:var( --e-global-color-text );}.elementor-kit-6 e-page-transition{background-color:var( --e-global-color-primary );}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 h1{color:var( --e-global-color-c993f5e );font-family:var( --e-global-typography-da56384-font-family ), Sans-serif;font-size:var( --e-global-typography-da56384-font-size );font-weight:var( --e-global-typography-da56384-font-weight );line-height:var( --e-global-typography-da56384-line-height );letter-spacing:var( --e-global-typography-da56384-letter-spacing );}.elementor-kit-6 h2{color:var( --e-global-color-72c87d6 );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h3{color:var( --e-global-color-72c87d6 );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h4{color:var( --e-global-color-72c87d6 );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h5{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h6{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-da56384-font-size );line-height:var( --e-global-typography-da56384-line-height );letter-spacing:var( --e-global-typography-da56384-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-da56384-font-size );line-height:var( --e-global-typography-da56384-line-height );letter-spacing:var( --e-global-typography-da56384-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html {
    font-size: 16px;
    word-break: break-word; /* Break words at the end of the line */
    overflow-wrap: break-word; /* Ensure long words break correctly */
    hyphens: manual;
    overflow-x: hidden;
}

p{
    margin-block-start: 0 !important;
}

/* Taustaväri maalatessa sisältöä */
::selection {
    background: #881FC1;
    color: #FFFFFF;
}

[id]{
    scroll-margin-top: 4rem;
}

/*Lomakkeen kentän keskitys */
#form-field-email {
  text-align: center;
}

.small-container {
  width: max-content;
}

.icon-after .elementor-icon-list-item a {
  flex-direction: row-reverse;
}
.icon-after .elementor-icon-list-item a span {
  padding-inline-start: 0 !important;
}

.menu .elementor-icon-wrapper{
    height: 1.25rem !important;
}

/* Header taustaväri*/
.header {
    background-color: hsla(346, 53%, 21%, 1);             /* Lämmin ruskea tausta, peittävä */
    transition: background-color 0.3s ease,               /* Pehmeät siirtymät väriin ja blur-efektiin */
                backdrop-filter 0.3s ease, border-radius 0.3s ease;
}

.header.scrolled {
    background-color:hsla(346, 53%, 21%, 0.5);
    backdrop-filter: blur(6px);                           /* ”Lasi”-efekti vierityksen aikana */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);               /* Hento varjo erottamaan taustasta */
    border-radius: 0;
}


.header-container {
  padding: 1.5rem;
  transition:
    padding 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-container.scrolled {
  padding: 0 !important;
}



/* Palvelut sivujen alhaalta tuleva varaa aika. -nappi. Tämä CSS on yhteydessä Elementor Pro Custom Code -osioon lisättyyn koodiin. */
.scroll-btn {
  position: fixed;
  bottom: 1rem;
  z-index: 999;
  opacity: 0;
  transform: translateY(4rem) translateX(0px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  pointer-events: none;
  width: calc(100vw - 2rem);
}

.scroll-btn.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Unordered list paddings */
ul{
    padding-inline-start: 1rem;
    margin-block-end: 0;
    margin-block-start: 0;
}

/* Häivytysmaski karusellin reunoihin (50px) */
.elementor-widget-loop-carousel .elementor-loop-container.swiper {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    black 50px,
    black calc(100% - 50px),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    black 50px,
    black calc(100% - 50px),
    transparent 100%
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}


/* Jokainen loop-item (kortti) asettuu pystysuunnassa keskelle ja on niin matala kuin sisältö */
.elementor-widget-loop-carousel .e-loop-item {
  margin-block: auto !important;   /* pystykeskitys sliden sisällä */
  height: auto !important;         /* ei venytystä */
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Playfair Display';
	font-display: auto;
	src: url('https://template.visiosites.fi/wp-content/uploads/2026/02/PlayfairDisplay-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Montserrat';
	font-display: auto;
	src: url('https://template.visiosites.fi/wp-content/uploads/2026/02/Montserrat-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */