@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

html, body{
    margin: 0;
    padding: 0;
    height: 100%;
} 

body,
input,
select,
textarea,
button {
	font-size: 16px;
    font-family: "Nunito", sans-serif;
	font-weight: 400;
    color: #888;
}

h1, h2, h3, h4, h5 {
    color: #38c0da;
}

a {
    color: #105D67 !important;
}

td.kalenteriVkonloppu a {
    color: #C9723D !important;
}

a:hover {
    color: #888;
}

.sivu {
    min-height: 100vh; /* 100% of the viewport height */
    display: flex;
    justify-content: center;
    /*align-items: center; These two lines are optional, for centering content */
    max-width: 95%;
	position: relative;
	margin: auto;
	overflow: hidden;
    background-image: url("Kuvat/As/Taustarevontulet.jpeg");
    background-size: 100% 75vh  ;
    background-repeat: no-repeat;
    background-position: center 110px;
    background-attachment: fixed;
    opacity: 90%;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-top: 0px;
	border: none;
}

input[id$='_imgLogo'] {
	max-height: 55px;
    margin: 15px;
}
.sisaltokehys {
	margin-top: 5px;
    opacity: unset;
	/*position: relative;*/
	padding: 20px;
	background-color: white;
	width: 100%;
   /* height: 100%;*/
}

.kehys {
    max-width: 980px;
    min-width: 300px;
    min-height: 100%; /* Will be at least as tall as the .base */
	box-shadow: 1px 0px 3px #888;
    margin: auto;
    padding: 0px;
    background-color: white;
	border: 2px solid #1b201e;
    width: 100%;
    position: relative;
}

form {
    max-width: 980px;
    min-width: 300px;
    min-height: 100%; /* Will be at least as tall as the .base */
    width: 100%;
}
.menurivi {
	margin-left: 15px;
    max-width: 800px;
    text-align: left;
}

.otsikko {
    color: #38c0da;
    font-weight: inherit;
}

span[id$="_lblAika"] {
    font-weight: inherit;
    margin-bottom: 10px;
}

span[id$="_lblMiksi"],
span[id$="_lblVastaanottaja"]{
    font-size: larger;
}

.otsikkovahva {
    font-weight: bold;
    font-size: larger;
    border-style: none;
}

.syotto {
	color: Black;
	background-color: white;
	margin-left: 10px;
	border-radius: 5px;
	font-size: 1.0em;
    /*border-radius: 4px 4px;*/
}

.keski {
    margin-left: 8px
}

.pudotusvalikko {
    width: 200px;
    font-weight: normal;
    background-color: white;
    color: black;
    margin-left: 10px;
}

.vahvistusaika {
	font-size: 14px;
	font-weight: normal;
    background-color: rgba(105, 160, 215, .1);
    border-style: none;
	padding: 14px;
    color: #888;	
}

.labelIlmoitus {
    color: #5f5f5f;
    max-width: 100%;
    min-width: 100px;
    font-weight: bolder;  
}
.ilmobox {
    background-color: rgba(105, 160, 215, .2);
    border-style: solid;
    border-width: thick;
    border-color: white;
	padding: 6px;
}
.labelHuomautus {
    color: #888;
/*    font-weight: bold;*/
    padding: 20px;
    
}

span.labelHuomautus[id$="_lbTpOhje"]{
    font-weight: bolder;
}

.labelHuomautusKesk {
    color: #005BAB;
    font-weight: bold;
    text-align: center;
    min-width: inherit;
    padding: 4px;
}

.tpteksti {
    min-width: 300px;
    font-size: larger;
    margin: 1px;
    background-color: white;
    border-style: none;
    align-self: center;
}

.btn-primary {
    background-color: #789ea4;
    color: #fff;
    border-color: #789ea4;
	text-decoration: none;
}

/* pbNappula-tyylit perityv�t t�st� luokasta */
[class*="pbNappula"] {	
	margin: 10px;
	font-weight: 500;
    background-color: #789ea4;
    color: #fff;
    border-color: #789ea4;
	border-radius: 5px;
	padding: 8px;	
}

