/*
 Theme Name:   Joinas Divi 5
 Theme URI:    https://joinas.fi
 Description:  Asiakas: Granitics Oy
 Author:       Joinas Oy
 Author URI:   https://joinas.fi
 Template:     Divi
 Version:      5.0
*/

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

:root { 
  --safe-top: var(--gcid-primary-color); 
  --row_width: 1440px; 
  --max-width: 1920px;
  --primary-glow: rgba(0, 150, 120, 0.45); /* sama väri kuin primary, mutta alpha */
  --et_global_heading_font: "klavika-web", sans-serif !important;
  --et_global_body_font: "klavika-web", sans-serif !important;
}

html, body { background: var(--safe-top); }

/* maalaa safe-area-inset-top */
body::before{
  content:"";
  position: fixed;
  top: 0; left: 0; right: 0;
  height: env(safe-area-inset-top);
  background: var(--safe-top);
  z-index: 999999;
  pointer-events: none;
}


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

body {
    font-family: var(--et_global_body_font);
    /* font-weight: 400; */
}
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,
div.ub_table-of-contents-title { 
    font-family: var(--et_global_heading_font); 
    font-weight: 700; 
    
}

h3, div#page-container div#main-content h3 {
  /* font-weight: bold; */
  font-family: 'Zalando Sans Semibold', Helvetica, Arial, Lucida, sans-serif;
}
div.et_pb_bg_layout_light h1 strong, div.et_pb_bg_layout_light h2 strong {
  color: var(--gcid-secondary-color);
}
div.et_pb_bg_layout_dark h1 strong, div.et_pb_bg_layout_dark h2 strong {
  color: var(--gcid-secondary-color);
}
h2, div#page-container div#main-content h2 { margin-top: 0.2em; }

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;
}

/* Listaukset */

div#et-main-area div#main-content div.et_pb_text_inner ul,
#sisaltoalueet .content ul,
#sisaltoalueet .content_block ul,
body.single ul.wp-block-list { list-style-type: none; padding: 10px 0px; margin: 0; } 
div#et-main-area div#main-content div.et_pb_text_inner ul li,
#sisaltoalueet .content ul li,
#sisaltoalueet .content_block ul li,
body.single ul.wp-block-list li { position: relative; padding-left: 30px; padding-bottom: 5px; }
div#et-main-area div#main-content div.et_pb_text_inner ul li:before,
#sisaltoalueet .content ul li:before,
#sisaltoalueet .content_block ul li:before,
body.single ul.wp-block-list li:before {
  content: "\f054";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    color: var(--gcid-primary-color); 
    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,
div#et-main-area div#main-content ol.wp-block-list {
  list-style: none;
  counter-reset: numerointi;
  margin-top: 10px;
  position: relative;
}
div#et-main-area div#main-content div.et_pb_text_inner ol li,
div#et-main-area div#main-content ol.wp-block-list 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,
div#et-main-area div#main-content ol.wp-block-list li::before {
  content: counter(numerointi) ". ";
  color: var(--gcid-primary-color); 
  font-weight: 500;
  position: absolute;
  left: 0;
}
div#et-main-area div#main-content div.et_pb_text.times-list div.et_pb_text_inner ul li {
  margin-bottom: 10px;
}
div#et-main-area div#main-content div.et_pb_text.times-list div.et_pb_text_inner ul li:before {
  content: "\f057";
  font: var(--fa-font-regular);  
  font-size: 18px;
  color: #B54848;
}

div#et-main-area div#main-content div.et_pb_text_inner ul.checklist li:before {  content: "\f00c" !important; }

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

/* Artikkelit */

body.single .et_pb_post_content_0_tb_body h2.wp-block-heading { margin-top: 2.9rem; margin-bottom: 0.5rem; }
body.single .et_pb_post_content_0_tb_body h3.wp-block-heading { margin-top: 1.3rem; }

div.wp-block-ub-table-of-contents-block {
  border-radius: var(--gvid-0viz4n3gxz);
}

figure.wp-block-image {
  background-color: var(--gcid-primary-color);
  border-radius: var(--gvid-0viz4n3gxz);
  margin: 40px 0;
}
figcaption.wp-element-caption {
  color: #ffffff;
  padding-bottom: .8em;
}

/* Luokat */

