:root {
    --radius: 3px;
}

* {
    margin: 0;
    padding: 0;
    }

body {
    font: 1em sans-serif;
    background: #fff;
    color: #101010;
    text-align: center;
    }

a {
    text-decoration: underline;
    color: #06f;
    }

a:hover,
a:focus,
a:active {
    text-decoration: underline;
    color: #53B8FF;
    }

a:focus,
a:active {
    outline: 1px solid #53B8FF;
}

html,
body {
    height: 100%;
    width: 100%;
    }

#rakenne {
    text-align: left;
    margin: 1rem auto;
    max-width: 760px;
    background: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 3rem #eee;
    }

header,
footer {
    background: #eee;
    }

header {
    position: relative;
    padding: 1em 1em 0.5em 1em;
    }

header h1 {
    padding: 0;
    }

header nav {
    font-size: 1.3em;
    }

header li a {
    color: #fff;
    background: #111;
    background: linear-gradient(to bottom,blueviolet,#111);
    box-shadow: inset 0 0 2em #000;
    margin-right: 0.25rem;
    border-radius: var(--radius);
    }

header li:last-of-type a {
    margin-right: 0;
    }

header li a:hover,
header li a:focus,
header li a:active {
    text-decoration: none;
    color: #fff;
    background: #555;
    background: linear-gradient(to bottom,#222,#000);
    outline: 1px solid blueviolet;
    }

nav ul {
    list-style: none;
    padding: 0;
    }

nav li,
nav li a,
footer li,
footer li a {
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    }

header nav a,
footer nav a {
    text-decoration: none;
    padding: 0.5em 1em;
    margin: 0 0.25em 0.5em 0;
    }

header nav li:last-of-type a,
footer nav li:last-of-type a {
    margin-right: 0;
}

header p {
    padding: 0;
    position: absolute;
    left: 120px;
    top: 55px;
    }

header p a {
    text-decoration: none;
    color: #444;
    }

#tykkaajat {
    left: auto;
    top: 50px;
    right: 1em;
    }

header dl {
    padding: 0;
    position: absolute;
    right: 1em;
    top: 20px;
    }

header dt,
header dd {
    display: inline-block;
    font-size: 1em;
    }

header dl a,
#tykkaajat a {
    padding: 2px 10px;
    background: #202020;
    color: #ccc;
    margin: 5px;
    text-decoration: none;
    border-radius: var(--radius);
    }

header dl a:hover,
header dl a:focus,
header dl a:active,
#tykkaajat a:hover,
#tykkaajat a:focus,
#tykkaajat a:active {
    background: #333;
    color: #f0f0f0;
    text-decoration: none;
    }

section {
    padding: 1% 0 0 0;
    }


main {
    padding: 1rem;
    }

aside {
    margin: 0 1rem 1rem 1rem;
    }

aside .laatikko {
    background: #ffc;
    padding: 10px;
    margin: 3% 0;
    min-height: 310px;
    }

footer {
    padding: 1em;
    }

footer dl {
    max-width: 760px;
    padding-bottom: 1em;
}

footer dt {
    font-size: 0.9em;
    padding-bottom: 1em;
    }

footer dd {
    font-size: 1.2em;
    }

footer ul {
    padding: 0;
    margin: 0;
}

footer li a {
    outline: 1px solid #000;
    border-radius: var(--radius);
    margin: 0 0.5em 0.5em 0;
}

.g_id_signin {
    min-height: 50px;
}

header,
section,
footer,
.tyhjennys {
    display: block;
    clear: both;
    }

q:after,
q:before {
    content: '"';
    }

h1, h2, h3, h4, h5, h6 {
    padding: 0 0 10px 0;
    font: bold 2em sans-serif;
    line-height: 120%;
    }

h3, h4, h5, h6 {
    font-size: 1.4em;
    }

p, ul, ol, dl, form, table {
    font: 1em sans-serif;
    line-height: 145%;
    padding: 0 0 10px 0;
    }

ul {
    padding-left: 15px;
    }