/* vap.ajat taulukon nappula */
.pbNappula {
    min-width: 60px;
}

.pbNappula:hover {
    background-color: #86a8ad;
    border-color: #86a8ad
}

.pbNappulaIso {
    font-size: x-large;
	max-width: 460px;
}

.pbNappulaIso:hover {
    background-color: #86a8ad;
    border-color: #86a8ad;
	text-decoration: none;
}

.pbNappulaMenu {
	width: 180px;
}

.pbNappulaMenu:hover {
    background-color: #86a8ad;
    border-color: #86a8ad
}
   
.pbNappulaMenuLippu {
	width: 45px;
    height: 40px;
	border-style: none;
	background-color: white;
}

.pbNappulaMenuLippu:hover {
    background-color: #789ea4;
}

.pbNappulaMiksi {
	min-width: 210px;
 
}
.pbNappulaMiksiValittu {
    background-color: #86a8adc8;
    border-color: #86a8ad;
	min-width: 210px;
}

.pbNappulaMiksi:hover {
    background-color: #86a8ad;
    border-color: #86a8ad
}

.pbNappulaMiksiKamp {
     color: gold;
    font-style: italic;
    font-weight: bold;
    border-style: solid;
 }

.pbNappulaVid {
	min-width: 210px;
 
}
.pbNappulaVidValittu {
    background-color: #86a8adc8;
    border-color: #86a8ad;
	min-width: 210px;
}

.pbNappulaVid:hover {
    color: white;
    background-color: #86a8ad;
    border-color: #86a8ad;
	text-decoration: none;
}

.pbNappulaAnonyymi {
    /* suoraan vaipaiden aikojen katseluun */
	vertical-align: middle;
    font-weight: bold;
	min-width: 200px;
	max-width: 50%;
	margin: auto;
    background-color: #789ea4;
	border: solid 2px #789ea4;
    color: #fff;
	border-radius: 5px;
	padding: 8px;
	font-Weight: 500;
}

.pbNappulaAnonyymi:hover {
    color: white;
    background-color: #86a8ad;
    border-color: #86a8ad;
	text-decoration: none;
}

/* toimipistevalintanappulat */
.pbEiValittu {
    margin: 5px;
    min-width: 120px;
    background-color: #FFFFFF;
    color: #009ee3;
    border-radius: 0px;
    border: 1px thin #D4D4D6;
    padding: 3px;
}
.pbValittuX {
    margin: 5px;
    min-width: 120px;
    background-color: #009ee3;
    color: #FFFFFF;
    border-radius: 0px;
    border: 1px thin #D4D4D6;
    padding: 3px;
}

.txtotsikko {
    font-weight: 500;
    font-size: x-large;
    text-transform: uppercase;
    color: buttontext;
    background-color: #505050;
    border-top-style: none;
    border-right-style: none;
    border-left-style: none;
    border-bottom-style: none;
}

.yritys {
    font-weight: bold;
    font-size: 20px;
    /*font-family: 'Comic Sans MS', Sans-Serif;*/
}

.varaaja {
    font-size: x-small;
    font-Weight: bold;
    text-align: right;
    /*width: 590px;*/
}

.labelError {
    color: white;
    background-color: red;
}

.nappularivi {
    vertical-align: middle;
    position: absolute;
    right: 5px;
}

#ylareuna {
    position: relative;
    min-height: 152px;
	padding-top: 0px;
	/*padding-bottom: 20px;*/
    border-bottom: 1px solid #1b201e;
}

#ylareuna_i::after {
    z-index: 1;
    content: 'Sivusto ei ole vielä käytössä. \A Varaa aika puhelimitse!';
    display: block;
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    color: #83493A;
    font-size: 30px;
    font-weight: bold;
}

.alareuna {
    border-top: 1px solid #1b201e;
    margin-top: 0px;
    vertical-align: middle;
    text-align: center;
    font-size: smaller;
    margin-left: 0px;
    width: 100%;
    color: #888;
    padding-bottom: 5px;
    position: relative;
    bottom: 0;
}

.av_otsikko {
    font-size: larger;
    color: gray;
}

