@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@600;700;800&amp;family=Red+Hat+Text:wght@400;500;600;700&amp;display=swap');

body {
}

.ksk_top_wrapper {
  border-bottom-style: solid;
  padding-top: 0px;
  border-bottom-width: 5px;
}

.ksk_top_wrapper .ksk_container_wrapper {
  background-color: transparent;
  background-image: none;
  height: 0px;
}

.ksk_main_image_wrapper {
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  border-top-style: solid;
  border-top-width: 1px;
  background-position: top center;
  background-repeat: repeat;
  background-size: cover;
  background-color: transparent;
  display: none;
}

.ksk_main_image_wrapper .ksk_container_wrapper {
  background-image: none;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  height: 323px;
  padding-left: 37px;
}

.ksk_menu_wrapper {
  border-bottom-style: solid;
  border-top-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.ksk_menu_wrapper .ksk_container_wrapper_menu {
  background-color: transparent;
  background-image: none;
}

.ksk_menu_wrapper #menu ul li a.ksk_main_menu {
  margin-right: 0;
  margin-left: 0;
  line-height: 18px;
  text-decoration: none;
  text-transform: none;
  background-color: transparent;
  background-image: none;
  font-weight: normal;
  font-family: Open Sans;
  font-size: 15px;
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 17px;
  padding-bottom: 17px;
  border-left-style: solid;
  border-left-width: 1px;
  border-right-width: 1px;
  border-right-style: solid;
  padding-left: 16px;
  padding-right: 16px;
}

.ksk_menu_wrapper #menu ul li.active_link a.ksk_main_menu {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  background-image: none;
  border-left-style: solid;
  border-right-style: solid;
}

.ksk_menu_wrapper #menu ul li.mli:hover a.ksk_main_menu {
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  border-top-color: transparent;
  border-bottom-color: transparent;
  background-image: none;
  font-weight: normal;
  border-left-style: solid;
  border-right-style: solid;
}

.ksk_menu_wrapper #menu ul li ul {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  background-image: none;
  border-bottom-right-radius: 3px;
  -moz-border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  -moz-border-bottom-left-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}

.ksk_menu_wrapper #menu ul li ul li a.ksk_sub_menu {
  margin-top: 0;
  margin-right: 0px;
  margin-bottom: 0;
  margin-left: 0px;
  padding-right: 10px;
  line-height: 14px;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  border-top-style: solid;
  border-top-width: 1px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 15px;
  font-family: Open Sans;
  font-size: 13px;
  background-image: none;
  background-color: transparent;
}

.ksk_menu_wrapper #menu ul li ul li.mli:hover a.ksk_sub_menu {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  background-image: none;
}

.ksk_menu_wrapper #menu ul li ul li.active_link a.ksk_sub_menu {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-top-width: 1px;
  background-image: none;
}

.ksk_columns_wrapper .ksk-menu,
.ksk_columns_wrapper #left-bar .ksk-menu,
.ksk_columns_wrapper #right-bar .ksk-menu {
}

.ksk_columns_wrapper .ksk-menu #menu ul li a.ksk_main_menu,
.ksk_columns_wrapper #left-bar .ksk-menu #menu ul li a.ksk_main_menu,
.ksk_columns_wrapper #right-bar .ksk-menu #menu ul li a.ksk_main_menu {
  margin-right: 0;
  margin-left: 0;
  line-height: 18px;
  text-decoration: none;
  text-transform: none;
  background-color: transparent;
  background-image: none;
  font-weight: normal;
  font-family: Open Sans;
  font-size: 15px;
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  padding-left: 16px;
  padding-right: 16px;
}

.ksk_columns_wrapper .ksk-menu #menu ul li.mli:hover a.ksk_main_menu,
.ksk_columns_wrapper #left-bar .ksk-menu #menu ul li.mli:hover a.ksk_main_menu,
.ksk_columns_wrapper
  #right-bar
  .ksk-menu
  #menu
  ul
  li.mli:hover
  a.ksk_main_menu {
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  border-top-color: transparent;
  border-bottom-color: transparent;
  background-image: none;
  font-weight: normal;
  border-top-style: solid;
  border-bottom-style: solid;
}

.ksk_columns_wrapper .ksk-menu #menu ul li.active_link a.ksk_main_menu,
.ksk_columns_wrapper
  #left-bar
  .ksk-menu
  #menu
  ul
  li.active_link
  a.ksk_main_menu,
.ksk_columns_wrapper
  #right-bar
  .ksk-menu
  #menu
  ul
  li.active_link
  a.ksk_main_menu {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  background-image: none;
  border-top-style: solid;
  border-bottom-style: solid;
}
.ksk_columns_wrapper .ksk-menu #menu ul li ul,
.ksk_columns_wrapper #left-bar .ksk-menu #menu ul li ul,
.ksk_columns_wrapper #right-bar .ksk-menu #menu ul li ul {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  background-image: none;
  border-bottom-right-radius: 3px;
  -moz-border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  -moz-border-bottom-left-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}

.ksk_columns_wrapper .ksk-menu #menu ul li ul li a.ksk_sub_menu,
.ksk_columns_wrapper #left-bar .ksk-menu #menu ul li ul li a.ksk_sub_menu,
.ksk_columns_wrapper #right-bar .ksk-menu #menu ul li ul li a.ksk_sub_menu {
  margin-top: 0;
  margin-right: 0px;
  margin-bottom: 0;
  margin-left: 0px;
  padding-right: 10px;
  line-height: 14px;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  border-top-style: solid;
  border-top-width: 1px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 15px;
  font-family: Open Sans;
  font-size: 13px;
  background-image: none;
  background-color: transparent;
}

.ksk_columns_wrapper .ksk-menu #menu ul li ul li.mli:hover a.ksk_sub_menu,
.ksk_columns_wrapper
  #left-bar
  .ksk-menu
  #menu
  ul
  li
  ul
  li.mli:hover
  a.ksk_sub_menu,
.ksk_columns_wrapper
  #right-bar
  .ksk-menu
  #menu
  ul
  li
  ul
  li.mli:hover
  a.ksk_sub_menu {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  background-image: none;
}

.ksk_columns_wrapper .ksk-menu #menu ul li ul li.active_link a.ksk_sub_menu,
.ksk_columns_wrapper
  #left-bar
  .ksk-menu
  #menu
  ul
  li
  ul
  li.active_link
  a.ksk_sub_menu,
.ksk_columns_wrapper
  #right-bar
  .ksk-menu
  #menu
  ul
  li
  ul
  li.active_link
  a.ksk_sub_menu {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-top-width: 1px;
  background-image: none;
}

.ksk_columns_wrapper .ksk_container_wrapper {
  border-bottom-width: 5px;
  border-bottom-style: solid;
  padding-bottom: 47px;
}

.ksk_sidebars,
#left-bar,
#right-bar {
  width: 239px;
  margin-top: 18px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0px;
  background-image: none;
  border-top-left-radius: 3px;
  -moz-border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  -moz-border-top-right-radius: 3px;
  border-bottom-left-radius: 3px;
  -moz-border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  -moz-border-bottom-right-radius: 3px;
  padding-bottom: 10px;
}

#left-bar {
  margin-left: 0px;
  margin-right: 30px;
  width: 239px;
  margin-top: 18px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0px;
  background-image: none;
  border-top-left-radius: 3px;
  -moz-border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  -moz-border-top-right-radius: 3px;
  border-bottom-left-radius: 3px;
  -moz-border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  -moz-border-bottom-right-radius: 3px;
  padding-bottom: 10px;
}

#right-bar {
  margin-right: 0px;
  margin-left: 30px;
  margin-top: 18px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0px;
  background-image: none;
  border-top-left-radius: 3px;
  -moz-border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  -moz-border-top-right-radius: 3px;
  border-bottom-left-radius: 3px;
  -moz-border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  -moz-border-bottom-right-radius: 3px;
  padding-bottom: 10px;
}

.box,
#left-bar .box,
#right-bar .box {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding-right: 10px;
  padding-left: 10px;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
  border-top-style: none;
  border-bottom-style: none;
  border-left-style: none;
  border-right-style: none;
  padding-bottom: 0px;
  padding-top: 12px;
  background-image: none;
  background-color: #ffffff;
}

.box .header,
#left-bar .box .header,
#right-bar .box .header {
  background-color: transparent;
  padding: 10px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 0px;
  padding-left: 0px;
  border-top-style: none;
  border-right-style: none;
  border-left-width: 0px;
  border-left-style: none;
  border-bottom-style: none;
}

