@font-face {
  font-family: 'FinlandicaBold';
  src: url('/o/common-ui-resources/fonts/finlandica/finlandica-boldWeb.woff2?t=1668075361511') format('woff2'), /* Super Modern Browsers */
  url('/o/common-ui-resources/fonts/finlandica/finlandica-boldWeb.woff?t=1668075361511') format('woff'), /* Pretty Modern Browsers */
  url('/o/common-ui-resources/fonts/finlandica/finlandica-boldWeb.ttf?t=1668075361511')  format('truetype'); /* Safari, Android, iOS */
}
@font-face {
  font-family: 'FinlandicaRegular';
  src: url('/o/common-ui-resources/fonts/finlandica/finlandica-regularWeb.woff2?t=1668075361511') format('woff2'), /* Super Modern Browsers */
  url('/o/common-ui-resources/fonts/finlandica/finlandica-regularWeb.woff?t=1668075361511') format('woff'), /* Pretty Modern Browsers */
  url('/o/common-ui-resources/fonts/finlandica/finlandica-regularWeb.ttf?t=1668075361511')  format('truetype'); /* Safari, Android, iOS */
}

html body.vaalit h1,
html body.vaalit h2,
html body.vaalit h3,
html body.vaalit h4,
html body.vaalit h5{
  font-family: FinlandicaBold !important;
  font-weight: normal !important;
}
html body.vaalit p.lead{
  font-size: 22px;
  line-height: 28px;
  font-family: Lato;
  font-weight: 400 !important;
}

html body.vaalit p,
html body.vaalit th,
html body.vaalit td {
  font-size: 18px;
  line-height: 24px;
  font-family: Lato;
}

html body.vaalit table th,
html body.vaalit table td {
  padding: 0.5rem;
}

html body.vaalit table p:last-child {
  margin-bottom: 0;
}

html body.vaalit .journal-content-article ul{
  margin-left: 36px;
  list-style-type: square;
}
html body.vaalit .journal-content-article ol{
  margin-left: 36px;
}
html body.vaalit .journal-content-article ul li,
html body.vaalit .journal-content-article ol li {
  font-size: 18px;
  line-height: 24px;
  font-family: Lato;
  margin-bottom: 8px;
}
html body.vaalit .journal-content-article ul li:last-child,
html body.vaalit .journal-content-article ol li:last-child {
  margin-bottom: 0;
}
html body.vaalit .journal-content-article p {
  margin-bottom: 1.7142857142857142rem;
}

html body.vaalit .journal-content-article p a{
  color: #004876;
}
html body.vaalit .container.wide-flex{
  margin-top: -285px;
}
html body.vaalit .flexslider{
  height: 580px !important;
}
html body.vaalit .flexslider .slides > li{
  height: 580px !important;
}
#main-content{
  margin-top: 30px;
}
#main-content.landingpage-layout{
  margin-top: 0 !important;
}
html body.vaalit.signed-in.controls-visible #main-content .portlet-title {
  min-height: 30px;
}
html body.vaalit.fixed-header .dockbar  {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}
html body.vaalit .search-header-portlet .portlet-title {
  display:none;
}
html body.vaalit .search-header-portlet .portlet-title {
  display:none;
}