.pilleri {
    font-weight: 500;
    color: var(--gcid-secondary-color) !important;
    font-size: clamp(0.8rem, 0.75vw, 1rem);
    line-height: 1.65em;
    padding-top: 3px !important;
    padding-right: 15px !important;
    padding-bottom: 3px !important;
    padding-left: 15px !important;
    align-self: flex-start !important;
    border-top-left-radius: var(--gvid-0viz4n3gxz);
    border-top-right-radius: var(--gvid-0viz4n3gxz);
    border-bottom-left-radius: var(--gvid-0viz4n3gxz);
    border-bottom-right-radius: var(--gvid-0viz4n3gxz);
    border: 1px solid;
    border-color: var(--gcid-secondary-color);
    margin-bottom: 30px;
}

a.cta_nappi {
  padding-top: 11px !important;
    padding-right: 45px !important;
    padding-bottom: 11px !important;
    padding-left: 45px !important;
  display: block; /*
  height: auto;
  width: auto; */
  background-color: var(--gcid-secondary-color);
    color: #ffffff !important;
    font-size: 16px !important;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

section.tumma_tausta a.cta_nappi,
section.dark a.cta_nappi {

 
}

/* Accordion FIX */

.icon_camera h3.et_pb_toggle_title::after,
.icon_bars h3.et_pb_toggle_title::after,
.icon_document_check h3.et_pb_toggle_title::after,
.icon_triangle h3.et_pb_toggle_title::after,
.icon_hammer h3.et_pb_toggle_title::after,
.icon_folder_check h3.et_pb_toggle_title::after {
  content: "\f083";
  font-family: 'Font Awesome 7 Pro' !important;
  font-style: normal;
  font-weight: 400 !important;
  text-decoration: inherit;
  position: absolute;
  left: 0;
  top: 0; 
  color: var(--gcid-primary-color);
}
.icon_camera h3,
.icon_bars h3,
.icon_document_check h3,
.icon_triangle h3,
.icon_hammer h3,
.icon_folder_check h3 {
  padding-left: 40px !important;
}

/* Ikonit */

.icon_bars h3.et_pb_toggle_title::after {
  content: "\e473";
}
.icon_document_check h3.et_pb_toggle_title::after {
  content: "\e1d9";
}
.icon_triangle h3.et_pb_toggle_title::after {
  content: "\f61c";
}
.icon_hammer h3.et_pb_toggle_title::after {
  content: "\f6e3";
}
.icon_folder_check h3.et_pb_toggle_title::after {
  content: "\e64e";
}

/*add icon to the opened accordion*/
.et_pb_accordion_item .et_pb_toggle_title:before {
  font-size: 30px;
  display: block;
  content: "\33"; /* e04f */
}
.et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
  display: block;
  content: "\32" !important; /* e04f */
}

/* Lomake */
.gform_wrapper input[type=submit] {
  background-color: var(--gcid-primary-color) !important;
  width: 100% !important;
  padding: 15px 30px !important;
  box-shadow: 0 0 30px var(--primary-glow) !important;
}
.gform_wrapper div.gform-body input[type=text],
.gform_wrapper div.gform-body input[type=tel],
.gform_wrapper div.gform-body input[type=email],
.gform_wrapper div.gform-body input[type=checkbox],
.gform_wrapper div.gform-body textarea {
  background-color: rgba(0, 0, 0, 0.05);
  border: 0px !important;
  box-shadow: none !important;
}
.et_pb_bg_layout_dark .gform_wrapper div.gform-body input[type=text],
.et_pb_bg_layout_dark .gform_wrapper div.gform-body input[type=tel],
.et_pb_bg_layout_dark .gform_wrapper div.gform-body input[type=email],
.et_pb_bg_layout_dark .gform_wrapper div.gform-body input[type=checkbox],
.et_pb_bg_layout_dark .gform_wrapper div.gform-body textarea {
  background-color: rgba(0, 0, 0, 0.1);
  color: #ffffff !important;
}
.gform_wrapper div.gform-body label ,
.gform_wrapper div.gform-body legend {
  font-weight: 600;
}div.gform_fields {
  row-gap: 20px !important;
}

.gform_wrapper {
  padding-top: 30px;
}
.gform_wrapper label {
  color: var(--gcid-heading-color);
}
.et_pb_bg_layout_dark .gform_wrapper label {
  color: #ffffff;
}
/*  */

p.gform_required_legend { display:none !important; }
/* YT */

iframe.ytvideo { 
  border-radius: 15px;  
  box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, .045);
}

iframe.ytvideo img:hover {
    transform: scale(1.1); /* Zoomaus */
    transition: transform 0.3s ease; /* Sujuva siirtymä */
}
/* Blurred section or row */

