body{
  background-color:#373737;
  color:#EFECECEF;
  font-size:calc(1em + 1vmin);
}
h1{
  font-size:2rem;
  padding-bottom:2rem;
  padding-top:0.5rem;
  line-height:1.2;
  text-decoration:underline;
}
h2{
  text-align:center;
  font-size:2.5rem;
  padding:1rem;
  width:90%;
}
h3{
  font-size:2rem;
}
input, textarea, button, .notice {
  width: 90%;
  font-size:2rem;
  margin: 2rem 5% 1rem;
  line-height: 1.3;
  text-align: justify;
  resize: none;
}
button {
  transition-duration: 0.4s;
  font-size: 1.45rem;
  height:4rem;
  text-align:center;
  text-shadow: 1px 1px 2px #3f5147, 0 0 1em #3f5147;
}
button:hover{
  background-color: white;
  text-shadow: 1px 1px 2px #3f5147, 0 0 1em #fbba1f;
}
.header{
    background-color: #fbba1f;
    text-align: center;
    padding: 1rem 2rem;
    margin: 0;
    letter-spacing: .1rem;
    position: fixed;
    width: 100%;
    height: 9rem;
	z-index:100;
}
.diamond{
  width:95%;
  max-width:45rem;
}
.introduction{
  text-align:center;
  background-color:#272727;
  padding:14rem 1rem 4rem;
}
.introductiontext{
  line-height:1.2
}
.services{
  margin-bottom:0.5rem;
}
.category1, .category2{
  padding: 0.5ex;
  padding-bottom: 3ex;
  text-align:center;
  justify-content: center;
}
.category1{
  background-color: #373737;
}
.category2{
  background-color: #272727;
}
.subcategory1, .subcategory2{
  flex-grow: 0;
  margin: 0.5%;
  background-color: #3f5147;
  width: 45%;
  min-height: 6rem;
  min-width: 45rem;
}
.term{
  flex-grow: 0;
  padding: 1ex;
  margin: 0.5%;
  background-color: #3f5147;
  width: 45%;
  min-width: 45rem;
  line-height: 2rem;
}
.productheader{
  font-size: 2rem;
  font-weight: bold;
  margin-bottom:0.5rex;
  width:100%;
}
.footer{
  background-color:#3f5147;
  margin-top:.5rem;
  border-top:#3f5147 ridge 0.2rem;
  text-align:center;
  font-size:0.8rem;
  padding:0.5rem;
}
.footerimage{
  width:9rem;
}
a{
  color:#EFECECEF;
}
.notice{
  color:#fbba1f;
  font-size:0.9rem;
}
fieldset,.terms {
  clear: both;
  display: flex;
  text-align: center;
  flex-wrap: wrap;
  align-content: flex-start;
  flex-direction: row;
  justify-content: center;
}
label {
  position: relative;
  width: 100%;
  height: 5rem;
  display: inline-block;
  cursor: pointer;
  font-size: 2rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-top: 2rem;
  font-size:2.75rem;
}

/* Hide the browser's default radio button */
label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom radio button */
.checkmark {
  position: absolute;
  height: 4rem;
  width: 4rem;
  left: 1.5rem;
  top: 1.5rem;
  background-color: #eee;
  border-radius: 3px;
}

/* On mouse-over, add a grey background color */
label:hover input ~ .checkmark {
  background-color: #ccc;
}

label:has(input:checked){
  background-color:#597867;
  font-weight:bold;
}
/* When the radio button is checked, add a blue background */
label input:checked ~ .checkmark {
  background-color: #fbba1f;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
label input:checked ~ .checkmark:after {
  display: block;
}

/* Style the indicator (dot/circle) */
label .checkmark:after {
  top: 1rem;
  left: 1rem;
  width: 2rem;
  height: 2rem;
  border-radius: 2px;
  background: white;
}
span.content{
  display:block;
  margin-top:0.5rem;
  margin-left:1rem;
  line-height:1.3;
  text-align: justify;
}
hr{
  border-top:#3f5147 ridge 0.2rem;
  border-bottom:none;
  border-left:none;
  border-right:none;
  margin:0;
  clear:both;
}