select,
label,
button,
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
input[type=file] {
    cursor: pointer;
    }

form ul,
dd ul,
form p,
dd p {
    list-style: none;
    padding: 0;
    font-size: 1em;
    }

form li {
    padding-top: 1em;
}

li label {
    padding: 0.5em 0.5em 0 0;
    }

input[type='checkbox'] + label {
    vertical-align: baseline;
    padding-left: 0.5em;
}

input[type=text],
input[type=password],
input[type=email],
input[type=search],
input[type=number],
input[type=file],
input[type=url],
textarea,
select {
    padding: 0.5em;
    min-width: 100px;
}

textarea {
    min-width: 100px;
    min-height: 100px;
    width: calc(80% - 1em);
}

label + textarea {
    vertical-align: top;
}

textarea#yksityisviesti + a {
    border: 1px solid #555;
    background: #fff;
    vertical-align: middle;
    display: inline-block;
    padding: 0.5em;
}

#murjotuskuva {
    float: left;
}

input,
label,
select,
textarea,
button {
    font: 1em sans-serif;
}

[disabled] {
    cursor: not-allowed;
}

fieldset,
legend {
    border-radius: var(--radius);
}

fieldset {
    border: 0.2em solid #737a8d;
    padding: 1em 2em 2em 2em;
    margin-bottom: 1em;
    }

fieldset:last-of-type {
    margin-bottom: 0;
    }

legend {
    font-weight: bold;
    padding: 0.1em 0.5em;
    background: #737a8d;
    color: #fff;
    }

button {
    padding: 0.5em 1em;
    }

form li strong {
    display: block;
    }

form li strong a {
    margin: 0;
    }

#captcha img {
    display: block;
    padding: 0.5em;
    background: #fff;
    border: 1px solid #ccc;
    }

#tule-jo {
    font-size: 1.3em;
    font-weight: 600;
    padding: 2% 0 3% 0;
    }

#tule-jo a,
.valikko a,
.sivutus a,
#ilmoitus button {
    color: #fff;
    background: #333;
    text-decoration: none;
    padding: 0.5em 1em;
    border-radius: var(--radius);
    }

#ilmoitus button {
    font-size: larger;
}

.sivutus a {
    background: #444;
    }

#tule-jo a:hover,
#tule-jo a:focus,
#tule-jo a:active,
.valikko a:hover,
.valikko a:focus,
.valikko a:active,
.sivutus a:hover,
.sivutus a:active,
.sivutus a:focus,
.sivutus .avattu a,
#ilmoitus button:hover,
#ilmoitus button:active,
#ilmoitus button.focus,
nav .avattu a {
    background: #555;
    }

#tule-jo a:hover,
#tule-jo a:focus,
#tule-jo a:active,
.valikko a:hover,
.valikko a:focus,
.valikko a:active,
.sivutus a:hover,
.sivutus a:active,
.sivutus a:focus,
#ilmoitus button:hover,
#ilmoitus button:active,
#ilmoitus button.focus {
    outline: 1px solid #333;
}

#ilmoitus h3,
#ilmoitus h4 {
    padding-top: 1%;
    }

.uusimmat-jasenet {
    list-style: none;
    font-size: 0.85em;
    padding: 0;
    }

.uusimmat,
#ihannekumppanit,
#tykkaajalista {
    list-style: none;
    padding-left: 0;
    }

#ihannekumppanit {
    padding-top: 2%;
    }

.uusimmat-jasenet li,
.uusimmat li,
#ihannekumppanit li {
    display: inline-block;
    vertical-align: top;
    }

.uusimmat-jasenet a,
.uusimmat a {
    padding: 0.5em;
    margin: 0 0.5em 0.5em 0;
    text-decoration: none;
    background: #f0f0f0;
    display: block;
    box-shadow: inset 0 0 2em #ddd;
    }

.uusimmat a:first-line,
#ihannekumppanit strong {
    font-size: 1.5em;
}