.box .header h2,
#left-bar .box .header h2,
#right-bar .box .header h2 {
  font-family: Open Sans;
  font-size: 19px;
  line-height: 22px;
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  overflow: hidden;
  text-align: left;
}

.box .content,
#left-bar .box .content,
#right-bar .box .content {
  font-family: Open Sans;
  font-size: 15px;
  line-height: 21px;
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  background-color: transparent;
  padding-top: 0px;
  padding-bottom: 12px;
  padding-right: 0px;
  padding-left: 0px;
  margin-top: 0px;
  text-align: left;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  margin-bottom: 0px;
  margin-left: 0px;
}

.box .content a,
#left-bar .box .content a,
#right-bar .box .content a {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
}

.box .content a:hover,
#left-bar .box .content a:hover,
#right-bar .box .content a:hover {
}

#content {
  background-color: transparent;
  background-image: none;
  font-family: Open Sans;
  font-size: 15px;
  line-height: 21px;
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
  width: 509px;
  text-align: left;
  margin-top: 20px;
}

#content a {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
}

#content a:hover {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
}

#content h2 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  line-height: 22px;
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
}

#content h2 a {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
}

#content h2 a:hover {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
}

#content h1 {
  font-family: 'PT Sans Narrow', sans-serif;
  font-size: 35px;
  line-height: 24px;
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-transform: none;
}

.ksk_footer_wrapper {
  padding-top: 30px;
  padding-bottom: 40px;
  background-image: none;
  background-color: transparent;
  border-top-left-radius: 0px;
  -moz-border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  -moz-border-top-right-radius: 0px;
  border-bottom-left-radius: 0px;
  -moz-border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  -moz-border-bottom-right-radius: 0px;
  border-top-style: none;
  border-bottom-style: none;
  border-left-style: none;
  border-right-style: none;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
}

#footer_content {
  font-family: Open Sans;
  line-height: 20px;
  text-align: center;
  font-size: 14px;
}

.ksk_footer_wrapper .ksk_container_wrapper {
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  border-top-left-radius: 3px;
  -moz-border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  -moz-border-top-right-radius: 3px;
  border-bottom-left-radius: 3px;
  -moz-border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  -moz-border-bottom-right-radius: 3px;
  padding-top: 19px;
  padding-bottom: 20px;
}

.ksk_footer_wrapper .ksk_container a {
  text-decoration: none;
}

.ksk_footer_wrapper .ksk_container a:hover {
}

.ksk_columns_wrapper {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 27px;
  padding-bottom: 0px;
  border-bottom-width: 0px;
  border-bottom-style: none;
  border-bottom-color: transparent;
  border-top-style: solid;
  border-top-width: 5px;
}

#columns #content.ksk_middle_area {
  width: 739px;
}
#content h1 {
  font-family: Open Sans;
  font-weight: normal;
  font-size: 35px;
  text-align: left;
  line-height: 36px;
}
#content h2 {
  font-family: Open Sans;
  line-height: 27px;
  text-align: left;
  font-size: 25px;
}
#left-bar .box {
  margin-bottom: 0px;
  padding-right: 10px;
  padding-left: 10px;
  margin-left: 0px;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
  border-top-style: none;
  border-bottom-style: none;
  border-left-style: none;
  border-right-style: none;
  padding-bottom: 0px;
  margin-right: 0px;
  padding-top: 12px;
  background-image: none;
  background-color: #ffffff;
}
#right-bar .box {
  margin-bottom: 0px;
  padding-right: 10px;
  padding-left: 10px;
  margin-left: 0px;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
  border-top-style: none;
  border-bottom-style: none;
  border-left-style: none;
  border-right-style: none;
  padding-bottom: 0px;
  margin-right: 0px;
  padding-top: 12px;
  background-image: none;
  background-color: #ffffff;
}
#left-bar .box .content {
  margin-top: 0px;
  padding-top: 0px;
  padding-bottom: 12px;
  padding-left: 0px;
  padding-right: 0px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  margin-bottom: 0px;
  margin-left: 0px;
}
#right-bar .box .content {
  margin-top: 0px;
  padding-top: 0px;
  padding-bottom: 12px;
  padding-left: 0px;
  padding-right: 0px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  margin-bottom: 0px;
  margin-left: 0px;
}
#left-bar .box .header {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 0px;
  padding-left: 0px;
  border-top-style: none;
  border-right-style: none;
  border-left-width: 0px;
  border-left-style: none;
  border-bottom-style: none;
}
#right-bar .box .header {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 0px;
  padding-left: 0px;
  border-top-style: none;
  border-right-style: none;
  border-left-width: 0px;
  border-left-style: none;
  border-bottom-style: none;
}
.primary_button {
  font-family: Open Sans;
  font-size: 14px;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 4px;
  padding-top: 4px;
  border-top-left-radius: 2px;
  -moz-border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  -moz-border-top-right-radius: 2px;
  border-bottom-left-radius: 2px;
  -moz-border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  -moz-border-bottom-right-radius: 2px;
  font-weight: normal;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
}
.primary_button:hover {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 30px;
  padding-right: 30px;
  border-top-left-radius: 2px;
  -moz-border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  -moz-border-top-right-radius: 2px;
  border-bottom-left-radius: 2px;
  -moz-border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  -moz-border-bottom-right-radius: 2px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  background-image: none;
}
.secondary_button {
  font-size: 14px;
  padding-top: 4px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 4px;
  font-family: Open Sans;
  border-top-left-radius: 2px;
  -moz-border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  -moz-border-top-right-radius: 2px;
  border-bottom-left-radius: 2px;
  -moz-border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  -moz-border-bottom-right-radius: 2px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
}
.secondary_button:hover {
  font-family: Open Sans;
  font-size: 14px;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  border-top-left-radius: 2px;
  -moz-border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  -moz-border-top-right-radius: 2px;
  border-bottom-left-radius: 2px;
  -moz-border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  -moz-border-bottom-right-radius: 2px;
  padding-bottom: 4px;
  padding-top: 4px;
  padding-right: 30px;
  padding-left: 30px;
  background-image: none;
}
.box a:hover,
#left-bar .box a:hover,
#right-bar .box a:hover {
}
.box a,
#left-bar .box a,
#right-bar .box a {
}
body.frontpage .ksk_main_image_wrapper {
}

body {
  background-image: none;
  background-color: #ffffff;
}

.ksk_top_wrapper {
  border-bottom-color: #e4e4e4;
  background-image: none;
  background-color: transparent;
  margin-left: 0px;
  padding-right: 3px;
  padding-left: 0px;
}