html body.vaalit #header, html body.vaalit .portlet-navigation, html body.vaalit footer {
  display:block;
}
html body.vaalit .portlet-asset-publisher .asset-full-content .asset-actions {
  float: none;
}
html body.vaalit .yja-search-portlet .datepicker-wrapper .input-append .add-on {
  height: 22px;
}
.margin-bottom-large {
  margin-bottom: 20px;
}
html body.vaalit .yja-search-portlet .btn-primary  {
  padding:10px 30px;
  vertical-align:top;
}
@media (min-width: 768px) {
  html body.vaalit.page-maximized.signed-out  > .container {
    margin-top: 0px;
  }
}
@media (max-width: 540px){
  .header-top-links{
    display: none;
  }
  html body.vaalit header#header .header-top .logo {
    margin-top: 0 !important;
    padding: 40px 0 40px 10px !important;
  }
  html body.vaalit .top-right-area {
    width: auto !important;
    top: 72px !important;
    right: 0 !important;
  }
  html body.vaalit #header .mobile-menu-actions {
    position: absolute;
    top: 28px !important;
    right: 10px;
    z-index: 20;
  }
}
@media (max-width: 767px){
  .header-top-links{
    display: none;
  }
  html body.vaalit .top-right-area {
    width: auto !important;
  }
  html body.vaalit #header .mobile-menu-actions {
    position: absolute;
    top: 28px !important;
    right: 10px;
    z-index: 20;
  }
  html body.vaalit header#header .logo {
    margin-top: 0 !important;
    padding: 40px 0 20px 10px !important;
  }
}
@media (max-width: 979px){
  html body.vaalit .top-right-area {
    position: absolute;
    right: 100px;
    bottom: 0px;
    width: auto !important;
    top: 26px;
  }
  html body.vaalit #header .logo {
    margin-top: 0 !important;
    padding: 30px 0 20px 10px !important;
  }
  html body.vaalit #header .logo img {
    max-width: 110px !important;
  }
  html body.vaalit .mobile-menu-actions {
    position: absolute;
    top: 75px !important;
    right: 10px;
    z-index: 20;
  }
}
@media print {
  .inner-img,
  .portlet-breadcrumb,
  html body.vaalit a:after,
  .flexslider,
  .top-right-area,
  .header-bottom,
  .portlet-navigation,
  footer  {
    display:none !important;
  }
  html body.vaalit .row-fluid [class*="span"]  {
    width:100%;
  }
  html body.vaalit #main-content .portlet-boundary  {
    border:none !important;
    margin: 0 ;
    padding: 10px 0;
  }
  html body.vaalit .container.wide-flex {
    margin-top: 0px;
  }
}

html body.vaalit #header .header-top {
  background: #fff !important;
}
html body.vaalit #header .header-bottom {
  background: #004876 !important;
  border-bottom: none;
  color: #fff !important;
}
html body.vaalit #header .logo {
  margin-top: 0 !important;
  padding: 50px 0 20px 10px;
}

.header-top-links{
  height: 50px;
  width: 100%;
  border-bottom: 1px solid #eee;
  text-align: center;
  background: #fff;
}
.header-top-links a{
  float: left;
  line-height: 50px;
  color: #004876 !important;
  margin: 0 15px 0 0;
}
#header .navbar .nav li a{
  color: #fff !important;
}
#header .navbar .nav li ul.dropdown-menu a{
  color: #3b3b3b !important;
}
#column-2 .portlet-boundary{
  border-top: 15px solid #be90d4 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  margin: 0 0 30px 0 !important;
}
html body.vaalit #main-content #column-2 .portlet-boundary.portlet-borderless{
  border: none !important;
}

#column-3 .portlet-boundary,
#column-4 .portlet-boundary,
.portlet-column-first .portlet-navigation{
  border-top: 15px solid #feb552 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  margin: 0 0 30px 0 !important;
}
html body.vaalit #main-content #column-3 .portlet-boundary.portlet-borderless{
  border: none !important;

}
html body.vaalit .slide-content .text-content {
  background: rgba(0, 72, 118, 0.5) !important;
  color: #fff;
  text-shadow: 0;
  margin-right: auto;
  margin-left: auto;
  padding: 35px 45px;
  width: calc(100% - 20px) !important;
  max-width: 100% !important;
}
html body.vaalit .slide-content .text-content h2,
html body.vaalit .slide-content .text-content p {
  font-size: 48px !important;
  line-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-weight: normal !important;
  font-family: FinlandicaBold !important;
}

@media (max-width: 767px){
  html body.vaalit .slide-content .text-content{
    width: 100% !important;
    padding: 30px;
  }
}

@media (max-width: 479.98px){
  html body.vaalit .slide-content {
    height: calc(100% - 240px);
  }

  html body.vaalit .slide-content > .container {
    height: 100%;
  }

  html body.vaalit .slide-content > .container > .row {
    flex-flow: column nowrap;
    justify-content: center;
    height: 100%;
  }

  html body.vaalit .slide-content > .container > .row > .text-content {
    margin-top: 0 !important;
  }

  html body.vaalit .slide-content .text-content h2,
  html body.vaalit .slide-content .text-content p{
    line-height: 1.25 !important;
    font-size: calc(30px + 18 * ((100vw - 320px) / 150)) !important;
  }
}