.uusimmat a,
#ihannekumppanit a {
    width: 185px;
    padding: 1em;
    display: inline-block;
    margin: 0 0.5em 1em 0;
    position: relative;
    border-radius: var(--radius);
    }

#ihannekumppanit a {
    height: auto;
    }

.uusimmat span {
    display: block;
    }

#ihannekumppanit em {
    font-style: normal;
    display: block;
    padding-top: 10px;
    }

.uusimmat-jasenet img,
.uusimmat img,
#ihannekumppanit img {
    display: block;
    border-radius: var(--radius);
    }

li img {
    max-width: 100%;
    width: auto;
    height: auto;
    }

.pienempi a {
    width: 40px;
    }

#karuselli {
    background: #fff;
    background: radial-gradient(circle at center,#ddd,#fff);
    outline: 2px dashed violet;
    text-align: center;
    margin-bottom: 1em;
    position: relative;
    padding: 1em 0;
    border-radius: var(--radius);
    overflow: hidden;
    max-height: 200px;
    }

#karuselli h5 {
    padding: 1em 0;
    font-size: 1em;
    }

#karuselli ol {
    padding: 0;
    list-style: none;
    min-height: 250px;
    text-align: center;
    }

#karuselli li {
    list-style: none;
    float: left;
    height: 210px;
    }

#karuselli a {
    text-align: center;
    }

#karuselli img {
    display: block;
    margin: 0 auto;
    height: auto;
    width: auto;
    max-width: 100%;
    border-radius: var(--radius);
    }

dt {
    font-size: 1.2em;
    }

#hakutulokset dl {
    border-bottom: 0.5em solid #f0f0f0;
    padding-bottom: 1em;
    margin-bottom: 1em;
    display: table;
    clear: both;
    width: 100%;
    }

#hakutulokset dt {
    font-size: 1.4em;
    padding-bottom: 0.5em;
    }

#hakutulokset dd {
    padding-top: 0.5em;
    }

#hakutulokset img.profiilikuva {
    float: left;
    margin: 0 1em 1em 0;
    }

#hakutulokset img.profiilikuva,
.pyorea img {
    border-radius: 100%;
    }

.valikko,
.sivutus,
#vierailijat,
#yllapitaja,
li blockquote {
    list-style: none;
    font-size: 1.2em;
    padding: 2% 0;
    }

blockquote p:last-of-type {
    font-size: 1.2em;
    font-style: oblique;
    padding-top: 0;
    }

li blockquote p,
#yksityisviesti li p {
    padding: 3%;
    background: #f0f0f0;
    border-left: 5px solid #ccc;
    display: block;
    }

li blockquote strong {
    margin: 0;
    display: inline;
    }

#yksityisviesti li p {
    margin: 10px 0;
    }

#vierailijat {
    padding-top: 0;
    }

.valikko li,
.sivutus li,
#vierailijat li,
#yksityisviesti form {
    display: inline-block;
    }

#kirjoita textarea {
    padding: 1em;
    font: 1.25em monospace;
    }

.valikko a,
.sivutus li {
    text-decoration: none;
    margin-right: 5px;
    }

#vierailijat a {
    padding: 5px 5px 5px 0;
    margin-right: 5px;
    }

#kuva {
    float: right;
    position: relative;
    }

#kuva img {
    user-select: none;
    border-radius: var(--radius);
    }

#kuva:after {
    height: 250px;
    width: 150px;
    z-index: 999;
    content: " ";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    }

#kuva.ei-kirjautunut img {
    filter: blur(1rem);
}

#ilmoitus form {
    padding: 0 10px 10px 0;
    display: inline-block;
    }

#ilmoitus button {
    border: 0;
    }

#ilmoitus ul {
    list-style: none;
    padding: 0 5% 0 0;
    }

#ilmoitus em {
    font-style: normal;
    background: #ffc;
    }

.description {
    font-size: 1.2em;
    padding-bottom: 20px;
    }

.description img {
    vertical-align: middle;
    }

#yllapitaja {
    background: #fcc;
    padding: 5%;
    margin-bottom: 20px;
    }

