/*
 Theme Name:   Joinas Divi 4.3
 Theme URI:    https://joinas.fi
 Description:  Asiakas: Hapit Oy (Wilmaikkuna)
 Author:       Joinas Oy
 Author URI:   https://joinas.fi
 Template:     Divi
 Version:      4.3
*/

/***** Teeman muokkaukset *****/

/* Asiakkaan ilme */

:root {
  --asiakasvari: #182325; 
  --tummaasiakasvari: #182325;
  --asiakastehostevari: #223C3B;
  --toinenasiakastehostevari: #223C3B;
  --asiakasfontti: "Poppins", sans-serif;
  --asiakasotsikkofontti: corsario-variable, sans-serif;
}

/* Ei vareja tai fontteja taman alle */
/* Typografia */

body {
  font-family: var(--asiakasfontti);
  font-weight: 400;
  font-style: normal;
}


h1, h2, h3, h4, h5, h6,
div#page-container div#main-content h1,
div#page-container div#main-content h2,
div#page-container div#main-content h3,
div#page-container div#main-content h4,
div#page-container div#main-content h5 { 
  font-family: var(--asiakasotsikkofontti);
  font-variation-settings: "opsz" 48, "wght" 900;
 }

.et_pb_bg_layout_light h1,
.et_pb_bg_layout_light h2,
.et_pb_bg_layout_light h3,
.et_pb_bg_layout_light h4 { color: var(--asiakasvari);  }

h1 span { color: var(--toinenasiakastehostevari); }
h2 span { color: var(--asiakastehostevari); }

div#page-container div#main-content h2, h2 { font-size: 40px; margin-top: 20px; margin-bottom: 5px; line-height: 1.25; }
div#page-container div#main-content h3, h3 { font-family: var(--asiakasfontti); font-weight: 600; font-size: 18px; margin-top: 10px; color: var(--asiakasvari); line-height: 1.25; }
div#page-container div#main-content h4, h4 { font-family: var(--asiakasfontti); font-weight: 600; font-size: 16px; }


a[href^="tel:"]:before,
a[href^="mailto:"]:before { 
    content: "\f095";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    padding-right: 1em;
    position: relative;
    top: 0px;
    left: 0px;
}
a[href^="mailto:"]:before { 
    content: "\f0e0";
    font-family: FontAwesome;
}

/* CTA-btn */

.et_pb_button {
  font-family: var(--asiakasfontti);
  font-weight: 500 !important;
}

a.ctabtn {
  background-color: #C4BDB4;
  border-radius: 4px;
  padding: 14px 25px;
  display: block;
  color: var(--asiakasvari);
  margin-top: 20px;
  text-decoration: none !important;
  text-align: center;
  max-width: 160px;
  font-weight: 600;
  font-size: 16px;
}
a.ctabtn.ghost {
  margin-top: 0px;
  background-color: rgba(0, 0, 0, .0);
  border: 1px solid var(--asiakasvari) !important;
  color: var(--asiakasvari) !important;
  font-size: 15px !important;
  max-width: 350px;
  font-weight: 600;
}

.et_pb_bg_layout_dark a.ctabtn.ghost {
  border-color: #ffffff !important;
  color: #ffffff !important;
}

/* Valikon .cta */
ul#menu-paavalikko li.cta a {
    background-color: #223C3B;
    font-size: 15px !important;
    font-weight: 400;
    color: #ffffff !important;
    cursor: pointer !important;
    padding: 16px 25px 10px 25px !important;
    -webkit-border-radius: 5px !important;-moz-border-radius: 5px !important;border-radius: 5px !important;
    display: block;
    height: 45px;
    margin-top: 15px;
}

/* Kustomoidut luokat */

h2.iso { font-size: 45px !important; line-height: 1.333; }
.lora { 
  font-family: "Lora", serif;
  font-optical-sizing: auto;
  font-weight: 700 !important;
  font-style: italic !important;
}
.white_borders {
  width: calc(100% - 22px) !important;
  margin: 0 auto;
}


/* Nuolinappi */