div.j_blurred {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
div.j_blurred_light {
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

/* Vimeo */
.kadso-video{
  position: relative;
  width: 100%;
  padding-top: 56.25%;   /* 16:9. Jos video on 4:3 -> 75% */
  border-radius: 10px;
  overflow: hidden;
  background: #000;
}

/* jos Divi/FitVids lisää wrapperin, nollataan se */
.kadso-video .fluid-width-video-wrapper{
  padding-top: 0 !important;
  height: 100% !important;
}

.kadso-video iframe{
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Mobile */

.et_pb_menu__wrap .mobile_menu_bar {
    z-index: 99999;
}
  
.et_mobile_menu li li, .et_mobile_menu li ul {
padding-left:0 !important;
}
/* .et_mobile_menu {
min-width: 100vw;
margin-left: calc(-10vw - 10px);
}*/
.et_mobile_menu {
    border-radius: var(--gvid-0viz4n3gxz);
    position: fixed;
    top: 0px !important;
min-height:calc(100vh - 20px) !important;
min-height: -webkit-fill-available;
padding-top:80px !important;
}
html {
height: -webkit-fill-available;
}
/* Remove the animation to avoid delay */
.mobile_nav.opened .et_mobile_menu {
display:block !important;
}
.et_mobile_menu ul.sub-menu li.otsikko a {
    color: var(--gcid-primary-color) !important;
    font-size: 16px;
    font-weight: 600;
}
.et_mobile_menu ul.sub-menu li.otsikko ul li a {
    color: rgba(255, 255, 255, .8) !important;
    font-size: 14px;
    font-weight: ;
}
.et_mobile_menu ul.sub-menu li.otsikko ul li a::before {
    content: "\f178";
    font-family: 'Font Awesome 7 Pro' !important;
    font-style: normal;
    font-weight: 400;
    text-decoration: inherit;
    color: var(--gcid-primary-color) !important;
    padding-right: 1em;
    /* padding-left: 1em; */
    /* position: relative;
    top: 10px;
    left: 0px; */
    color: var(--gcid-9c1z8sppiy);
}



/* MEGAMENU */

.mobile_nav.opened .mobile_menu_bar:before {
 content: '\4d';
}
.et_mobile_menu .first-level > a {
background-color: transparent;
position: relative;
}
.et_mobile_menu .first-level > a:after {
font-family: 'ETmodules';
content: '\4c';
font-weight: normal;
position: absolute;
font-size: 18px;
top: 12px;
right: 25px;
}
.et_mobile_menu .first-level > .icon-switch:after{
content: '\4d';
}
.second-level {
display: none;
}
.reveal-items {
display: block;
}

.et-menu-nav li.mega-menu>ul {
    width: calc(100% + 20px);
    left: -20px !important;
}
.nav li ul {
    box-shadow: 0 10px 40px rgba(0, 0, 0, .05);
    -moz-box-shadow: 0 10px 40px rgba(0, 0, 0, .05);
    -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, .05);
}
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu {
  border-radius: var(--gvid-0viz4n3gxz);
  background-color: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  padding: 7vw;
}

.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li ul.sub-menu {
  background-color: rgba(255, 255, 255, 0.0) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
    padding: 0px !important;
}
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li ul.sub-menu li a:before {
    content: "\f178";
    font-family: 'Font Awesome 6 Pro' !important;
    font-style: normal;
    font-weight: 500;
    text-decoration: inherit;
    /* color: var(--asiakasvari); */
    padding-right: 1em;
    /* padding-left: 1em; */
    /* position: relative;
    top: 10px;
    left: 0px; */
    color: var(--gcid-9c1z8sppiy);

}
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li ul.sub-menu li a:hover {
  border-radius: 10px;
}
.et-menu-nav li.mega-menu>ul>li>a:first-child {
  border-bottom: 0px;
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: 700 !important;
}

.et-db #et-boc .et-l ul#menu-paavalikko li.mega-menu ul.sub-menu ul.sub-menu {
  background-color: rgba(255, 255, 255, .0) !important;
}


/* DIVI 5 Fixed Navi bugin korjaus */ 

@media (max-width: 767px) {
  .et_pb_section_0_tb_header.et_pb_sticky,
  .et_pb_section_0_tb_header {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    transform: none !important;
  }
}

/* Responsiiviset muutokset */

@media (min-width: 980px) {

}

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

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

  div.et_pb_title_container h1.entry-title {
    -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;
  }
}