.ksk_main_image_wrapper {
  border-top-color: #ffffff;
  display: none;
  background-image: url(/files/svirtane.kotisivukone.com/Samilla_on_vahva_tieto_asiantuntemus_ja_taito_perustella_asiat._Luotan_Samiin._495_x_260_px.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: transparent;
}

.ksk_menu_wrapper {
  border-bottom-color: #ffffff;
  border-top-color: #ffffff;
  background-image: none;
  background-image: -webkit-gradient(
    linear,
    center top,
    center bottom,
    from(#cb4040),
    to(#b02c2c)
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#cb4040, endColorstr=#b02c2c);
  background-image: -webkit-linear-gradient(top, #cb4040, #b02c2c);
  background-image: -moz-linear-gradient(top, #cb4040, #b02c2c);
  background-image: -o-linear-gradient(top, #cb4040, #b02c2c);
  background-image: -ms-linear-gradient(top, #cb4040, #b02c2c);
  background-image: linear-gradient(top, #cb4040, #b02c2c);
  margin-left: 0px;
  margin-right: 0px;
}

.ksk_menu_wrapper #menu ul li a.ksk_main_menu {
  color: #ffffff;
  border-right-color: #ad2929;
  border-left-color: #c14f4f;
  background-image: none;
  background-color: transparent;
}

.ksk_menu_wrapper #menu ul li.active_link a.ksk_main_menu {
  color: #ffffff;
  border-left-color: #c14f4f;
  border-right-color: #992121;
  background-image: none;
  background-color: transparent;
}

.ksk_menu_wrapper #menu ul li.mli:hover a.ksk_main_menu {
  color: #ffffff;
  background-image: none;
  background-color: #b02c2c;
  border-right-color: #ad2929;
  border-left-color: #ad2929;
}

.ksk_menu_wrapper #menu ul li ul {
  background-image: none;
  background-color: #b02c2c;
}

.ksk_menu_wrapper #menu ul li ul li a.ksk_sub_menu {
  color: #ffffff;
  border-bottom-color: #a02323;
  border-top-color: #bf3737;
}

.ksk_menu_wrapper #menu ul li ul li.mli:hover a.ksk_sub_menu {
  color: #e9f2f8;
  background-image: none;
  background-color: #cb4040;
  border-bottom-color: #a02323;
  border-top-color: #bf3737;
}

.ksk_menu_wrapper #menu ul li ul li.active_link a.ksk_sub_menu {
  color: #ffffff;
  background-image: none;
  background-color: #973131;
  border-top-color: #901c1c;
  border-bottom-color: #901c1c;
}

.ksk_columns_wrapper .ksk-menu,
.ksk_columns_wrapper #left-bar .ksk-menu,
.ksk_columns_wrapper #right-bar .ksk-menu {
  background-image: none;
  background-image: -webkit-gradient(
    linear,
    center top,
    center bottom,
    from(#b02c2c),
    to(#973131)
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b02c2c, endColorstr=#973131);
  background-image: -webkit-linear-gradient(top, #b02c2c, #973131);
  background-image: -moz-linear-gradient(top, #b02c2c, #973131);
  background-image: -o-linear-gradient(top, #b02c2c, #973131);
  background-image: -ms-linear-gradient(top, #b02c2c, #973131);
  background-image: linear-gradient(top, #b02c2c, #973131);
}

.ksk_columns_wrapper .ksk-menu #menu ul li a.ksk_main_menu,
.ksk_columns_wrapper #left-bar .ksk-menu #menu ul li a.ksk_main_menu,
.ksk_columns_wrapper #right-bar .ksk-menu #menu ul li a.ksk_main_menu {
  color: #ffffff;
  border-top-color: #b34242;
  border-bottom-color: #942323;
}

.ksk_columns_wrapper .ksk-menu #menu ul li.mli:hover a.ksk_main_menu,
.ksk_columns_wrapper #left-bar .ksk-menu #menu ul li.mli:hover a.ksk_main_menu,
.ksk_columns_wrapper
  #right-bar
  .ksk-menu
  #menu
  ul
  li.mli:hover
  a.ksk_main_menu {
  color: #ffffff;
  background-image: none;
  background-color: #be3333;
  border-top-color: #be3333;
  border-bottom-color: #942323;
}

.ksk_columns_wrapper .ksk-menu #menu ul li.active_link a.ksk_main_menu,
.ksk_columns_wrapper
  #left-bar
  .ksk-menu
  #menu
  ul
  li.active_link
  a.ksk_main_menu,
.ksk_columns_wrapper
  #right-bar
  .ksk-menu
  #menu
  ul
  li.active_link
  a.ksk_main_menu {
  color: #ffffff;
  background-image: none;
  background-color: #8d2a2a;
  border-bottom-color: #912525;
  border-top-color: #8b1b1b;
}
.ksk_columns_wrapper .ksk-menu #menu ul li ul,
.ksk_columns_wrapper #left-bar .ksk-menu #menu ul li ul,
.ksk_columns_wrapper #right-bar .ksk-menu #menu ul li ul {
  background-image: none;
  background-color: #be3333;
}

.ksk_columns_wrapper .ksk-menu #menu ul li ul li a.ksk_sub_menu,
.ksk_columns_wrapper #left-bar .ksk-menu #menu ul li ul li a.ksk_sub_menu,
.ksk_columns_wrapper #right-bar .ksk-menu #menu ul li ul li a.ksk_sub_menu {
  color: #ffffff;
  border-top-color: #d83e3e;
  border-bottom-color: #a02323;
}

.ksk_columns_wrapper .ksk-menu #menu ul li ul li.mli:hover a.ksk_sub_menu,
.ksk_columns_wrapper
  #left-bar
  .ksk-menu
  #menu
  ul
  li
  ul
  li.mli:hover
  a.ksk_sub_menu,
.ksk_columns_wrapper
  #right-bar
  .ksk-menu
  #menu
  ul
  li
  ul
  li.mli:hover
  a.ksk_sub_menu {
  color: #e9f2f8;
  background-image: none;
  background-color: #b92c2c;
  border-bottom-color: #ad1919;
  border-top-color: #ce3535;
}

.ksk_columns_wrapper .ksk-menu #menu ul li ul li.active_link a.ksk_sub_menu,
.ksk_columns_wrapper
  #left-bar
  .ksk-menu
  #menu
  ul
  li
  ul
  li.active_link
  a.ksk_sub_menu,
.ksk_columns_wrapper
  #right-bar
  .ksk-menu
  #menu
  ul
  li
  ul
  li.active_link
  a.ksk_sub_menu {
  color: #ffffff;
  background-image: none;
  background-color: #912525;
  border-top-color: #901414;
  border-bottom-color: #901414;
}

.ksk_columns_wrapper .ksk_container_wrapper {
  border-bottom-color: #b02c2c;
}

.ksk_sidebars,
#left-bar,
#right-bar {
  border-top-color: #d7d7d7;
  border-bottom-color: #d7d7d7;
  border-left-color: #d7d7d7;
  border-right-color: #d7d7d7;
  background-color: #f5f5f5;
}

#left-bar {
  border-top-color: #d7d7d7;
  border-bottom-color: #d7d7d7;
  border-left-color: #d7d7d7;
  border-right-color: #d7d7d7;
  background-color: #f5f5f5;
}

#right-bar {
  border-top-color: #d7d7d7;
  border-bottom-color: #d7d7d7;
  border-left-color: #d7d7d7;
  border-right-color: #d7d7d7;
  background-color: #f5f5f5;
}

.box .header h2,
#left-bar .box .header h2,
#right-bar .box .header h2 {
  color: #6f6f6f;
}
.box .content,
#left-bar .box .content,
#right-bar .box .content {
  color: #6f6f6f;
  border-bottom-color: rgba(0, 0, 0, 0.09);
}

.box .content a,
#left-bar .box .content a,
#right-bar .box .content a {
  color: #b02c2c;
}

.box .content a:hover,
#left-bar .box .content a:hover,
#right-bar .box .content a:hover {
  color: #cb4040;
}

#content {
  color: #6f6f6f;
}
#content a {
  color: #973131;
}
#content a:hover {
  color: #cb4040;
}
#content h2 {
  color: #6f6f6f;
}
#content h2 a {
  color: #973131;
}
#content h2 a:hover {
  color: #cb4040;
}

#content h1 {
  color: #6f6f6f;
}

#footer_content {
  color: #6f6f6f;
}

.ksk_footer_wrapper .ksk_container_wrapper {
  border-top-color: #d7d7d7;
  border-bottom-color: #d7d7d7;
  border-left-color: #d7d7d7;
  border-right-color: #d7d7d7;
  background-image: none;
  background-color: #f5f5f5;
}

.ksk_footer_wrapper .ksk_container a {
  color: #973131;
}

.ksk_footer_wrapper .ksk_container a:hover {
  color: #b02c2c;
}
.ksk_columns_wrapper {
  border-top-color: #e4e4e4;
  padding-top: 0px;
}