a.nuolinappi { 
  color: var(--asiakasvari);
  font-size: 16px;
  font-family: var(--asiakasfontti);
  text-decoration: none !important;
  margin-top: 10px;
  margin-bottom: 30px;
  display: block;
  font-weight: 600;
}
a.nuolinappi i { 
  font-size: 40px;
  position: absolute;
  margin-top: -3px;
}

a.nuolinappi::after {
    content: "\f178";
    font-family: 'Font Awesome 6 Pro' !important;
    font-style: normal;
    font-weight: 300;
    text-decoration: inherit;
    font-size: 16px;
    position: absolute;
    padding-left: 10px;
}

/* Footer-listaus  */

footer.et-l--footer ul { list-style-type: none; padding: 10px 0px; margin: 0; }
footer.et-l--footer ul li { position: relative; padding-left: 30px; padding-bottom: 5px; }
footer.et-l--footer ul li:before {
    content: "\f178";
    font-family: 'Font Awesome 6 Pro' !important;
    font-style: normal;
    font-weight: 200;
    text-decoration: inherit;
    color: var(--asiakasvari); 
    font-size: 12px;
    padding-right: 0.5em;
    position: absolute;
    top: 0px;
    left: 0px;
}
footer.et-l--footer h3 { padding-bottom: 12px;  font-size: 18px !important; }


/* Listaukset */

div#et-main-area div#main-content div.et_pb_text_inner ul { list-style-type: none; padding: 10px 0px; margin: 0; } 
div#et-main-area div#main-content div.et_pb_text_inner ul li { position: relative; padding-left: 30px; padding-bottom: 15px; line-height: 1.65; }
div#et-main-area div#main-content div.et_pb_text_inner ul li:before {
  content: "\f054";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    color: var(--asiakasvari); 
    font-size: 12px;
    padding-right: 0.5em;
    position: absolute;
    top: 0px;
    left: 0px;
}

div#et-main-area div#main-content div.et_pb_text_inner ol {
  list-style: none;
  counter-reset: numerointi;
  margin-top: 10px;
}
div#et-main-area div#main-content div.et_pb_text_inner ol li {
  counter-increment: numerointi;
  margin-left: 30px;
  margin-bottom: 5px;
}
div#et-main-area div#main-content div.et_pb_text_inner ol li::before {
  content: counter(numerointi) ". ";
  color: var(--asiakastehostevari);
  font-weight: bold;
  position: absolute;
  left: 0;
}

div#et-main-area div#main-content div.et_pb_text_inner ul.checklist li:before {  content: "\f00c" !important; font-size: 20px; padding-right: 1em; }

        .kaksi_palstaa {
            display: grid;
            grid-template-columns: 1fr 1fr; /* Kaksi yhtä leveää palstaa */
            gap: 20px; /* Välit palstojen ja rivien välillä */
        }
        .kaksi_palstaa li {
            
            margin-bottom: 10px; /* Väli listan kohtien välillä */
        }

        @media (max-width: 768px) {
            .kaksi_palstaa {
                grid-template-columns: 1fr; /* Yksi palsta mobiilinäkymällä */
            }
        }


a[href^="tel:"], a[href^="mailto:"], a.whatsapp { white-space: nowrap; text-decoration: none !important; }