.pbInfo {
    font-size: small
}


.roundedPanel {
    width: 300px;
    background-color: red;
    color: white;
    font-weight: bold;
}

.lisatietoikkuna {
    background-color: White;
    color: Black;
}

/*  kalenterin tyylit */

.kalenteri {
    background-color: white;
    width: 250px;
    color: black;
}

.kalenteri a {
    text-decoration: none;
}

.kalenteri .kalenteriTitle {
    font-weight: bold;
    /*background-color: #EFCEAD;*/
}

.kalenteri .kalenteriNextPrev {
    text-align: center;
}

    .kalenteri td.kalenteriSelector {
          background-color: #67B7C3 !important;
    }
td.kalenteriTanaan {
    background-color: #FFF2EB !important;
}
/*
table[id$="_Kalenteri"] tr td[style*="background-color:LightGreen;"] {
    background-color: #EFCEAD !important;
}*/

table[id$="_Kalenteri"] tr td[style*="background-color:LightGreen;"]:hover {
    background-color: #38c0da !important;
}

.kalenteri .kalenteriDay a,
.kalenteri .kalenteriSelector a,
.kalenteri .kalenteriNextPrev a {
    display: block;
    line-height: 18px;
}


/* --- gridin tyyli */

.mGrid {
    max-width: 1000px;
    background-color: #fff;
    border: solid 1px #0E361D;
}

.mGrid td {
    padding: 2px;
    background-color: rgba(105, 160, 215, .1) !important;
    border: solid 1px #c1c1c1;
    color: Black;
}


/* otsikko */

.mGrid th {
    padding: 4px 2px;
    color: #fff;
    background: rgba(105, 160, 215, .4);
    border-left: solid 1px #0E361D;
    border-top: solid 1px #0E361D;
    border-bottom: solid 2px #0E361D;
}

.mGrid td.pbNappula {
    background: rgba(105, 160, 215, .4) !important;
}

.mGrid .alt {
    background: #efebeb;
}

.mGrid .pgr {
    background: #dddddd;
}

.mGrid .pgr table {
    margin: 5px 0;
}

.mGrid .pgr td {
    border-width: 0;
    padding: 0 6px;
    border-left: solid 1px #0E361D;
    font-weight: bold;
    color: #fff;
    line-height: 12px;
}

.mGrid .pgr a {
    color: #666;
    text-decoration: none;
}

.mGrid .pgr a:hover {
    color: aqua;
    text-decoration: none;
}

.Pikahaku {
    border-width: initial;
    border: solid;
    font-weight: normal;
    color: cornflowerblue;
    display: flex;
    align-items: center;
    justify-content: center;
 }

.piilo {
    width: 1px;
    font-size: xx-small;
    padding: 0px;
    border:none;
    color: white;
}

/* varauksen tiedot taulukko*/
.varaustxt {
    font-weight: normal;
    font-size: inherit;
}

span[id$="_lblVarausotsikko"], span[id$="_lblOhje"]{
/*    font-family: Lora;*/
}

.vahvistusaikaArvo {
    font-weight: bold;
    font-size: larger;
    padding: 10px;
}

.card-text {
	margin-left: 12px;
	margin-top: 6px;
}

.card-footer {
    background-color: inherit;
    border: none;
}

.card-image-right {
	margin-top: 5px;
	border: 1px solid #EDEDED;
}

div[id^='vapaa'] {
	font-size: 12px;
	font-Weight: normal;
	margin-bottom: 10px;
	background-color: white;
	color: #3A3A3A;
}

#Pikahaku {
	margin-top: 20px;
}

div.valinnat br {
    font-size: xx-small;
}

/* Warning for empty reservation message. */
div.alert-dismissible {
    position: absolute;
    top: 100%;      /* Aligns the top of the alert with the bottom of the textarea*/
    left: 0;       /* Aligns the right edge of the alert with the right edge of the textarea*/
    width: auto;    /* Ensures the alert width can adjust based on its content*/
    z-index: 1000;  /* Ensures the alert is on top if overlapping occurs*/
}

textarea.missing {
    background-color: lightyellow;
}