/*
Adaptea.fi
site.css
Main design definitions
*/
/*Basic definitions
Fonts defined in typography.css
*/
/* line 11, site.less */
body {
  background: #ffffff;
  margin: 0;
}
/* line 15, site.less */
.ccm-page {
  /*Paragraph etc definitions*/
  /*Design */
  /*NavBar
*********************************************
*******         NAVIGAATIO
*********************************************
*/
  /* ***********************
***   Navigaatio loppuu***
**************************
 */
  /* Päätekstiosion muotoilu */
  /**********************************/
  /********      *ETUSIVU*     ******/
  /**********************************/
  /*Ekan sivun yhteystietopalkki*/
  /*****************************/
  /* Etusivun ruubikin kuutio */
  /****************************/
  /*Valkoinen fontti kontaktilaatikossa */
  /* Kontaktilaatikon väliviiva */
  /****************************************/
  /********* MUUT SIVUT *******************/
  /****************************************/
  /* Kontaktikuvat (kirjekuori ja puhekupla) */
  /* Footer */
  /*Kielivalinta ja yhteystietodiv */
  /*Extramääritykset*/
  /* Hidden piilottaa otsikot tai mitä vaan muutakin */
  /*Seuraava luokka laittaa palikat sivuston oletusleveyteen 705px */
  /*MOBIILImenu*/
  /* Oletuksena piilotetaan vain mobiilille tarkoitettu sisältö */
  /* Concreten oma lomakekomponentti */
}
/* line 17, site.less */
.ccm-page p {
  margin: 0.3em 0;
  line-height: 1.389em;
}
/* line 22, site.less */
.ccm-page article#main_content p {
  /*kappalevälit kohdilleen päätekstissä */
  padding-bottom: 1em;
}
/* line 26, site.less */
.ccm-page #main_content p:last-child {
  /* Vikan kappaleen jälkeen ei väliä */
  margin-bottom: 0;
  padding-bottom: 0;
}
/* line 33, site.less */
.ccm-page header {
  position: relative;
  width: auto;
  margin: 0 auto 0 auto;
}
/* line 38, site.less */
.ccm-page .logo {
  height: 185px;
  background-color: #1C453B;
  background-image: url(../img/logobar.jpg);
  background-position: center;
  background-repeat: no-repeat;
}
/* line 52, site.less */
.ccm-page #navwrap {
  overflow: hidden;
  position: relative;
  min-height: 2.1em;
  background: #F2F2F2;
}
/* line 59, site.less */
.ccm-page nav {
  float: left;
  position: relative;
  left: 50%;
}
/* line 66, site.less */
.ccm-page nav ul {
  margin-top: 4px;
  float: left;
  position: relative;
  left: -50%;
}
/* line 74, site.less */
.ccm-page nav li {
  /*Floatin lisäksi laitetaan väliviivat paikalleen */
  float: left;
  border-right: dotted 1px #006837;
  line-height: 1em;
  padding-left: 0;
}
/* line 82, site.less */
.ccm-page nav li:last-child {
  /*Vikan jälkeen ei väliviivaa */
  border-right: none;
}
/* line 85, site.less */
.ccm-page nav li > a,
.ccm-page nav li > a:visited {
  transition: all 0.1s ease;
  float: left;
  padding: 0 1.3em;
  color: #1A5E4D;
}
/* line 91, site.less */
.ccm-page nav li,
.ccm-page nav li > a,
.ccm-page nav li > a:visited {
  font-weight: 600;
  color: #1A5E4D;
  font-size: 20pt;
  list-style: none;
  text-decoration: none;
}
/* line 100, site.less */
.ccm-page nav li.nav-selected,
.ccm-page nav li:hover,
.ccm-page nav li.nav-selected a,
.ccm-page nav li a:hover {
  font-weight: 600;
  color: #001E15;
  text-decoration: none;
}
/* line 116, site.less */
.ccm-page div#main {
  position: relative;
  background: #ffffff url(../img/navbar_shadow.jpg) no-repeat center top;
  width: auto;
  max-width: 860px;
  /*Oli 660px, Akin testaa laajempaa */
  margin: 0 auto 0 auto;
  padding-top: 1.2em;
}
/* line 132, site.less */
.ccm-page div#main.frontpage {
  padding-bottom: 3em;
}
/* line 136, site.less */
.ccm-page article.frontpage {
  float: left;
  max-width: 67%;
}
/* line 141, site.less */
.ccm-page #firstpagecontact {
  width: auto;
  min-height: 136px;
  background: #1c453b url(../img/bottombar_frontpage.jpg) no-repeat center;
}
/* line 147, site.less */
.ccm-page #firstpagecontact div.content {
  /*Tilaa kontaktitietojen ylle */
  padding-top: 27px;
}
/* line 151, site.less */
.ccm-page #firstpagecontact p {
  /*Hukataan tyhjä tila yhteystietopalkin alta. */
  margin-bottom: 0;
}
/* line 155, site.less */
.ccm-page .kuutiocontainer {
  /*Rubikin kuution containerin täytyy olla relative että voi absoluuttisesti sijoittaa kuution */
  position: relative;
}
/* line 161, site.less */
.ccm-page #kuutio {
  display: block;
  position: absolute;
  right: -40px;
  bottom: 25px;
}
/* line 169, site.less */
.ccm-page #firstpagecontact p {
  color: #F2F2F2;
}
/* line 173, site.less */
.ccm-page #firstpagecontact hr {
  margin-left: 0;
  /*Firefox+Chrome*/
  text-align: left;
  /*Vaaditaan IE:hen ja Operaan*/
  width: 246px;
  border-style: dotted none none none;
  border-color: #5f857b;
  height: 0;
  margin-top: 12px;
  margin-bottom: 12px;
}
/* line 188, site.less */
.ccm-page .col {
  max-width: 48%;
  width: auto;
  float: left;
}
/* line 194, site.less */
.ccm-page .col:last-child {
  padding-left: 1.5em;
}
/* line 199, site.less */
.ccm-page #bottombar_yla {
  width: auto;
  min-height: 104px;
  background: #ffffff url(../img/bottombar_yla.png) no-repeat center bottom;
}
/* line 205, site.less */
.ccm-page #bottombar_ala {
  width: auto;
  min-height: 100px;
  background: #1c453b url(../img/bottombar_ala.png) no-repeat center top;
}
/* line 213, site.less */
.ccm-page img.kontakti {
  margin-right: 24px;
  vertical-align: middle;
}
/* line 219, site.less */
.ccm-page footer {
  background: #ffffff url(../img/bottombar_shadow.jpg) no-repeat top;
  width: auto;
  padding-top: 30px;
  position: relative;
  /*Relative position että voi sijoittaa copyrightin ja yhteystiedot alareunaan */
}
/* line 228, site.less */
.ccm-page #language img {
  vertical-align: middle;
}
/* line 232, site.less */
.ccm-page #language a,
.ccm-page #language a:visited {
  font-size: 14pt;
  color: #006837;
  text-decoration: none;
}
/* line 238, site.less */
.ccm-page #language a:hover {
  color: #333333;
  font-size: 14pt;
  text-decoration: none;
  transition: all .05s ease;
}
/* line 245, site.less */
.ccm-page section#language {
  padding-bottom: 1.70em;
  padding-top: .8em;
}
/* line 250, site.less */
.ccm-page .col-right {
  display: block;
  float: right;
  text-align: right;
}
/* line 257, site.less */
.ccm-page #bottomlogo {
  padding-bottom: 0.80em;
}
/* line 263, site.less */
.ccm-page .hidden {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  /* IE6 & 7 */
  clip: rect(1px, 1px, 1px, 1px);
}
/* line 269, site.less */
.ccm-page .clear {
  clear: both;
}
/* line 275, site.less */
.ccm-page .content {
  width: auto;
  max-width: 860px;
  /*Oli 705 px, aki vaihtoi */
  margin-left: auto;
  margin-right: auto;
}
/* line 285, site.less */
.ccm-page .mobile {
  display: none;
}
/* line 289, site.less */
.ccm-page .menu-icon {
  max-width: 80px;
  max-height: 80px;
  width: auto;
  height: auto;
  margin-left: auto;
  margin-right: 2px;
}
/* line 301, site.less */
.ccm-page .question {
  vertical-align: top;
}