html body.vaalit footer{
  background: #004876 !important;
  color: #fff;
}
html body.vaalit footer h2{
  font-size: 26px !important;
  padding: 30px 0 0 0 !important;
  margin: 0 !important;
  line-height: 32px !important;
  color: #fff !important;
}
html body.vaalit footer p{
  font-size: 18px !important;
  line-height: 26px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #fff !important;
  font-weight: 400 !important;
}
html body.vaalit footer ul{
  list-style-type: none;
  padding: 0;
  margin: 0;

}
html body.vaalit footer ul li{
  padding: 0;
  margin: 0;
}
html body.vaalit footer ul li a{
  text-decoration: none;
  font-size: 18px !important;
  line-height: 26px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #fff !important;
  font-weight: 400 !important;

}
html body.vaalit footer p a{
  color: #fff !important;
  text-decoration: none !important;
}
html body.vaalit footer p a:hover{
  color: #fff !important;
  text-decoration: underline !important;
}

html body.vaalit .btn-primary{
  color: #004876 !important;
  background: #fffbf5 !important;
  border: 3px solid #FEB552 !important;
  border-radius: 30px !important;
  /* height: 60px !important; */
  line-height: 30px;
  width: auto !important;
  padding: 10px 30px !important;
  /* margin: 30px 0 !important; */
  font-family: FinlandicaBold !important;
  font-size: 22px !important;
  text-shadow: none !important;
}
html body.vaalit .btn-primary:hover{
  color: #3b3b3b !important;
  background: #fff !important;

}
.portlet-asset-publisher .feed-item h6{
  font-size: 18px !important;
  line-height: 24px !important;
}
.portlet-asset-publisher .feed-item h6 a{
  color: #000 !important;
}
.list-menu h2 a{
  color: #004876 !important;
}
.list-menu h2 a:hover{
  color: #000 !important;
}
.list-menu ul li a{
  color: #000 !important;
  text-decoration: none;
  font-size: 18px;
}
.list-menu ul li a:hover{
  color: #000 !important;
  text-decoration: underline;
}
.link-path-warning{
  z-index: 99999;
}
.link-path-warning{
  margin: 10px 0;
}
.link-path-warning .btn-primary{
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 55px !important;
  font-weight: normal;
  text-shadow: none !important;
}
.link-path-warning .btn-primary:hover {
  color: #3b3b3b !important;
  background: #fff !important;
}
html body.vaalit .hed-section{
  border-bottom: none;
}
@media (min-width: 1200px){
  html body.vaalit h1{
    font-size: 32px;
  }
  html body.vaalit h2{
    font-size: 28px;
  }
  html body.vaalit .listing-layout #column-9.span3 {
    width: 31.62393% !important;
  }
  html body.vaalit .listing-layout div[role=main] {
    width: 65.81197% !important;
  }
}
html body.vaalit .listing-layout div[role=main]{
  width: 65.95745%;
}
html body.vaalit .listing-layout #column-9.span3 {
  width: 31.91489%;
}
html body.vaalit h1{
  font-size: 28px;
}
html body.vaalit h2{
  font-size: 26px;
}
html body.vaalit .portlet-boundary .portlet .portlet-header h3.hed-section{
  font-size: 24px;
}
@media (max-width: 979px) and (min-width: 768px){
  html body.vaalit .listing-layout div[role=main] {
    width: 65.74586%;
  }
  html body.vaalit .listing-layout #column-9.span3 {
    width: 31.49171%;
  }
  html body.vaalit h1{
    font-size: 24px;
  }
  html body.vaalit h2{
    font-size: 20px;
  }
}
@media (max-width: 767px){
  html body.vaalit .listing-layout div[role=main],
  html body.vaalit .listing-layout #column-9.span3 {
    width: 100% !important;
  }
  html body.vaalit h1{
    font-size: 24px;
  }
  html body.vaalit h2{
    font-size: 20px;
  }
}
html body.vaalit .listing-layout #column-9.span3 .portlet-boundary{
  border-top: 15px solid #feb552 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  margin: 0 0 30px 0 !important;
}
.some-portlet h3{
  text-transform: none !important;
}
.landingpage-layout #layout-column_column-2 .portlet-boundary .journal-content-article{
  padding: 15px !important;
}
.listing-layout #layout-column_column-2 .portlet-boundary .journal-content-article{ padding: 0 15px 15px 15px; }

html body.vaalit .panel.net-services {
  background: #004876;
}
html body.vaalit .panel.net-services h3 {
  font-size: 17px !important;
}
html body.vaalit .panel.net-services ul li a {
  font-size: 18px !important;
  line-height: 24px !important;
}
html body.vaalit .panel.net-services ul li a.external-link:after {
  top: -1px;
  margin-left: .6em;
}
html body.vaalit #mobile-search-wrapper .btn-primary.search-btn {
  font-size: 1rem !important;
  line-height: 1.2;
  padding: 0 1rem !important;
  border-radius: 0 !important;
  border: 0px !important;
  background: #004876 !important;
  color: #fff !important;
}
html body.vaalit .lfr-configurator-visibility .portlet-header {
  background-color: transparent !important;
}