.et_pb_bg_layout_dark .ikonit a[href^="mailto:"]:before, .et_pb_bg_layout_dark .ikonit a[href^="tel:"]:before, .et_pb_bg_layout_dark .ikonit a.whatsapp:before { color: #ffffff; } 
.et-l--footer .et_pb_bg_layout_dark .ikonit a[href^="mailto:"]:before, .et-l--footer .et_pb_bg_layout_dark .ikonit a[href^="tel:"]:before, .et-l--footer .et_pb_bg_layout_dark .ikonit a.whatsapp:before { color: #ffffff; } 

/* Kategoriasivun muotoilut */

a.more-link { top: 10px; position: relative; }
a.more-link::after {
  transition-timing-function: ease-in-out;
  transition: 1s;
  content: " \24"; 
  font-family: 'ETmodules';
  font-weight: normal;
  position: absolute;
}
a.more-link:hover::after {
  padding-left: 5px;
}
.single-post .et_pb_section .et_pb_post_title .et_pb_title_container { max-width: 850px; margin: 0 auto; }
.et_pb_blog_grid .et_pb_post { padding: 40px !important; }
body.home .et_pb_blog_grid .et_pb_post { padding: 0px !important; }
.et_pb_blog_grid .et_pb_image_container { margin: -40px -39px 29px !important; }

.fluid-width-video-wrapper { margin-bottom: 20px; }

div.et_pb_post_content blockquote,
div.et_pb_text_inner blockquote { font-size: 22px !important; font-family: "Lora", serif;
  font-optical-sizing: auto;
  font-weight: 700 !important;
  font-style: italic !important; color: var(--asiakastehostevari); border-color: var(--asiakastehostevari); border-left: 4px solid; line-height: 1.65;  }


/* Mobiilimenu & dropdown */

.et_mobile_nav_menu::before {
  content: "Valikko" !important;
  color: var(--asiakasvari);
  font-size: 14px;
  font-family: var(--asiakasfontti);
  font-weight: 600;
}
.home .et_mobile_nav_menu::before {
  color: #ffffff;
}

.et_pb_menu_0_tb_header.et_pb_menu ul li.current_page_item a {  }
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item.menu-item-has-children ul li a { color: var(--asiakasvari) !important;  }
.et-menu .menu-item-has-children>a:first-child { padding-right: 0px; }
.et-menu .menu-item-has-children>a:first-child:after { content: ""; }
.nav li ul.sub-menu {
  width: 400px;
  border-radius: 5px;
  border-top: 0px;
  -webkit-box-shadow: 0px 10px 30px 0px rgba(0,0,0,0.07); 
  -moz-box-shadow: 0px 10px 30px 0px rgba(0,0,0,0.07); 
  box-shadow: 0px 10px 30px 0px rgba(0,0,0,0.07);
}
.nav li ul.sub-menu a {
  width: 360px;
}


nav.et-menu-nav .et-menu li li a { padding: 18px 20px !important; }

.et_mobile_menu { left: 10px; width: calc(100% - 20px); }
#mobile_menu1 { border-radius: 10px; border-top: 0px; }
#mobile_menu1.et_mobile_menu li a { padding: 25px 15%; text-align: left;  }

#mobile_menu1.et_mobile_menu li.current-menu-item a, #mobile_menu1.et_mobile_menu li.second-level a { /* background-color: #f6f6f6; */  }
#mobile_menu1.et_mobile_menu li.current_page_parent a { border-radius: 10px; }

#mobile_menu1.et_mobile_menu li.current-menu-item li a::before { content: ""; } 
#mobile_menu1.et_mobile_menu { padding: 0px; top: 55px; -webkit-box-shadow: 0px 10px 80px 0px rgba(0,0,0,0.3); -moz-box-shadow: 0px 10px 80px 0px rgba(0,0,0,0.3); box-shadow: 0px 10px 80px 0px rgba(0,0,0,0.3); }

.mobile_nav.opened .mobile_menu_bar:before {
 content: '\4d';
}

.et_mobile_menu .menu-item-has-children > a {
background-color: transparent;
position: relative;
}
.et_mobile_menu .menu-item-has-children > a:after {
font-family: 'ETmodules';
content: '\4c';
font-weight: normal;
position: absolute;
font-size: 18px;
top: 25px;
right: 30px;
}
.et_mobile_menu .menu-item-has-children > .icon-switch:after{
content: '\4d';
}
.et_mobile_menu ul.sub-menu li {
display: none;
}
.et_mobile_menu ul.sub-menu li.reveal-items {
display: block !important;
}

.et_mobile_menu li li, .et_pb_menu .et_mobile_menu li ul { padding-left: 0px; }

.et_mobile_menu li li, .et_pb_menu .et_mobile_menu li ul { padding-left: 0px; }

/* Korttikaruselli  */

    .karuselli-container {
      display: flex;
      flex-wrap: nowrap;
      overflow-x: auto;
      scrollbar-width: none;
      scroll-snap-type: x mandatory; /* Tämä varmistaa, että rullaus tapahtuu korteittain */
      justify-content: flex-start; /* Kohdista kortit 70px etäisyydelle vasemmasta reunasta */
      scroll-padding-left: 4vw; /* Lisää tilaa vasemmalle reunalta */
      scroll-padding-right: 4vw; /* Lisää tilaa oikealle reunalta */
    }
    .karuselli-container::-webkit-scrollbar {
      display: none; /* Piilottaa vierityspalkin Safari- ja Chrome-selaimissa */
    }

    .palvelukortti {
      flex: 0 0 calc(40% - 20px); /* Työpöytänäkymässä 2,5 korttia */
      min-width: 200px; /* Muuta tarvittaessa kortin leveys */
      min-height: 200px; /* Muuta tarvittaessa kortin korkeus */
      margin: 0 10px;
      scroll-snap-align: start; /* Kortit rullautuvat täsmällisesti näytölle */
    }
    .palvelukortti h2 {
      font-size: 30px !important;
      margin-bottom: 10px !important;
      padding-bottom: 0px !important;
    }
    .palvelukortti p.alaotsikko {
      font-size: 18px;
      margin-top: 0px !important;
      padding-top: 0px !important;
    }
    .palvelukortti div.sisalto {
      width: 90%;
    }

    div.ikonidivi {
      padding-top: 90px;
      width: 100%;
      background-color: #F0EFEC;
      min-height: 280px;
      margin-bottom: 40px;
      text-align: center;

    }
    div.ikonidivi img {
      max-width: 100px; height: auto;
    }
    /* Ensimmäisen kortin ja sivun reunan välinen tyhjä tila */
    .karuselli-container::before,
    .karuselli-container::after {
      content: "";
      flex: 0 0 3vw; /* Työpöytänäkymässä 70px tyhjää tilaa */
    }

 @media (min-width: 1440px) {
    .palvelukortti {
      flex: 0 0 calc(30% - 20px); /* Työpöytänäkymässä 2,5 korttia */
    }
 }

    @media (min-width: 768px) {
    .nav-buttons {
      margin-right: 40px;
    }

    }
    /* Lisää tyylit mobiilinäkymää varten */
    @media (max-width: 768px) {
          div.ikonidivi {
      padding-top: 60px;
      min-height: 180px;
    }
     div.ikonidivi img {
      max-width: 80px; height: auto;
    }
        .palvelukortti div.sisalto {
      width: 95%;
    }
         .palvelukortti div.sisalto p {
      font-size: 16px;
      line-height: 1.7;
    }
        .nav-buttons {
    justify-content: center !important; /* Keskitä linkit mobiililaitteilla */
  }
    .karuselli-container::before,
    .karuselli-container::after {
      content: "";
      flex: 0 0 20px; /* Työpöytänäkymässä 70px tyhjää tilaa */
    }
    .karuselli-container {
      scroll-padding-left: 30px; /* Lisää tilaa vasemmalle reunalta */
      scroll-padding-right: 30px; /* Lisää tilaa oikealle reunalta */
    }
      .palvelukortti {
        flex: 0 0 calc(85% - 10px); /* Mobiilissa 1,25 korttia */
        margin: 0 5px;
      }
    }

    /* Napit rullaamiseen */
    .nav-buttons {
      display: flex;
      justify-content: flex-end;
      margin-top: 40px;
    }

    .nav-buttons a {
      font-size: 35px;
      margin-top: 10px;
      opacity: 1; /* Alustetaan opacity 1:ksi */
      color: var(--asiakasvari);
      margin: 4px;
    }

    .nav-buttons a.disabled {
      opacity: 0.1;
      pointer-events: none; /* Estetään napin interaktio */
    }


/* Lomakemuotoilut */

/* Listausten poistaminen */
div#et-main-area div#main-content div.et_pb_text_inner .gform_wrapper ul li { position: relative; padding-left: 0px; padding-bottom: 0px; }
div#et-main-area div#main-content div.et_pb_text_inner .gform_wrapper ul li:before {
  content: "";
}

/*----*/

.et_pb_bg_layout_dark .gform_wrapper ul.gform_fields .ginput_container input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
  border: 2px solid #ffffff; padding: 15px 20px;
}
body .et_pb_bg_layout_light .gform_wrapper ul li.gfield { margin-top: 0px; }
.et_pb_bg_layout_light div.gform_wrapper div.gform_footer { margin-top: 0px; padding: 0px; }
.gform_wrapper .top_label .gfield_label, .gform_wrapper legend.gfield_label { font-size: 16px; }
.gform_wrapper ul.gform_fields .ginput_container input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
  padding: 14px 14px;
}