#left-bar .box .content {
  border-bottom-color: rgba(0, 0, 0, 0.09);
}
#right-bar .box .content {
  border-bottom-color: rgba(0, 0, 0, 0.09);
}
.primary_button {
  color: #ffffff;
  background-image: none;
  background-image: -webkit-gradient(
    linear,
    center top,
    center bottom,
    from(#b02c2c),
    to(#973131)
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b02c2c, endColorstr=#973131);
  background-image: -webkit-linear-gradient(top, #b02c2c, #973131);
  background-image: -moz-linear-gradient(top, #b02c2c, #973131);
  background-image: -o-linear-gradient(top, #b02c2c, #973131);
  background-image: -ms-linear-gradient(top, #b02c2c, #973131);
  background-image: linear-gradient(top, #b02c2c, #973131);
  border-top-color: #b02c2c;
  border-bottom-color: #b02c2c;
  border-left-color: #b02c2c;
  border-right-color: #b02c2c;
}
.primary_button:hover {
  color: #ffffff;
  background-image: none;
  background-color: #973131;
  border-top-color: #973131;
  border-bottom-color: #973131;
  border-left-color: #973131;
  border-right-color: #973131;
}
.secondary_button {
  color: #ffffff;
  border-top-color: #999999;
  border-bottom-color: #999999;
  border-left-color: #999999;
  border-right-color: #999999;
  background-image: none;
  background-image: -webkit-gradient(
    linear,
    center top,
    center bottom,
    from(#bbbbbb),
    to(#999999)
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#bbbbbb, endColorstr=#999999);
  background-image: -webkit-linear-gradient(top, #bbbbbb, #999999);
  background-image: -moz-linear-gradient(top, #bbbbbb, #999999);
  background-image: -o-linear-gradient(top, #bbbbbb, #999999);
  background-image: -ms-linear-gradient(top, #bbbbbb, #999999);
  background-image: linear-gradient(top, #bbbbbb, #999999);
}
.secondary_button:hover {
  color: #ffffff;
  border-top-color: #999999;
  border-bottom-color: #999999;
  border-left-color: #999999;
  border-right-color: #999999;
  background-color: #999999;
}

.box a:hover,
#left-bar .box a:hover,
#right-bar .box a:hover {
  color: #788f64;
}
.box a,
#left-bar .box a,
#right-bar .box a {
  color: #6fa440;
}
#left-bar .box .content a {
  color: #b02c2c;
}
#right-bar .box .content a {
  color: #b02c2c;
}
#left-bar .box .content a:hover {
  color: #cb4040;
}
#right-bar .box .content a:hover {
  color: #cb4040;
}

.ksk_container {
  width: 1011px;
  max-width: 1011px;
}

:root {
  --sami-red: #ff0032;
  --sami-red-dark: #be0028;
  --sami-red-soft: #de7f93;
  --sami-navy: #0a2850;
  --sami-green: #0a4632;
  --sami-orange: #ff8200;
  --sami-ink: #1a1a1a;
  --sami-muted: #5e6470;
  --sami-cream: #fffaf2;
  --sami-white: #ffffff;
  --sami-line: #e8e3db;
  --sami-radius: 22px;
  --sami-shadow: 0 16px 42px rgba(10, 40, 80, 0.09);
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--sami-cream);
  color: var(--sami-ink);
  font-family: 'Red Hat Text', 'Open Sans', Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

.ksk_container,
.ksk_container_wrapper,
.ksk_container_wrapper_menu {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ksk_top_wrapper {
  border: 0 !important;
  padding: 0 !important;
  background: var(--sami-cream) !important;
}

.ksk_top_wrapper .ksk_container_wrapper {
  height: auto !important;
  min-height: 0 !important;
}

.ksk_main_image_wrapper {
  display: none !important;
}

.ksk_menu_wrapper {
  position: relative;
  z-index: 20;
  border: 0 !important;
  background: rgba(255, 250, 242, 0.96) !important;
  box-shadow: 0 1px 0 var(--sami-line);
}

.ksk_menu_wrapper .ksk_container_wrapper_menu {
  background: transparent !important;
}

.ksk_menu_wrapper #menu ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 12px 0;
}

.ksk_menu_wrapper #menu ul li a.ksk_main_menu {
  border: 0 !important;
  border-radius: 999px;
  margin: 0 !important;
  padding: 11px 15px !important;
  background: transparent !important;
  color: var(--sami-ink) !important;
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.ksk_menu_wrapper #menu ul li.active_link a.ksk_main_menu,
.ksk_menu_wrapper #menu ul li.mli:hover a.ksk_main_menu {
  border: 0 !important;
  background: var(--sami-red) !important;
  color: var(--sami-white) !important;
  transform: translateY(-1px);
}

/* Päävalikon alasivut: vanhan teeman punainen pudotusvalikko korvataan. */
.ksk_menu_wrapper #menu ul li ul {
  display: block;
  min-width: 210px;
  padding: 8px !important;
  border: 1px solid var(--sami-line) !important;
  border-radius: 0 14px 14px 14px !important;
  background: var(--sami-white) !important;
  background-image: none !important;
  box-shadow: 0 14px 34px rgba(10, 40, 80, 0.14) !important;
}

.ksk_menu_wrapper #menu ul li ul li {
  display: block;
  width: 100%;
}

.ksk_menu_wrapper #menu ul li ul li a.ksk_sub_menu {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--sami-ink) !important;
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.ksk_menu_wrapper #menu ul li ul li.mli:hover a.ksk_sub_menu,
.ksk_menu_wrapper #menu ul li ul li.active_link a.ksk_sub_menu {
  border: 0 !important;
  background: rgba(255, 0, 50, 0.08) !important;
  color: var(--sami-red) !important;
}

.ksk_columns_wrapper {
  border: 0 !important;
  padding: 36px 0 64px !important;
  background: var(--sami-cream) !important;
}

#columns {
  display: flex;
  align-items: flex-start;
  gap: 34px;
}

#columns #content.ksk_middle_area,
#content {
  min-width: 0;
  color: var(--sami-ink) !important;
  font-family: 'Red Hat Text', 'Open Sans', Arial, sans-serif !important;
  font-size: 17px;
  line-height: 1.7;
}

#content h1,
#content h2,
#content h3,
#content h4,
.box .header h2 {
  color: var(--sami-ink) !important;
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif !important;
  font-weight: 800 !important;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

#content h1 {
  font-size: clamp(38px, 6vw, 72px);
}
#content h2 {
  font-size: clamp(28px, 4vw, 42px);
}
#content h3 {
  font-size: clamp(22px, 3vw, 29px);
}

#content a {
  color: var(--sami-red) !important;
}
#content a:hover {
  color: var(--sami-red-dark) !important;
}

#right-bar {
  flex: 0 0 270px;
  width: 270px !important;
  border: 0 !important;
  border-radius: var(--sami-radius);
  background: var(--sami-white) !important;
  box-shadow: var(--sami-shadow);
  overflow: hidden;
}

/* Uudella etusivulla ei kayteta vanhaa oikeaa sivupalkkia. */
body:has(.sami-home) #right-bar,
body:has(.sami-page) #right-bar {
  display: none !important;
}

body:has(.sami-home) #columns #content.ksk_middle_area,
body:has(.sami-home) #content,
body:has(.sami-page) #columns #content.ksk_middle_area,
body:has(.sami-page) #content {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100% !important;
}

#right-bar .box {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 18px !important;
  background: transparent !important;
  box-shadow: none !important;
}

#right-bar .box .header,
#right-bar .box .content {
  border-color: var(--sami-line) !important;
  background: transparent !important;
}

.box .content,
#left-bar .box .content,
#right-bar .box .content,
#footer_content {
  font-family: 'Red Hat Text', 'Open Sans', Arial, sans-serif !important;
}

/* Vanha Facebook-syote piilotetaan. Somekortit korvaavat sen. */
#right-bar iframe[src*='facebook'],
#right-bar .fb-page,
#right-bar .fb_iframe_widget {
  display: none !important;
}

.primary_button,
.secondary_button,
.sami-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 2px solid var(--sami-red) !important;
  border-radius: 999px !important;
  padding: 11px 22px !important;
  background: var(--sami-red) !important;
  background-image: none !important;
  color: var(--sami-white) !important;
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif !important;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: none !important;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease;
}

.primary_button:hover,
.secondary_button:hover,
.sami-button:hover {
  border-color: var(--sami-red-dark) !important;
  background: var(--sami-red-dark) !important;
  color: var(--sami-white) !important;
  transform: translateY(-2px);
}

.sami-button--outline {
  background: transparent !important;
  color: var(--sami-red) !important;
}

.sami-button--outline:hover {
  color: var(--sami-white) !important;
}

/* Sivupohjan yleinen linkkiväri on tätä tarkempi, joten painikkeet varmistetaan erikseen. */
#content a.sami-button {
  color: var(--sami-white) !important;
}
#content a.sami-button--outline {
  color: var(--sami-red) !important;
}
#content a.sami-button--outline:hover {
  color: var(--sami-white) !important;
}

.ksk_footer_wrapper {
  border: 0 !important;
  background: var(--sami-navy) !important;
}

.ksk_footer_wrapper .ksk_container_wrapper {
  border: 0 !important;
  background: transparent !important;
}

#footer_content,
.ksk_footer_wrapper .ksk_container,
.ksk_footer_wrapper .ksk_container a {
  color: var(--sami-white) !important;
}

/* ---------- Etusivun kampanjarakenne ---------- */

.sami-home {
  color: var(--sami-ink);
}

.sami-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
  min-height: 540px;
  padding: clamp(32px, 5vw, 60px);
  border-radius: 0 0 76px 0;
  background: var(--sami-white);
  overflow: hidden;
}

.sami-hero--text {
  grid-template-columns: 1fr;
  min-height: 0;
  background: var(--sami-white);
}

.sami-hero--text .sami-hero__content {
  max-width: 880px;
}

.sami-eyebrow {
  margin: 0 0 12px;
  color: var(--sami-navy);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sami-hero h1 {
  margin: 0;
  color: var(--sami-red) !important;
  font-size: clamp(46px, 7vw, 86px) !important;
}

.sami-tagline {
  display: block;
  color: var(--sami-ink);
}

.sami-lead {
  max-width: 650px;
  margin: 22px 0 0;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.55;
}

.sami-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.sami-hero__media {
  position: relative;
  align-self: stretch;
  min-height: 420px;
  border-radius: 70px 0 70px 0;
  background: var(--sami-navy);
  overflow: hidden;
}

.sami-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  object-position: center top;
}