/*
// vaalit / aikajana (aikajana.ftl)
*/
#content .timeline {
  width: 100%;
  margin: 2.5rem auto;
  position: relative;
  padding-left: 0 !important;
}

#content .timeline .panel {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  width: 100%;
  margin: 0;
  padding: 1.25rem 0 2.5rem;
  background: transparent;
  border: none;
}

#content .timeline .panel::before {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -0.09375rem;
  width: 0;
  height: 100%;
  border-left: 0.1875rem solid #004876;
}

#content .timeline .panel--last::before {
  display: none;
}

@media (max-width: 767px) {
  #content .timeline .panel::before {
    display: none;
  }
}

#content .timeline .panel.panel--even {
  justify-content: flex-start;
}

#content .timeline .panel.panel--odd {
  justify-content: flex-end;
}

#content .timeline .panel .inner-panel {
  width: 35%;
  max-width: 14rem;
  min-height: 5rem;
  margin: 0;
  padding: .4375rem 0 0 0;
}

@media (max-width: 767px) {
  #content .timeline .panel .inner-panel {
    width: 100%;
    max-width: none;
    min-height: 11.5rem;
    margin-top: 0.9375rem;
    padding-top: 3.375rem;
    padding-bottom: 1.75rem;
    text-align: center;
    background-color: #f0f0f0;
    border-top: .1875rem solid #004876;
  }
}

/* graphic pseudo elements */
#content .timeline .panel .inner-panel::before {
  content: '';
  position: absolute;
  top: 1.9375rem;
  display: block;
  height: 11px;
  width: 11px;
  background-color: #004876;
  border-radius: 50%;
}

#content .timeline .panel.panel--odd .inner-panel::before {
  left: 50%;
  margin-left: 12%;
}

#content .timeline .panel.panel--even .inner-panel::before {
  right: 50%;
  margin-right: 12%;
}

#content .timeline .panel .inner-panel::after {
  content: '';
  position: absolute;
  display: block;
  top: 2.21875rem; 
  width: 12%;
  height: .125rem;
  background-color: #004876;
}

#content .timeline .panel.panel--even .inner-panel::after {
  right: 50%;
}

#content .timeline .panel.panel--odd .inner-panel::after {
  left: 50%;
}

@media (max-width: 767px) {
  #content .timeline .panel .inner-panel::before,
  #content .timeline .panel .inner-panel::after {
    display: none;
  }
}

/* inner panel, year */
#content .timeline .panel .inner-panel span.year {
  position: absolute;
  display: block;
  top: -0.25rem;
  left: 50%;
  height: 5.125rem;
  width: 5.125rem;
  margin: 0 0 0 -2.5625rem;
  padding: .25rem 0;
  background-color: #004876;
  text-align: center;
  border-radius: 100%;
  z-index: 2;
}

#content .timeline .panel .inner-panel span.year .h3 {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.625rem;
  font-weight: 700;
  color: #fff;
}

/* inner panel and timeline modal, content */
#content .timeline .timeline__modal *,
#content .timeline .panel .inner-panel .panel__ingress * {
  font-family: Lato !important;
}

#content .timeline .timeline__modal *:first-child,
#content .timeline .panel .inner-panel .panel__ingress *:first-child {
  margin-top: 0 !important;
}

#content .timeline .timeline__modal *:last-child,
#content .timeline .panel .inner-panel .panel__ingress *:last-child {
  margin-bottom: 0 !important;
}

#content .timeline .timeline__modal a,
#content .timeline .panel .inner-panel .panel__ingress a {
  color: #004876 !important;
  text-decoration: none;
}

#content .timeline .timeline__modal a:hover,
#content .timeline .panel .inner-panel .panel__ingress a:hover {
  text-decoration: underline;
}

#content .timeline .panel .inner-panel .panel__ingress p {
  line-height: 1;
}