.et_pb_bg_layout_dark .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .et_pb_bg_layout_dark .gform_wrapper textarea {
  border: 0px;
}
.et_pb_bg_layout_light .gform_wrapper textarea { padding: 14px 14px;  }
.et_pb_bg_layout_dark .gform_wrapper textarea { padding: 14px 14px; }

.gform_wrapper div.gform_body ul.gform_fields div.ginput_container { margin-top: 2px; }
.gform_wrapper ul.gform_fields li.gfield { padding-right: 0px !important; }

#gform_wrapper_2 { margin-top: 20px; }

/* SUBMIT  */
.gform_wrapper .gform_footer input[type=submit].gform_button { margin-top: 20px; font-family: var(--asiakasfontti); font-size: 16px; width: 100%; padding: 17px 20px; border: 0px; background-color: var(--asiakastehostevari); color: #ffffff; font-weight: 600; border-radius: 2px; cursor: pointer; }
.et_pb_bg_layout_dark .gform_wrapper .gform_footer input[type=submit].gform_button {  background-color: var(--asiakastehostevari); color: #ffffff;}
.gform_wrapper li.hidden_label input { margin-top: 0px !important; }
.gform_wrapper .gform_footer { margin-top: 0px !important; }
body .gform_wrapper ul li.gfield { margin-top: 10px !important; }

.gform_wrapper input::placeholder, .gform_wrapper textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: var(--asiakasvari);
    opacity: 1; /* Firefox */
    font-size: 16px;
    font-style: italic;
}

.gform_wrapper input:-ms-input-placeholder, .gform_wrapper textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: var(--asiakasvari);
    font-size: 16px;
    font-style: italic;
}