.sami-hero__mark {
  position: absolute;
  right: 18px;
  bottom: 14px;
  width: 82px;
  opacity: 0.95;
}

.sami-section {
  padding: clamp(40px, 5vw, 64px) 0;
}

.sami-section__head {
  max-width: 760px;
  margin-bottom: 30px;
}

.sami-section__head h2 {
  margin: 0 0 12px;
}

.sami-priorities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.sami-priority {
  min-height: 245px;
  padding: 28px;
  border-radius: var(--sami-radius) 0 var(--sami-radius) 0;
  background: var(--sami-white);
  box-shadow: var(--sami-shadow);
}

.sami-priority:nth-child(1) {
  border-top: 8px solid var(--sami-red);
}
.sami-priority:nth-child(2) {
  border-top: 8px solid var(--sami-navy);
}
.sami-priority:nth-child(3) {
  border-top: 8px solid var(--sami-green);
}
.sami-priority h3 {
  margin: 0 0 14px;
}
.sami-priority p {
  margin: 0;
}

/* ---------- Lyhyt Sami-esittely etusivulla ---------- */

.sami-about-preview {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
  margin: clamp(18px, 3vw, 34px) 0 clamp(22px, 3vw, 34px);
  border-radius: 42px 0 42px 0;
  background: var(--sami-white);
  box-shadow: var(--sami-shadow);
  overflow: hidden;
}

.sami-about-preview__main {
  padding: clamp(32px, 5vw, 58px);
}

#content .sami-about-preview__main h2 {
  max-width: 760px;
  margin: 0 0 20px;
  color: var(--sami-ink) !important;
}

.sami-about-preview__main &gt; p:not(.sami-eyebrow) {
  max-width: 760px;
  margin: 0 0 16px;
}

.sami-about-preview__main .sami-button {
  margin-top: 10px;
}

.sami-about-preview__facts {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: clamp(30px, 4vw, 48px);
  background: var(--sami-navy);
  color: var(--sami-white);
}

.sami-about-preview__label {
  margin: 0 0 8px;
  color: var(--sami-orange);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sami-about-preview__facts p:not(.sami-about-preview__label) {
  margin: 0;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.sami-about-preview__facts p:last-child {
  border-bottom: 0;
}
.sami-about-preview__facts strong,
.sami-about-preview__facts span {
  display: block;
}
.sami-about-preview__facts strong {
  color: var(--sami-white);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: 19px;
  font-weight: 700;
}
.sami-about-preview__facts span {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  line-height: 1.45;
}

/* ---------- Tuoreimmat kirjoitukset ---------- */

.sami-latest {
  padding: clamp(40px, 5vw, 64px) 0;
}

/* Peräkkäisten osioiden pystytyhjä tila pidetään napakkana. */
.sami-section + .sami-latest {
  padding-top: 20px;
}
.sami-about-preview + .sami-latest {
  padding-top: 28px;
}

/* ---------- Sami-alasivu ---------- */

.sami-page {
  color: var(--sami-ink);
}

.sami-profile__hero {
  padding: clamp(38px, 7vw, 80px);
  border-radius: 0 0 76px 0;
  background: var(--sami-white);
}

#content .sami-profile__hero h1 {
  max-width: 950px;
  margin: 0;
  color: var(--sami-ink) !important;
  font-size: clamp(44px, 7vw, 82px) !important;
}

.sami-profile__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(270px, 0.7fr);
  gap: 22px;
  padding: clamp(42px, 6vw, 76px) 0;
}

.sami-profile__content,
.sami-profile__section {
  max-width: 820px;
}

#content .sami-profile h2 {
  margin: 0 0 20px;
  color: var(--sami-ink) !important;
}

.sami-profile__content &gt; p:not(.sami-eyebrow),
.sami-profile__section &gt; p:not(.sami-eyebrow) {
  margin: 0 0 18px;
  font-size: 18px;
  line-height: 1.7;
}

.sami-profile__summary {
  align-self: start;
  padding: 30px;
  border-radius: var(--sami-radius) 0 var(--sami-radius) 0;
  background: var(--sami-navy);
  color: var(--sami-white);
  box-shadow: var(--sami-shadow);
}

.sami-profile__summary-title {
  margin: 0 0 18px;
  color: var(--sami-orange);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: 21px;
  font-weight: 800;
}

.sami-profile__summary dl {
  margin: 0;
}
.sami-profile__summary dl div {
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.sami-profile__summary dt {
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sami-profile__summary dd {
  margin: 3px 0 0;
  color: var(--sami-white);
  font-weight: 600;
}

.sami-profile__section {
  margin: 0 0 clamp(42px, 7vw, 82px);
}

.sami-profile__section--accent {
  max-width: none;
  padding: clamp(34px, 6vw, 68px);
  border-radius: 42px 0 42px 0;
  background: var(--sami-white);
  box-shadow: var(--sami-shadow);
}

.sami-profile__section blockquote {
  max-width: 820px;
  margin: 30px 0 0;
  padding: 6px 0 6px 24px;
  border-left: 6px solid var(--sami-red);
  color: var(--sami-navy);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 700;
  line-height: 1.25;
}

.sami-profile__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: 0 0 30px;
  padding: clamp(30px, 5vw, 54px);
  border-radius: 42px 0 42px 0;
  background: var(--sami-navy);
  color: var(--sami-white);
}

#content .sami-profile__cta h2 {
  margin: 0 0 10px;
  color: var(--sami-white) !important;
}
.sami-profile__cta p {
  margin: 0;
}
.sami-profile__cta .sami-eyebrow {
  color: var(--sami-orange);
}
.sami-profile__cta .sami-button {
  flex: none;
}

.sami-latest__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

#content a.sami-article {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  padding: 26px;
  border: 1px solid var(--sami-line);
  border-radius: var(--sami-radius) 0 var(--sami-radius) 0;
  background: var(--sami-white);
  color: var(--sami-ink) !important;
  text-decoration: none !important;
  box-shadow: var(--sami-shadow);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease;
}

#content a.sami-article:hover {
  border-color: var(--sami-red);
  color: var(--sami-ink) !important;
  transform: translateY(-4px);
}

.sami-article time {
  color: var(--sami-muted);
  font-size: 13px;
  font-weight: 600;
}

.sami-article h3 {
  margin: 12px 0;
  font-size: 23px !important;
}

.sami-article p {
  margin: 0;
  color: var(--sami-muted);
  font-size: 15px;
}

.sami-article__more {
  margin-top: auto;
  padding-top: 18px;
  color: var(--sami-red);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-weight: 700;
}

.sami-latest__all {
  margin-top: 24px;
}

/* ---------- Moderni someosio ---------- */

.sami-social {
  position: relative;
  margin: 26px 0;
  padding: clamp(32px, 6vw, 64px);
  border-radius: 42px 0 42px 0;
  background: var(--sami-navy);
  color: var(--sami-white);
  overflow: hidden;
}

.sami-social::after {
  content: '';
  position: absolute;
  right: -80px;
  top: -95px;
  width: 260px;
  height: 260px;
  border: 44px solid rgba(255, 255, 255, 0.06);
  border-radius: 50%;
  pointer-events: none;
}

.sami-social__intro {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

#content .sami-social__intro h2 {
  margin: 0 0 12px;
  color: var(--sami-orange) !important;
}

.sami-social__intro p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
}

.sami-social__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

#content a.sami-social__card {
  display: flex;
  min-height: 154px;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px 0 18px 0;
  background: rgba(255, 255, 255, 0.08);
  color: var(--sami-white) !important;
  text-decoration: none !important;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease;
}

#content a.sami-social__card:hover {
  border-color: rgba(255, 255, 255, 0.48);
  background: var(--sami-red);
  color: var(--sami-white) !important;
  transform: translateY(-4px);
}

.sami-social__icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 13px 0 13px 0;
  background: var(--sami-white);
  color: var(--sami-navy);
}

.sami-social__icon svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}

.sami-social__name {
  display: block;
  margin-top: 18px;
  font-size: 17px;
  font-weight: 800;
}

.sami-social__handle {
  display: block;
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  line-height: 1.35;
}

.sami-social__note {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.sami-social__note p {
  margin: 0;
}

#content .sami-social__note a.sami-button {
  flex: none;
  border-color: var(--sami-white) !important;
  background: var(--sami-white) !important;
  color: var(--sami-navy) !important;
}

#content .sami-social__note a.sami-button:hover {
  border-color: var(--sami-red) !important;
  background: var(--sami-red) !important;
  color: var(--sami-white) !important;
}