.virheet {
    list-style: none;
    padding: 10px 5% 20px 5%;
    margin: 1% 0;
    color: #c00;
    background: #ffc;
    }

aside p:last-child {
    font-size: 0.85em;
    color: #666;
    padding: 2% 0;
    }

aside p:last-child a {
    color: #666;
    }

.huomautus {
    background: #fcc;
    padding: 1% 10px;
    margin-bottom: 2%;
    font-size: 1.2em;
    display: block;
    clear: both;
    border-radius: var(--radius);
    }

ul.huomautus {
    list-style: none;
    padding: 0;
    }

ul.huomautus li {
    margin-bottom: 1em;
    padding: 1% 10px;
    }

#ilmoitus li strong {
    display: inline;
    }

a img,
img {
    border: 0;
    }

hr,
caption {
    display: none;
    }

code {
    font-size: 1.3em;
    }

table {
    border-collapse: collapse;
    margin: 0 0 10px 0;
    width: 100%;
    font-size: 0.9em;
    }

th,
td {
    padding: 0.5em;
    vertical-align: top;
    }

tbody td {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    }

thead th {
    font-weight: bold;
    font-size: 1.1em;
    border-bottom: 10px solid #eee;
    }

tbody td {
    border-bottom: 1px solid #f0f0f0;
    }

.toka td {
    background: #fcfcfc;
    }

.nimimerkki a,
#ilmoitus .tanaan em {
    padding-left: 12px;
    }

.tanaan .nimimerkki a,
#ilmoitus .tanaan em {
    background: url(../punainen.png) no-repeat 0 50%;
    }

.lahiaikoina .nimimerkki a {
    background: url(../sininen.png) no-repeat 0 50%;
    }

.ilmoitus {
    text-align: center;
    padding: 2% 0;
    }

.tilasto {
    border-bottom: 3px solid #ccc;
    padding-bottom: 2%;
    margin-bottom: 2%;
    display: block;
    clear: both;
    }

.kirjaudu {
    padding: 2% 0;
    text-align: center;
    }

.ylamarginaali.chart {
    margin-top: 3%;
    }

#seina h2 a {
    text-decoration: none;
    }

#seina ul {
    list-style: none;
    padding: 1em 1em 0 1em;
    border: 1px inset #ccc;
    margin-bottom: 2%;
    background: #f0f0f0;
    display: block;
    overflow: scroll;
    min-height: 300px;
    max-height: 500px;
    font: 1.4em monospace;
    }

#seina li {
    padding-bottom: 1.5em;
}

#seina .oma {
    font-weight: bold;
    }

#viesti textarea {
    resize: vertical;
    max-width: 760px;
}

.kehystetty {
    display: block;
    overflow: auto;
    max-height: 500px;
    }

.osumaprosentti {
    font-size: 1em;
    }

.osumaprosentti span {
    background: #992232;
    color: #fff;
    padding: 3px 5px;
    border-radius: var(--radius);
    }

#omakuva,
#alkuperainen-profiilikuva {
    pointer-events: none;
    user-select: none;
    }

#alkuperainen-profiilikuva img {
    width: auto;
    height: auto;
    max-width: 100%;
    }

#bbcode {
    padding-bottom: 0.5em;
    }

#bbcode button {
    margin: 0;
    }

.alleviivattu {
    text-decoration: underline;
    }

.yliviivattu {
    text-decoration: line-through;
    }

.chart *,
.chart {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    }

.chart {
    width: auto;
    height: 150px;
    display: block;
    margin: 0 auto;
    position: relative;
    font-family: sans-serif;
    font-size: 14px;
    }

aside p,
aside .chart {
    display: block;
    clear: both;
    }

aside .chart {
    max-height: 100px;
    }

.bar-chart {
    display: table;
    table-layout: fixed;
    width: auto;
    height: 100%;
    margin: 0 auto;
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.06) 2%, rgba(0, 0, 0, 0) 2%);
    background-size: 100% 33px;
    background-position: left top;
    padding-top: 26px;
    }