/* =======================================================
   CONCRETE 9 COMPATIBILITY & TYPOGRAPHY FIXES
   (Consolidated for production)
   ======================================================= */

/* 1. Centering the green bar and footer content */
.ccm-page #firstpagecontact div.content,
.ccm-page footer.content {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
}

.ccm-page #firstpagecontact div.content {
    padding-top: 27px !important;
}

.ccm-page footer.content {
    padding-top: 30px !important;
}

/* 2. Fix the homepage cube position and size */
.ccm-page #kuutio {
    display: block !important;
    position: absolute !important;
    right: -40px !important;
    bottom: 25px !important;
}

.ccm-page #kuutio img {
    max-width: 400px !important; 
    height: auto !important;
}

/* 3. Force old footer layout (overriding Bootstrap 5 Flexbox) */
.ccm-page footer .col-right {
    float: right !important;
    text-align: right !important;
    display: block !important;
}

.ccm-page footer #bottomlogo {
    float: left !important;
    display: block !important;
}

.ccm-page footer #copyright {
    float: left !important;
    display: block !important;
    clear: left !important;
}

.ccm-page footer.content::after {
    content: "";
    display: table;
    clear: both;
}

/* 4. Language Switcher Styling */
.ccm-page #language a,
.ccm-page #language a:visited {
    font-size: 14pt !important;
    color: #006837 !important;
    text-decoration: none !important;
}

.ccm-page #language a:hover {
    color: #333333 !important;
}

/* 5. Layout Column Padding Reset */
.ccm-page .ccm-block-layout-column,
.ccm-page .ccm-block-layout-column-inner,
.ccm-page .ccm-block-content,
.ccm-page .ccm-block-content p {
    padding-right: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
}

.ccm-page .ccm-block-layout-column:first-child .ccm-block-content {
    padding-right: 25px !important; 
}

/* 6. Force Exact Old Typography (Bypassing Bootstrap's defaults) */
.ccm-page .ccm-block-layout-column p,
.ccm-page .ccm-block-layout-column p *, 
.ccm-page .ccm-block-layout-column li,
.ccm-page .ccm-block-layout-column li * {
    font-family: "Open Sans", sans-serif !important;
    font-size: 14pt !important;
    line-height: 1.389em !important;
    color: #333333 !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    font-kerning: auto !important;
    text-rendering: auto !important;
}

/* 7. The "gray_bold" Micro-Typography Fix (Merged into one rule) */
/* This prevents the text from wrapping too early due to modern browser rendering */
.ccm-page .gray_bold,
.ccm-page .gray_bold * {
    font-family: "Open Sans", sans-serif !important;
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #333333 !important;
    letter-spacing: -0.025em !important; 
    word-spacing: -0.08em !important;    
    text-rendering: optimizeSpeed !important; 
}