@media (max-width: 1050px) {
  .sami-social__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sami-priorities {
    grid-template-columns: 1fr;
  }
  .sami-latest__grid {
    grid-template-columns: 1fr;
  }
  .sami-about-preview {
    grid-template-columns: 1fr;
  }
  .sami-profile__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .ksk_container,
  .ksk_container_wrapper,
  .ksk_container_wrapper_menu {
    width: min(100% - 28px, 1180px) !important;
  }

  #columns {
    display: block;
  }

  #right-bar {
    width: 100% !important;
    margin-top: 30px;
  }

  .sami-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 30px;
    border-radius: 0 0 42px 0;
  }

  .sami-hero__media {
    min-height: 360px;
  }
  .sami-hero__media img {
    min-height: 360px;
  }
  .sami-social__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sami-profile__cta {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  body {
    font-size: 16px;
  }

  .ksk_menu_wrapper #menu ul {
    gap: 2px;
    padding: 8px 0;
  }

  .ksk_menu_wrapper #menu ul li a.ksk_main_menu {
    padding: 9px 11px !important;
    font-size: 13px !important;
  }

  .ksk_columns_wrapper {
    padding-top: 18px !important;
  }
  .sami-hero {
    padding: 24px 20px;
  }
  .sami-hero h1 {
    font-size: 44px !important;
  }
  .sami-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .sami-button {
    width: 100%;
  }
  .sami-hero__media,
  .sami-hero__media img {
    min-height: 300px;
  }
  .sami-social {
    padding: 30px 20px;
    border-radius: 28px 0 28px 0;
  }
  .sami-social__grid {
    grid-template-columns: 1fr;
  }
  #content a.sami-social__card {
    min-height: 116px;
  }
  .sami-social__note {
    align-items: stretch;
    flex-direction: column;
  }
  .sami-about-preview {
    border-radius: 28px 0 28px 0;
  }
  .sami-about-preview__main,
  .sami-about-preview__facts {
    padding: 28px 20px;
  }
  .sami-profile__hero {
    padding: 32px 20px;
    border-radius: 0 0 42px 0;
  }
  #content .sami-profile__hero h1 {
    font-size: 42px !important;
  }
  .sami-profile__section--accent,
  .sami-profile__cta {
    padding: 30px 20px;
    border-radius: 28px 0 28px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition: none !important;
  }
}

/* ---------- Sami-sivun lopullinen tiivistys ---------- */

.sami-profile__hero {
  padding: clamp(32px, 5vw, 58px);
}

#content .sami-profile__hero h1 {
  max-width: 900px;
  font-size: clamp(42px, 5.8vw, 68px) !important;
  line-height: 0.98 !important;
}

.sami-profile__hero .sami-lead {
  max-width: 850px;
  margin-top: 24px;
}

.sami-profile__grid {
  align-items: start;
  padding: clamp(30px, 4vw, 48px) 0;
}

.sami-profile__summary {
  padding: 24px 28px;
}

.sami-profile__summary-title {
  margin-bottom: 12px;
}

.sami-profile__summary dl div {
  padding: 10px 0;
}

@media (max-width: 760px) {
  .sami-profile__hero {
    padding: 28px 20px;
  }
  #content .sami-profile__hero h1 {
    font-size: 40px !important;
  }
  .sami-profile__grid {
    padding: 28px 0 36px;
  }
}

/* Vanhan alatunnistevuoden automaattinen korvaus. */
#footer_content {
  font-size: 0 !important;
  text-align: center !important;
}

#footer_content::after {
  content: 'Copyright 2026 Sami Virtanen | Eduskuntavaaliehdokas | SDP | Kaakkois-Suomi';
  display: block;
  padding: 30px 16px;
  color: #ffffff;
  font-family: 'Red Hat Text', 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

/* Vanha oikea sivupalkki pois kaikilta sivuilta, myös blogista. */
#right-bar {
  display: none !important;
}

#columns #content.ksk_middle_area,
#content {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100% !important;
}

/* Etusivukoneen automaattinen vanha blogilista pois vain uudelta etusivulta. */
body:has(.sami-home) .kskpages_container &gt; .inner.blogposts {
  display: none !important;
}

/* ---------- Sami- ja Tavoitteet-alasivujen viimeistely ---------- */

.sami-goals__hero {
  padding: clamp(38px, 7vw, 80px);
  border-radius: 0 0 76px 0;
  background: var(--sami-white);
}

#content .sami-goals__hero h1 {
  max-width: 980px;
  margin: 0;
  color: var(--sami-ink) !important;
  font-size: clamp(44px, 7vw, 82px) !important;
}

.sami-goals__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: clamp(34px, 5vw, 58px) 0;
}

#content .sami-goals__nav a {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 92px;
  padding: 20px;
  border: 1px solid var(--sami-line);
  border-radius: var(--sami-radius) 0 var(--sami-radius) 0;
  background: var(--sami-white);
  color: var(--sami-ink) !important;
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: var(--sami-shadow);
}

.sami-goals__nav a:hover {
  transform: translateY(-3px);
}
.sami-goals__nav span,
.sami-principles__grid article &gt; span {
  display: inline-grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--sami-red);
  color: var(--sami-white);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-weight: 800;
}

.sami-goal {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  margin-bottom: 26px;
  border-radius: 42px 0 42px 0;
  background: var(--sami-white);
  box-shadow: var(--sami-shadow);
  overflow: hidden;
}

.sami-goal__heading,
.sami-goal__body {
  padding: clamp(30px, 5vw, 56px);
}
.sami-goal__heading {
  border-top: 9px solid var(--sami-red);
}
.sami-goal--navy .sami-goal__heading {
  border-color: var(--sami-navy);
}
.sami-goal--green .sami-goal__heading {
  border-color: var(--sami-green);
}
.sami-goal__body {
  background: rgba(255, 250, 242, 0.65);
}

#content .sami-goal h2 {
  margin: 0 0 20px;
  color: var(--sami-ink) !important;
}
#content .sami-goal h3 {
  margin: 0 0 18px;
  color: var(--sami-ink) !important;
  font-size: 24px !important;
}
.sami-goal__lead {
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
}

.sami-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sami-checklist li {
  position: relative;
  margin: 0;
  padding: 0 0 16px 30px;
  line-height: 1.6;
}
.sami-checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--sami-red);
}
.sami-goal--navy .sami-checklist li::before {
  background: var(--sami-navy);
}
.sami-goal--green .sami-checklist li::before {
  background: var(--sami-green);
}

.sami-region {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: clamp(30px, 5vw, 64px);
  align-items: center;
  margin: clamp(42px, 7vw, 82px) 0;
  padding: clamp(34px, 6vw, 68px);
  border-radius: 42px 0 42px 0;
  background: var(--sami-navy);
  color: var(--sami-white);
}
#content .sami-region h2 {
  margin: 0 0 20px;
  color: var(--sami-white) !important;
}
.sami-region .sami-eyebrow {
  color: var(--sami-orange);
}
.sami-region p {
  color: rgba(255, 255, 255, 0.86);
}
.sami-region blockquote {
  margin: 0;
  padding: 24px 0 24px 26px;
  border-left: 6px solid var(--sami-orange);
  color: var(--sami-white);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.25;
}

.sami-principles {
  padding: 0 0 clamp(44px, 7vw, 80px);
}
#content .sami-principles h2 {
  margin: 0 0 28px;
  color: var(--sami-ink) !important;
}
.sami-principles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.sami-principles__grid article {
  padding: 28px;
  border-radius: var(--sami-radius) 0 var(--sami-radius) 0;
  background: var(--sami-white);
  box-shadow: var(--sami-shadow);
}
#content .sami-principles__grid h3 {
  margin: 18px 0 12px;
  color: var(--sami-ink) !important;
  font-size: 23px !important;
}
.sami-principles__grid p {
  margin: 0;
}

#content .sami-profile__cta a.sami-button--light {
  border-color: var(--sami-white) !important;
  color: var(--sami-white) !important;
}
#content .sami-profile__cta a.sami-button--light:hover {
  border-color: var(--sami-red) !important;
}