.bar-chart ul {
    margin-left: 34px;
    float: right;
    display: block;
    height: 100%;
    }

.bar-chart li {
    position: relative;
    display: table-cell;
    vertical-align: bottom;
    height: 100px;
    }

.bar-chart span {
    margin: 0 10%;
    display: block;
    background: rgb(248,66,6);
    width: 5%;
    min-width: 26px;
    max-height: 200px;
    position:relative;
    animation: drawBar 0.3s ease-in-out;
    }

.bar-chart li:nth-child(2n+1) span{background-color:rgb(136,136,136)}

.bar-chart ul:last-of-type li:last-child span{margin-right:0}
.bar-chart ul:first-of-type li:first-child span{margin-left:0}
.bar-chart ul:last-of-type {margin-left: 0}
.bar-chart.left-bar ul:last-of-type {margin-right: 0}

.bar-chart.left-bar ul{margin-right: 34px;float:left;margin-left:0}

.bar-chart span:before {
    position: absolute;
    left: 0;
    right: 0;
    top: -20px;
    display: block;
    text-align: center;
    content: attr(title);
    word-wrap: break-word;
    font-size: 11px;
    width: 100%;
    }

.bar-chart li span:before {
    transition: all 100ms ease-in-out;
    }

.bar-chart li:hover span:before {
    transform: scale(1.4);
    font-weight: bold;
    }

@-webkit-keyframes drawBar {0% {height: 0;}}
@-moz-keyframes drawBar {0% {height: 0;}}
@keyframes drawBar {0% {height: 0;}}

.chart.donut{
    width: 200px;
    height: 200px;
    }

.donut-chart{
  width:100%;height:100%;
  position:relative;overflow:hidden;
}

.donut-chart:after{
  content:"";
  position: absolute;
  width: 86%;
  height: 86%;
  background: rgb(248,248,248);
  left: 50%;
  top: 50%;
  z-index: 400;
  margin: 0 auto;
  border-radius: 100%;
  transform: translateX(-50%) translateY(-50%);
}

.donut-chart h2{
  text-align:center;
  position: absolute;
  line-height: 140%;
  width: 100%;
  margin-top:-30px;
  top:50%;
  z-index:500;
  font-size:26px;
  font-weight:400;
  color:rgb(0,0,0);
}

.donut-chart h2 span{
  display:block;
  width:100%;
  font-size:14px;
  color:rgb(142,143,143);
  margin-top:-10px;
}

.donut-chart .spinner{
  z-index: 200;
  border-right: none;
  border-radius: 100% 0 0 100% / 50% 0 0 50%;
  transform: rotate(0deg);
  animation: rotateDonut 0.3s ease-in-out;
}
@-webkit-keyframes rotateDonut {0% {transform: rotate(0deg)}}
@-moz-keyframes rotateDonut {0% {transform: rotate(0deg)}}
@keyframes rotateDonut {0% {transform: rotate(0deg)}}

.donut-chart .spinner.temp{display:none}

.donut-chart .pie {
  width: 50%;
  height: 100%;
  position: absolute;
  background: rgb(195,218,191);
  transform-origin: 100% 50%;
}

.donut-chart .mask{
  background:rgb(248,248,248);
  z-index: 400;
  margin-left: -1px;
}

.pie-chart:before{
  display:none;
}

.chart.line{width:auto;height:auto;margin:0 auto}
.chart .line-chart{width:600px;height:600px;margin:100px auto;display:block;position:relative}
.line-chart:before{content:"";display:block;position:absolute;left:0px;bottom:0px;height:100%;width:1px;background:rgba(0,0,0,0.1);padding-top:10px}
.line-chart:after{content:"";display:block;position:absolute;left:0px;bottom:0px;width:100%;height:1px;background:rgba(0,0,0,0.1);padding-right:10px}