#content .timeline .timeline__modal h2,
#content .timeline .timeline__modal h3,
#content .timeline .timeline__modal h4,
#content .timeline .timeline__modal h5,
#content .timeline .timeline__modal h6,
#content .timeline .panel .inner-panel .panel__ingress h2,
#content .timeline .panel .inner-panel .panel__ingress h3,
#content .timeline .panel .inner-panel .panel__ingress h4,
#content .timeline .panel .inner-panel .panel__ingress h5,
#content .timeline .panel .inner-panel .panel__ingress h6 {
  font-size: 1.125rem;
  font-weight: 600 !important;
  margin-bottom: 0;
}

#content .timeline .timeline__modal h2 + p,
#content .timeline .timeline__modal h3 + p,
#content .timeline .timeline__modal h4 + p,
#content .timeline .timeline__modal h5 + p,
#content .timeline .timeline__modal h6 + p,
#content .timeline .panel .inner-panel .panel__ingress h2 + p,
#content .timeline .panel .inner-panel .panel__ingress h3 + p,
#content .timeline .panel .inner-panel .panel__ingress h4 + p,
#content .timeline .panel .inner-panel .panel__ingress h5 + p,
#content .timeline .panel .inner-panel .panel__ingress h6 + p {
  margin-top: .25rem;
}

/* inner panel, modal button */
#content .timeline .panel .inner-panel .js-open-modal {
  background: #004876;
  padding: .375rem .875rem;
  border: none;
  margin: 1rem auto 0 auto !important;
  color: #fff;
  font-weight: 600 !important;
  display: inline-block;
  flex-flow: row wrap;
  border-radius: .25rem;
  font-size: 1rem;
  text-decoration: none;
}

#content .timeline .panel .inner-panel .js-open-modal:hover,
#content .timeline .panel .inner-panel .js-open-modal:focus {
  text-decoration: underline;
}

#content .timeline .panel .inner-panel .js-open-modal:focus {
  outline: 1px dotted #fff;
  outline-offset: -4px;
}

/* timeline modal element */
#content .timeline .timeline__modal {
  background-color: #fff;
  padding: 1.25rem;
  border: .1875rem solid #004876;
  box-shadow: 0 0 .375rem rgba(0,0,0,0.333);
  margin-top: 6.875rem;
  outline: 0;
  width: 100%;
  max-width: 60%;
  z-index: 2;
}

@media (max-width: 767px) {
  #content .timeline .timeline__modal {
    max-width: 100%;
    margin-top: 6.875rem;
  }
}

#content .timeline .timeline__modal div:first-child {
  margin: 0 0 .5rem;
  text-align: right;
}

#content .timeline .timeline__modal .js-close {
  background: #004876;
  padding: .375rem .875rem;
  border: none;
  color: #fff;
  font-weight: 400;
  font-size: 1rem;
  border-radius: .25rem;
  text-decoration: none;
}

#content .timeline .timeline__modal .js-close:hover,
#content .timeline .timeline__modal .js-close:focus {
  text-decoration: underline;
}

#content .timeline .timeline__modal .js-close:focus {
  outline: 1px dotted #fff;
  outline-offset: -4px;
}

#content .timeline .timeline__modal::after,
#content .timeline .timeline__modal::before {
  content: '';
  bottom: 100%;
  left: 80%;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
  border-width: .9375rem;
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  z-index: 1;
}

@media (min-width: (767px + 1)) and (max-width: 1024px) {
  #content .timeline .timeline__modal::after,
  #content .timeline .timeline__modal::before {
    left: 88.5% !important;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  #content .timeline .timeline__modal::after,
  #content .timeline .timeline__modal::before {
    left: 47.5% !important;
  }
}

@media (max-width: 479.98px) {
  #content .timeline .timeline__modal::after,
  #content .timeline .timeline__modal::before {
    left: 45.75% !important;
  }
}

#content .timeline .timeline__modal::after {
  border-bottom-color: #004876;
  border-width: 1.1875rem;
  margin-left: -0.25rem;
  z-index: 0;
}

#content .timeline .timeline__modal:nth-child(2n+2) {
  margin-left: 45%;
}

@media (max-width: 767px) {
  #content .timeline .timeline__modal:nth-child(2n+2) {
    margin-left: 0;
  }
}

#content .timeline .timeline__modal:nth-child(2n+2)::after,
#content .timeline .timeline__modal:nth-child(2n+2)::before {
  left: 3.5%;
}

@media (min-width: (767px + 1)) and (max-width: 1024px) {
  #content .timeline .timeline__modal:nth-child(2n+2)::after,
  #content .timeline .timeline__modal:nth-child(2n+2)::before {
    left: 5.75% !important;
  }
}