@media (max-width: 900px) {
  .sami-goals__nav,
  .sami-goal,
  .sami-region,
  .sami-principles__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .sami-goals__hero {
    padding: 32px 20px;
    border-radius: 0 0 42px 0;
  }
  #content .sami-goals__hero h1 {
    font-size: 42px !important;
  }
  .sami-goal,
  .sami-region {
    border-radius: 28px 0 28px 0;
  }
  .sami-goal__heading,
  .sami-goal__body,
  .sami-region {
    padding: 28px 20px;
  }
}
/*
  TUKIJAT-SIVU SEKÄ SDP:N LOGO JA RUUSU
  Tämä sisältö on lisätty myös tiedostoon 09-VALMIS-KOKO-CSS.css.
  Jos käytät koko CSS-tiedostoa 09, tätä ei tarvitse lisätä erikseen.

  Lataa WEB-kuvat Kotisivukoneen tiedostohakemiston juureen täsmälleen
  näillä tiedostonimillä. Jos kuva puuttuu, sivu toimii silti ilman sitä.
*/

:root {
  --sami-logo-red-image: url('/files/svirtane.kotisivukone.com/SDP_Logo_pun_WEB.png');
  --sami-logo-white-image: url('/files/svirtane.kotisivukone.com/SDP_Logo_valk_WEB.png');
  --sami-rose-red-image: url('/files/svirtane.kotisivukone.com/SDP_Ruusu_pun_WEB.png');
  --sami-rose-white-image: url('/files/svirtane.kotisivukone.com/SDP_Ruusu_valk_WEB.png');
}

/* Punainen ruusu korvaa etusivun irrallisen vaaleanpunaisen ympyrän. */
.sami-hero::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 28px;
  right: 30px;
  width: clamp(120px, 18vw, 220px);
  aspect-ratio: 1.1;
  background: var(--sami-rose-red-image) center / contain no-repeat;
  opacity: 0.075;
  pointer-events: none;
}

.sami-hero__content,
.sami-hero__media {
  position: relative;
  z-index: 1;
}

.sami-hero--portrait::after {
  display: none;
}

/* Valkoinen SDP-logo näkyy hillitysti jokaisen sivun alatunnisteessa. */
#footer_content::before {
  content: '';
  display: block;
  width: 48px;
  height: 48px;
  margin: 20px auto 0;
  background: var(--sami-logo-white-image) center / contain no-repeat;
}

.sami-supporters__hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(230px, 0.55fr);
  gap: clamp(30px, 6vw, 72px);
  align-items: end;
  padding: clamp(40px, 7vw, 78px);
  border-radius: 0 0 76px 0;
  background: var(--sami-navy);
  color: var(--sami-white);
  overflow: hidden;
}

.sami-supporters__hero::after {
  content: '';
  position: absolute;
  top: -72px;
  right: -40px;
  width: 360px;
  height: 330px;
  background: var(--sami-rose-white-image) center / contain no-repeat;
  opacity: 0.075;
  pointer-events: none;
}

.sami-supporters__hero-copy,
.sami-supporters__hero-side {
  position: relative;
  z-index: 1;
}

.sami-supporters__hero .sami-eyebrow {
  color: var(--sami-orange);
}

#content .sami-supporters__hero h1 {
  max-width: 820px;
  margin: 0;
  color: var(--sami-white) !important;
  font-size: clamp(44px, 6.5vw, 76px) !important;
}

.sami-supporters__hero .sami-lead {
  max-width: 780px;
  margin-bottom: 28px;
  color: rgba(255, 255, 255, 0.86);
}

.sami-supporters__hero-side {
  padding: 25px 0 8px 26px;
  border-left: 5px solid var(--sami-orange);
}

.sami-supporters__hero-side strong,
.sami-supporters__hero-side span,
.sami-supporters__hero-side small {
  display: block;
}

.sami-supporters__hero-side strong {
  color: var(--sami-white);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: clamp(58px, 7vw, 88px);
  font-weight: 800;
  line-height: 0.85;
}

.sami-supporters__hero-side span {
  margin-top: 12px;
  color: var(--sami-white);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: 21px;
  font-weight: 700;
}

.sami-supporters__hero-side small {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 13px;
}

.sami-supporters__intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(30px, 6vw, 76px);
  padding: clamp(46px, 7vw, 82px) 0;
}

#content .sami-supporters__intro h2,
#content .sami-supporters__list-head h2 {
  margin: 0;
  color: var(--sami-ink) !important;
}

.sami-supporters__intro-copy &gt; p {
  max-width: 780px;
  margin: 0 0 18px;
  font-size: 18px;
  line-height: 1.7;
}

.sami-supporters__intro blockquote {
  max-width: 780px;
  margin: 30px 0 0;
  padding: 8px 0 8px 24px;
  border-left: 6px solid var(--sami-red);
  color: var(--sami-navy);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 700;
  line-height: 1.28;
}

.sami-supporters__list-section {
  padding: clamp(34px, 5vw, 58px);
  border-radius: 42px 0 42px 0;
  background: var(--sami-white);
  box-shadow: var(--sami-shadow);
}

.sami-supporters__list-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 24px;
}

.sami-supporters__list-head &gt; p {
  max-width: 430px;
  margin: 0;
  color: var(--sami-muted);
  font-size: 14px;
}

.sami-supporters__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sami-supporters__list li {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--sami-line);
}

.sami-supporters__list strong {
  min-width: 0;
  color: var(--sami-ink);
  font-size: 15px;
  font-weight: 650;
}

.sami-supporters__list span {
  flex: none;
  color: var(--sami-muted);
  font-size: 12px;
}

.sami-supporters__cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: clamp(34px, 6vw, 64px) 0 28px;
  padding: clamp(32px, 5vw, 54px);
  border-radius: 42px 0 42px 0;
  background: var(--sami-red);
  color: var(--sami-white);
  overflow: hidden;
}

.sami-supporters__cta::after {
  content: '';
  position: absolute;
  right: 120px;
  bottom: -95px;
  width: 260px;
  height: 240px;
  background: var(--sami-rose-white-image) center / contain no-repeat;
  opacity: 0.09;
  pointer-events: none;
}

.sami-supporters__cta &gt; * {
  position: relative;
  z-index: 1;
}
.sami-supporters__cta .sami-eyebrow {
  color: var(--sami-white);
  opacity: 0.78;
}

#content .sami-supporters__cta h2 {
  margin: 0 0 10px;
  color: var(--sami-white) !important;
}

.sami-supporters__cta p {
  max-width: 690px;
  margin: 0;
}

#content .sami-supporters__cta a.sami-button {
  flex: none;
  border-color: var(--sami-white) !important;
  background: var(--sami-white) !important;
  color: var(--sami-red) !important;
}

#content .sami-supporters__cta a.sami-button:hover {
  border-color: var(--sami-navy) !important;
  background: var(--sami-navy) !important;
  color: var(--sami-white) !important;
}

/* Etusivun kuvallinen versio: alkuperäinen kuva ladataan nimellä Sami_Virtanen_paakuva.jpg. */
.sami-hero__media--portrait {
  background: var(--sami-red);
}

.sami-hero__media--portrait::before {
  content: '';
  position: absolute;
  inset: 25px 20px auto auto;
  width: 72%;
  height: 66%;
  background: var(--sami-rose-white-image) center / contain no-repeat;
  opacity: 0.09;
}

.sami-hero__media--portrait .sami-hero__portrait {
  position: relative;
  z-index: 1;
  display: block;
  object-fit: contain;
  object-position: center bottom;
}

.sami-hero__party-logo {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 24px;
  width: 56px;
  height: 56px;
  background: var(--sami-logo-red-image) center / contain no-repeat;
}

@media (max-width: 900px) {
  .sami-supporters__hero,
  .sami-supporters__intro {
    grid-template-columns: 1fr;
  }
  .sami-supporters__hero-side {
    max-width: 330px;
  }
  .sami-supporters__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .sami-supporters__hero {
    padding: 34px 20px;
    border-radius: 0 0 42px 0;
  }
  #content .sami-supporters__hero h1 {
    font-size: 42px !important;
  }
  .sami-supporters__list-section {
    padding: 28px 20px;
    border-radius: 28px 0 28px 0;
  }
  .sami-supporters__list-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .sami-supporters__list {
    grid-template-columns: 1fr;
  }
  .sami-supporters__cta {
    align-items: stretch;
    flex-direction: column;
    padding: 30px 20px;
    border-radius: 28px 0 28px 0;
  }
}
#columns #content.ksk_middle_area {
  width: 1139px;
}
.ksk_container {
  width: 1180px;
  max-width: 1180px;
}

/* Vanha CSS-only-blogiautomaatio on jätetty vertailua varten pois käytöstä.
   Kotisivukoneen sisäkkäisiä sivupalkkirakenteita ei voi järjestää vakaasti
   pelkällä CSS:llä. Etusivun HTML siirtää blogilaatikon oikeaan paikkaan. */