.gform_wrapper input::-ms-input-placeholder, .gform_wrapper textarea::-ms-input-placeholder { /* Microsoft Edge */
    color: var(--asiakasvari);
    font-size: 16px;
    font-style: italic;
} 

.et_pb_bg_layout_dark .gform_wrapper { margin: 0px; }

.gform_wrapper input[type=text], 
.gform_wrapper input[type=password], 
.gform_wrapper input[type=tel], 
.gform_wrapper input[type=email], 
.gform_wrapper input.text, 
.gform_wrapper input.title, 
.gform_wrapper textarea {
  border: 0px;
  border-bottom: 1px solid;
  border-color: var(--asiakasvari) !important;
  border-radius: 0px !important;
}
.et_pb_bg_layout_light .gform_wrapper ul.gform_fields .ginput_container textarea:focus, .et_pb_bg_layout_light .gform_wrapper ul.gform_fields .ginput_container input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, .gform_wrapper ul.gform_fields .ginput_container textarea:focus, .gform_wrapper ul.gform_fields .ginput_container input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus {
  border-bottom: 2px solid !important; border-color: var(--asiakasvari) !important; font-style: normal !important; font-weight: 500 !important; background-color: #F9F9FA !important;
}
.gform_wrapper li.gf_left_half { margin-right: 8px; width: calc(50% - 8px) !important; }
.gform_wrapper li.gf_right_half { margin-left: 8px !important; width: calc(50% - 8px) !important; } 


