.calendarinfo { width: 95%; margin: 10px auto 20px auto; padding: 0 0 30px 0; background: #f1f1f1; box-shadow: 0 0 1px rgba(0,0,0,0.5), 0 0 10px rgba(0,0,0,0.5) ; overflow: hidden; color: #000; }
.calendarinfo p { color: #000; margin: 0 0 20px 0; padding: 0 20px; line-height: 1.33;  font-size: 1rem; font-family: Roboto; clear: both; }
 

 .allbuttonwrap { min-height: 410px; }
 .buttonwrap { min-height: 222px; }

 .premsel span { position: absolute; top: -20px; margin: 0 0 0 -15px; border: 3px solid green; width: 40px; line-height: 44px; height: 40px; font-size: 1.5rem; 
  border: 1px solid rgba(100,100,100,1); background: #fff; border-radius: 50px; color: #a2c442; box-shadow: 1px 1px 10px rgba(100,100,100,0.5); display: none; 
  }

div.premsel {
  transition: all 200ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;  
  width: 94%;
  margin:  0px 3% 0 3%; 
  visibility: 1;
}
div.premsel > div {
   flex: 1 0 170px;  
   padding: 10px;
}

div.premsel h4 { 
  padding: 0;
  margin: 0; 
  height: 2rem;
  line-height: 2rem; 
  padding: 10px 10px 20px 10px;
  font-weight: 400;
  letter-spacing: -0.02em;
  font-size: 2rem;
  color: #555; 
	}

div.premsel p { 
  padding: 0;
  margin: 0;  
  font-size: 1rem;
  color: #333; 
	}
.premsel input[type="radio"] {
  display: none; 
}
.premsel label {
	cursor: pointer;
   height: 160px;
  display: block;
  background: white;
  border: 1px solid rgba(150,150,150,1);
  border-radius: 20px;
  padding: 20px 5px 10px 5px;
  margin-bottom: 1rem; 
  text-align: center; 
  position: relative;
}
.sml label { 
   height: 60px; 
}
.mid label { 
   height: 100px; 
} 
.premsel input[type="radio"]:checked + label {
  background: #a2c442; 
  box-shadow: 0px 0px 10px rgba(100,100,100,0.5); 
} 
 
.premsel input[type="radio"]:checked + label span {
  display: inline;
   
} 
 
.premsel input[type="radio"]:checked + label h4 {
  color: #fff; 
  text-shadow: 0px 0px 3px rgba(100,100,100,1);
} 
.premsel input[type="radio"]:checked + label p {
  color: #fff; 
  text-shadow: 0px 0px 3px rgba(100,100,100,1);
} 
 
/*
input[type="radio"]#price_05:checked + label {
  background: orange; 
}
input[type="radio"]#price_05:checked + label span {
  color: orange; 
}
*/

.extbut { background: #f1f1f1;    }
 
.hide {  
	height: 0 !important;
	visibility: hidden !important;
	opacity: 0; transition: all 300ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
}
.hidebuts label, .hidebuts h3, .hidebuts p {   
	visibility: hidden !important;
	opacity: 0; transition: all 300ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
}


.extbut { background: #f1f1f1;    }
 
.hide {  
  height: 0 !important;
  visibility: hidden !important;
  opacity: 0; transition: all 300ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
}
.hidebuts label, .hidebuts h3, .hidebuts p {   
  visibility: hidden !important;
  opacity: 0; transition: all 300ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
}

#settingssubmit { display: block; margin: 30px auto 10px auto; width: 400px; padding: 10px 20px; line-height: 3rem; font-size: 2rem; text-align: center; box-shadow: 0px 0px 10px rgba(255,255,255,1); }

.abutt {  display: block; border-radius: 5px; background: #a2c442; margin: 0 auto; width: 360px; padding: 10px 20px; margin-top: 20px; line-height: 3rem; font-size: 2rem; text-align: center; font-family: Oswald; color: rgba(255,255,255,0.75);   }
.abutt:hover { background: #85a036; color: rgba(255,255,255,0.9); cursor: pointer; outline: none; }




@media only screen and (max-width:1100px){
  
  .allbuttonwrap {   }
  .buttonwrap { min-height: 250px; }
  h3.blocked { font-size: 1rem; height: auto !important; width: 90% !important; margin: 0 !important; }

.premsel span { top: -25px; 
  }
  div.premsel > div {
     flex: 1 0 180px;  
     padding: 6px 10px;
  } 
  div.premsel > div.ofodd {
     flex: 1 0 100%;  
     padding: 0px 10px 10px 10px;
     box-sizing: border-box;
  }

  .premsel label {  
    padding: 10px 5px  0px 5px; 
  }
  .sml label { 
     height: 60px; 
  }
  .mid label { 
     height: 60px; 
  } 

  div.premsel label p { 
    display: none;
  }

}



@media only screen and (max-width:800px){
 
  .allbuttonwrap {   }
  .buttonwrap { min-height: 300px; }

  h3.blocked {  height: auto !important; width: 95% !important; margin: 0 !important; }
  h3.subhead {  height: auto !important; width: 95% !important; margin: 0 !important; font-size: 1.75rem !important; }

  .premsel h3.blocked { font-size: 1.5rem !important; }

  h3.blocked span { display: block;  font-size: 4rem !important; line-height: 4rem; }
 
  div.premsel > div {
     flex: 1 0 180px;  
     padding: 0px 5px 15px 5px;
  } 
  div.premsel > div.ofodd {
     flex: 1 0 100%;  
     padding: 0px 10px 10px 10px;
     box-sizing: border-box;
  }

  div.premsel h4 { 
 
    font-size: 1.5rem; 
  }
  .premsel label {  
    padding: 10px 0 0px 0; 
  }
  .sml label { 
     height: 60px; 
  }
  .mid label { 
     height: 60px; 
  }  
  #settingssubmit, .abutt { width: 90% !important; box-sizing: border-box; padding: 10px 20px; line-height: 3rem; font-size: 1.5rem;  }


}