.line-chart li{display:block;height:1px;background:red;float:left;position:relative;transform-origin: bottom left;position:absolute;
    animation: draw 0.3s ease-in-out;
}
.line-chart li:before{content:"";position:absolute;left:-4px;bottom:-4px;width:6px;height:6px;border-radius:50%;display:block;background:#FFF;border:2px solid red}

.line-chart li:first-child{margin-left:0px;}
.line-chart li:last-child:after{content:"";position:absolute;right:-4px;top:-4px;width:6px;height:6px;border-radius:50%;display:block;background:#FFF;border:2px solid red}

@-webkit-keyframes drawLine {0% {width: 0}}
@-moz-keyframes drawLine {0% {width: 0}}
@keyframes drawLine {0% {width: 0}}

ins {
    text-decoration: none;
    background: gold;
}

#jasenyys {
    text-align: center;
    padding: 1em;
}

#jasenyys dl {
    padding: 0;
}

#jasenyys dt,
#jasenyys dd {
    display: inline-block;
    padding: 0.5em;
}

#jasenyys dt {
    font-weight: bold;
}

#jasenyys dt:after {
    content: ': ';
}

#jasenyys legend {
    margin: 0;
}

#jasenyys form b {
    font-size: large;
}

#jasenyys form li {
    display: inline-block;
    vertical-align: middle;
}

#jasenyys button {
    padding: 0.5em;
    margin: 1em;
    border: 1px outset #ccc;
    background: #fff;
    box-shadow: inset 0 0 1em #ccc;
    max-width: 158px;
    border-radius: var(--radius);
}

#jasenyys button:hover,
#jasenyys button:focus,
#jasenyys button:active {
    background: gold;
    box-shadow: inset 0 0 1em goldenrod;
}

#jasenyys img {
    width: auto;
    height: auto;
    max-width: 100%;
    user-select: none;
}

.glowing img {
    animation-name: glowing;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
}

.intro img {
    animation-name: intro;
    animation-duration: 2s;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
}

@keyframes glowing {
    from {
        filter: saturate(0);
    }
    to {
        filter: saturate(100%);
    }
}

@keyframes intro {
    from {
        filter: blur(5px) saturate(0);
    }
    to {
        filter: blur(0) saturate(100%);
    }
}

#tykkaajalista li,
#tykkaajalista a {
    display: inline-block;
    vertical-align: top;
    text-align: center;
}

#tykkaajalista a {
    box-shadow: inset 0 0 1em #ccc;
    margin: 0 1em 1em 0;
    padding: 1em;
    border-radius: var(--radius);
    outline: 1px solid #ccc;
    overflow: hidden;
}

#tykkaajalista img {
    border-radius: var(--radius);
}

#tykkaajalista .vapaamatkustaja {
    filter: blur(2em);
    user-select: none;
    pointer-events: none;
}

#tykkaajalista strong {
    font-size: 1.5em;
}

@media all and (max-width: 880px) {
    header nav {
        font-size: 1em;
    }
    aside,
    main {
        display: block;
        float: none;
        width: auto;
        padding-bottom: 0;
        }
    .valikko,
    .sivutus,
    #vierailijat,
    #yllapitaja,
    .ote {
        padding-top: 1%;
        }
    header p:first-of-type {
        display: none;
        }
    header dl {
        right: 150px;
        }
    #tykkaajat {
        top: 20px;
        }
    #ilmoitus ul {
        padding: 0 1% 2% 0;
        float: none;
        }
}

@media all and (max-width: 680px) {
    #tule-jo a,
    .valikko a,
    .sivutus a,
    #ilmoitus button {
        padding: 0.5em;
        margin-bottom: 0.5em;
        }
    table th,
    table td {
        line-height: 200%;
        }
    table th a,
    table td a {
        padding: 0.2em;
        }
}

@media all and (max-width: 580px) {
    #tykkaajat,
    header dl {
        top: 15px;
        }
    header dt {
        display: none;
        }
}

@media all and (max-width: 510px) {
    header dt {
        display: inline;
        }
    header dl {
        position: static;
        padding: 5% 0;
        text-align: center;
        }
}