@media not all {
  /* ================================================================
   ETUSIVUN AUTOMAATTINEN BLOGINOSTO
   Kotisivukoneen Blogi-laatikon on oltava asetettu näkymään etusivulla.
   Vain #box7 näytetään; Facebook, yhteystiedot ja kävijälaskuri piilotetaan.
   ================================================================ */

  html body.frontpage:has(.sami-auto-blog-all) #ksk_middle_block {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  html
    body.frontpage:has(.sami-auto-blog-all)
    #ksk_middle_block
    &gt; .ksk_middle_area_container_users_should_not_change {
    display: contents !important;
  }

  html
    body.frontpage:has(.sami-auto-blog-all)
    #ksk_middle_block
    &gt; .ksk_middle_area_container_users_should_not_change
    &gt; #content {
    display: contents !important;
  }

  html
    body.frontpage:has(.sami-auto-blog-all)
    #ksk_middle_block
    &gt; .ksk_middle_area_container_users_should_not_change
    &gt; #content
    &gt; .kskpages_container {
    display: contents !important;
  }

  html
    body.frontpage:has(.sami-auto-blog-all)
    #ksk_middle_block
    &gt; .ksk_middle_area_container_users_should_not_change
    &gt; #content
    &gt; .kskpages_container
    &gt; .madpages_component {
    display: contents !important;
  }

  html
    body.frontpage:has(.sami-auto-blog-all)
    #content
    .madpage_codeeditor_component_container {
    display: contents !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #content .madpages_codeeditor {
    display: contents !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) .sami-home {
    display: contents !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #right-bar {
    display: contents !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #common_rightbar_sideboxes {
    display: contents !important;
  }

  html
    body.frontpage:has(.sami-auto-blog-all)
    #common_rightbar_sideboxes
    &gt; .box:not(#box7) {
    display: none !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box10,
  html body.frontpage:has(.sami-auto-blog-all) #box345617,
  html body.frontpage:has(.sami-auto-blog-all) #box11 {
    display: none !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #left-bar,
  html body.frontpage:has(.sami-auto-blog-all) #ksk_middle_block &gt; .clear {
    display: none !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) .sami-hero {
    order: 10 !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) .sami-section {
    order: 20 !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) .sami-about-preview {
    order: 30 !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 {
    display: block !important;
    order: 40 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: clamp(40px, 5vw, 64px) 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) .sami-auto-blog-all {
    order: 41 !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) .sami-social {
    order: 50 !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 .header {
    margin: 0 0 30px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 .header h2 {
    margin: 0 !important;
    color: transparent !important;
    font-size: 0 !important;
    overflow: visible !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 .header h2::before {
    content: 'Ajankohtaista';
    display: block;
    margin: 0 0 12px;
    color: var(--sami-navy);
    font-family: 'Red Hat Text', 'Open Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-transform: uppercase;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 .header h2::after {
    content: 'Kirjoitukset ja kannanotot';
    display: block;
    color: var(--sami-ink);
    font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.12;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 &gt; .content {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 .content_top,
  html body.frontpage:has(.sami-auto-blog-all) #box7 .content_bottom {
    display: none !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 ul {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 li {
    display: flex !important;
    min-width: 0 !important;
    min-height: 245px !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 26px !important;
    border: 1px solid var(--sami-line) !important;
    border-radius: var(--sami-radius) 0 var(--sami-radius) 0 !important;
    background: var(--sami-white) !important;
    box-shadow: var(--sami-shadow) !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 li:nth-child(n + 4) {
    display: none !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 .small {
    color: var(--sami-muted) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 .title {
    display: block !important;
    margin: 12px 0 18px !important;
    color: var(--sami-ink) !important;
    font-family: 'Barlow', 'Open Sans', Arial, sans-serif !important;
    font-size: clamp(20px, 2.2vw, 24px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.14 !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 a.link {
    margin-top: auto !important;
    color: var(--sami-red) !important;
    font-family: 'Barlow', 'Open Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  html body.frontpage:has(.sami-auto-blog-all) #box7 a.link::after {
    content: ' →';
  }

  html body.frontpage:has(.sami-auto-blog-all) .sami-auto-blog-all {
    margin: 24px 0 14px !important;
  }

  @media (max-width: 900px) {
    html body.frontpage:has(.sami-auto-blog-all) #box7 ul {
      grid-template-columns: 1fr !important;
    }

    html body.frontpage:has(.sami-auto-blog-all) #box7 li {
      min-height: 190px !important;
    }
  }
}

/* ================================================================
   ETUSIVUN AUTOMAATTINEN BLOGINOSTO – JAVASCRIPT-VERSIO
   Etusivun HTML siirtää #box7-laatikon ennen Kaikki kirjoitukset -painiketta.
   ================================================================ */

html body.frontpage #box10,
html body.frontpage #box345617,
html body.frontpage #box11 {
  display: none !important;
}

html body.frontpage #box7[data-sami-blog='moved'] {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(40px, 5vw, 64px) 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.frontpage #box7[data-sami-blog='moved'] .header {
  margin: 0 0 30px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.frontpage #box7[data-sami-blog='moved'] .header h2 {
  margin: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  overflow: visible !important;
}

html body.frontpage #box7[data-sami-blog='moved'] .header h2::before {
  content: 'Ajankohtaista';
  display: block;
  margin: 0 0 12px;
  color: var(--sami-navy);
  font-family: 'Red Hat Text', 'Open Sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

html body.frontpage #box7[data-sami-blog='moved'] .header h2::after {
  content: 'Kirjoitukset ja kannanotot';
  display: block;
  color: var(--sami-ink);
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.12;
}

html body.frontpage #box7[data-sami-blog='moved'] &gt; .content {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.frontpage #box7[data-sami-blog='moved'] .content_top,
html body.frontpage #box7[data-sami-blog='moved'] .content_bottom {
  display: none !important;
}

html body.frontpage #box7[data-sami-blog='moved'] ul {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.frontpage #box7[data-sami-blog='moved'] li {
  display: flex !important;
  min-width: 0 !important;
  min-height: 245px !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 26px !important;
  border: 1px solid var(--sami-line) !important;
  border-radius: var(--sami-radius) 0 var(--sami-radius) 0 !important;
  background: var(--sami-white) !important;
  box-shadow: var(--sami-shadow) !important;
}

html body.frontpage #box7[data-sami-blog='moved'] li:nth-child(n + 4) {
  display: none !important;
}

html body.frontpage #box7[data-sami-blog='moved'] .small {
  color: var(--sami-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

html body.frontpage #box7[data-sami-blog='moved'] .title {
  display: block !important;
  margin: 12px 0 18px !important;
  color: var(--sami-ink) !important;
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif !important;
  font-size: clamp(20px, 2.2vw, 24px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.14 !important;
}

html body.frontpage #box7[data-sami-blog='moved'] a.link {
  margin-top: auto !important;
  color: var(--sami-red) !important;
  font-family: 'Barlow', 'Open Sans', Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html body.frontpage #box7[data-sami-blog='moved'] a.link::after {
  content: ' →';
}

html body.frontpage .sami-auto-blog-all {
  margin: 24px 0 14px !important;
}

@media (max-width: 900px) {
  html body.frontpage #box7[data-sami-blog='moved'] ul {
    grid-template-columns: 1fr !important;
  }

  html body.frontpage #box7[data-sami-blog='moved'] li {
    min-height: 190px !important;
  }
}
html body.frontpage #box7[data-sami-blog='moved'] a.link::after {
  content: none !important;
}
.sami-about-preview__facts {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.sami-about-preview__facts::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 18px;
  right: 18px;
  width: 82px;
  aspect-ratio: 1.1;
  background: var(--sami-rose-white-image) center / contain no-repeat;
  opacity: 0.11;
  pointer-events: none;
}

.sami-about-preview__facts &gt; * {
  position: relative;
  z-index: 1;
}
@media (max-width: 820px) {
  .ksk_menu_wrapper #menu ul li.ksk_menu_responser {
    background: var(--sami-navy) !important;
  }

  .ksk_menu_wrapper #menu ul li.ksk_menu_responser &gt; a.ksk_main_menu {
    background: transparent !important;
    color: var(--sami-white) !important;
  }

  .ksk_menu_wrapper
    #responsive_menu_button
    .responsive_menu_button_line {
    background: var(--sami-white) !important;
  }
}
@media (min-width: 821px) {
  .sami-hero__party-logo {
    background-image: var(--sami-logo-white-image) !important;
  }
}
@media (max-width: 820px) {
  body .ksk_menu_wrapper #menu ul#navi
    &gt; li.ksk_menu_responser
    &gt; a.ksk_main_menu,
  body .ksk_menu_wrapper #menu ul#navi
    &gt; li.ksk_menu_responser
    &gt; a.ksk_main_menu span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
  }
}