/* VIRHEILMOITUKSET */
div.et_pb_module .gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) { margin: 0 auto; max-width: 100% !important; width: 100% !important;}
.gform_wrapper div.validation_message { color: var(--asiakasvari); line-height: 1.5; }
.gform_wrapper div.validation_error { color: #fff !important; border: 0px !important; background-color: var(--asiakasvari); border-radius: 5px; margin-top: 30px !important; margin-bottom: 0px !important; padding: 16px 20px !important; }
.gform_wrapper li.gfield_error div.ginput_container ul li label { color: #2d2d2d !important; }
.gform_wrapper .gfield_error .gfield_label { color: var(--tummaasiakasvari) !important;  }
.gform_wrapper li.gfield_error { text-align: left !important;  }
.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description { padding-top: 7px !important; }
.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning { background-color: rgba(255, 255, 255, 0) !important; border-top: 0px !important; border-bottom: 0px !important; padding-top: 0px !important; }
.gform_wrapper li.gfield_error ul.gfield_checkbox { color: #fff; }
.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper li.gfield_error textarea { border-color:  var(--asiakastehostevari) !important; }


/* HLÖ */

.et_pb_team_member_image img { border-radius: 150px; width: 105px; margin-bottom: 10px; }
div#page-container div#main-content div.et_pb_team_member h4.et_pb_module_header { font-size: 24px; }
div#page-container div#main-content div.et_pb_team_member a[href^="tel:"] {
  font-weight: 600;
  font-size: 18px;
  color: var(--asiakasvari);
}
div#page-container div#main-content div.et_pb_team_member a[href^="tel:"]:before {
    content: "\f879";
    font-family: 'Font Awesome 5 Pro' !important;
    font-style: normal;
    font-weight: 600;
    text-decoration: inherit;
    /* color: var(--asiakasvari); */
    padding-right: 0.5em;
    /* padding-left: 1em; */
    position: relative;
    top: 0px;
    left: 0px;
}
div#page-container div#main-content a[href^="https://api.whatsapp.com"]:after {
    content: "\f232";
    font-family: 'Font Awesome 5 Brands' !important;
    font-style: normal;
    text-decoration: inherit;
    /* color: var(--asiakasvari); */
    padding-left: 0.5em;
    /* padding-left: 1em; */
    position: relative;
    top: 0px;
    right: 0px;  
}
div#page-container div#main-content a[href^="https://api.whatsapp.com"] {
  font-size: 12px;
  color: var(--asiakasvari);
  background-color: #F1F2F3;
  padding: 6px 16px;
  border-radius: 20px;
  text-decoration: none !important;

}


/* Palstajarjestyksen muuttaminen */

@media all and (max-width: 980px) {
/*** wrap row in a flex box ***/
.custom_row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
-webkit-flex-wrap: wrap; /* Safari 6.1+ */
flex-wrap: wrap;
}
 
/*** custom classes that will designate the order of columns in the flex box row ***/
.first-on-mobile {
-webkit-order: 1;
order: 1;
}
 
.second-on-mobile {
-webkit-order: 2;
order: 2;
}
 
.third-on-mobile {
-webkit-order: 3;
order: 3;
}
 
.fourth-on-mobile {
-webkit-order: 4;
order: 4;
}
/*** add margin to last column ***/
.custom_row:last-child .et_pb_column:last-child {
margin-bottom: 30px;
}
}



/* Responsiiviset muutokset */

@media (min-width: 980px) {

}

@media all and (max-width: 980px) {

div.et_pb_menu__wrap:before {
  position: absolute;
  left: 135px;
  top: 10px;
  font-size: 12px;
  font-weight: 600;
  color: #7796a6;
}

}


@media all and (max-width: 640px) {

  a.ctabtn {
  font-size: 14px !important;
}

  div#page-container div#main-content a[href^="https://api.whatsapp.com"] {
  font-size: 16px;
  width: 100%;
  padding: 9px 16px;
  border-radius: 20px;
  display: block;
  text-align: center;
}

.henkilo-whatsapp, .henkilo-teksti { float: right; width: calc(100% - 85px) !important; padding-left: 0px; }
.henkilo-whatsapp { padding-top: 0px; }

.gform_wrapper li.gf_left_half { margin-right: 0px; width: 100% !important; }
.gform_wrapper li.gf_right_half { margin-left: 0px !important; width: 100% !important; } 
  .gform_wrapper .top_label li.gfield.gf_left_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm), .gform_wrapper .top_label li.gfield.gf_middle_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 50% !important; float: left;
  }

  h1, h1.et_pb_contact_main_title, .et_pb_title_container h1 { font-size: 32px !important; }
  body.home h1 { font-size: 40px !important; }
  
  h2.iso { font-size: 31px !important; line-height: 1.35; }

  div#page-container div#main-content h2, h2 { font-size: 25px; }

  div.et_pb_title_container h1.entry-title {
    font-size: 32px; 
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
  .hyphens-mobile p, .hyphens-mobile, p {
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
}