html {
    font-size: 16px;

    font-family: 'DM Sans', sans-serif;

}

body {
    /*background: rgb(202, 199, 183);*/
    background: #bfa947;

    margin: 0;
    padding: 0;

    display: flex;
    flex-direction: column;

    box-sizing: border-box;
    

}

a {
  color:black;
}
a:hover {
  font-weight: bolder;
}

.main {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.mainFiller {
  flex-grow: 1;
}
header {
  /* background-color:#fff9df; */
  background-color:#262626;
  color: #bfa947;
  text-align: center;
  padding: .5em;
}
footer {
  padding: 0 1em 3em 1em;
  max-width: 50em;
  margin: 0 auto;
}

h2 { font-size: 1.5em; margin: 1em 0 0 0; }
h3 { margin-bottom: .2em; }
h4 { font-size: .8em; margin: 0 0 .5em 0; color: #999; }

.hidden {
  display: none !important;
}

.p1Logos {
  display: flex;
  /* flex-direction: row; */
  align-items: center;
  padding: 1em 1em .5em 0;
}
.p1Logos>div:nth-child(1) {
  flex-grow: 1;
}
.p1Logos>div:nth-child(2) {
  text-align: end;
}
.p1Logos>div:nth-child(1)>img {
  padding-left:1em;
  width: 100%;
  max-width: 12em;
}
.p1Logos>div:nth-child(2)>img {
  width: 50%;
  /*width: 13em;*/
}



.p1H1 {
  text-align: center;
}
.p1H2 {
  text-align: center;
}

.notificationOnTop{
  position: fixed;
  width: 100%;
  text-align: center;
  padding: 1em;
}

.container {
    background: #FFF;
    margin: 2%;
    padding: 2%;
    width: 96%;
    max-width: 20em;
    max-width: 50em;
    align-self: center;
    /* width: 96%; */
}

.buttonContainer, .collectionContainer {
  display: flex;
  flex-direction: column;
}

.collectionContainer { text-align: center; }
.buttonContainer { margin: 2em 0;}

.buttonContainer button, .bigButton {
    /* background: orange; */
    background: #262626;
    padding: 5%;
    margin: 3% 10%;
    border: none;
    font-size: 1.5em;
    color:#bfa947
}

.buttonContainer button:hover, .bigButton:hover {
    /* background: rgb(255, 186, 57); */
    color:white;
    cursor: pointer;
    background: #444;
}

.bigButtonDisabled {
  background-color: #ddd !important;
  color: #888 !important;
}

.logoButton {
  display: flex;
  background: #183E4F !important; /* BankID */
  color:#FFF !important;
  align-items: center;
  padding: 1% 0 1% 3% !important;
}
.logoButton>div:nth-child(1) { flex-grow: 1; text-align: left; }
.logoButton>div:nth-child(2) { display: inline-flex; }
.logoButton img { width: 4em; }
.logoButton:hover { color: #ddd !important; }


.formContainer {
    background: rgb(138, 138, 138);
    margin: 1em;
    padding: 1em;;
}

.qContainer {
    margin-bottom: 1em;
}

.qContainerInput {
    display: flex;

    background-color: #eee;
    border-bottom: 1px solid white;
    align-items: center;
}
.qContainerInput:last-child {
    border-bottom: none;
}

.qContainerInput label {
    flex-grow: 1;
    padding:.5em;
}

.docsContainer {

}

.docContainer {
    margin-bottom: 1em;
    background: #eee;
    padding: 1em;
}

.docContainer>.docItemContainer {
    margin-top: 1em;
}
.docContainer>.docItemContainer:first-child {
    margin-top: 0;
}

/* .docItemContainer {
    margin-top: 1em;
}
.docItemContainer:first-child {
    margin-top: 0;
} */

.docContainerHeader { }
.docContainerHeader>div { display: flex; }
.docContainerHeader>div>div { flex-grow: 1; }
.docContainerHeader>div>div:nth-child(2) { text-align: right; }
.docContainerHeader>h2 { text-align: center; margin: 1.5em 0 .5em 0; }

.signContainer {

}

.super {
  font-size: small;
  vertical-align: super;
}

.poaTemplate {
  padding: .5em 0;
  font-weight: 100;
}
.poaTemplate h1 {
  text-align: center;
}
/* .poaTemplate h2 {
  font-size: 1.3em;
} */





/* ---

https://iamkate.com/code/checkboxes-and-radio-buttons/
https://www.w3schools.com/howto/howto_css_custom_checkbox.asp
https://moderncss.dev/pure-css-custom-styled-radio-buttons/



*/

/* input:where([type="checkbox"], [type="radio"]){
    -webkit-appearance : none;
    appearance         : none;
    width              : 22px;
    height             : 22px;
    margin             : calc(0.75em - 11px) 0.25rem 0 0;
    vertical-align     : top;
    border             : 2px solid #ddd;
    border-radius      : 4px;
    background         : #fff no-repeat center center;
  }
  
  input[type="radio"]{
    border-radius : 50%;
  }

  input:where([type="checkbox"], [type="radio"]):where(:active:not(:disabled), :focus){
    border-color : #696;
    outline      : none;
  }

  input:where([type="checkbox"], [type="radio"]):disabled{
    background : #eee;
  } */

  /* input[type="checkbox"]:checked{
    background-image : url('checkbox.svg');
  }
  
  input[type="radio"]:checked{
    background-image : url('radio.svg');
  } */
/* 
  input,
textarea,
select{
  border        : 2px solid #ddd;
  border-radius : 4px;
  background    : #fff no-repeat center center;
  color         : #000;
}

:is(input, textarea, select):where(:active:not(:disabled), :focus){
  border-color : #696;
  outline      : none;
}

:is(input, textarea, select):disabled{
  background : #eee;
  color      : #000;
}

input:where([type="checkbox"], [type="radio"]){
  -webkit-appearance : none;
  appearance         : none;
  width              : 22px;
  height             : 22px;
  margin             : calc(0.75em - 11px) 0.25rem 0 0;
  vertical-align     : top;
}

input[type="radio"]{
  border-radius : 50%;
}

input[type="checkbox"]:checked{
  background-image : url('checkbox.svg');
}

input[type="radio"]:checked{
  background-image : url('radio.svg');
} */




*,
*:before,
*:after {
  box-sizing: border-box;
}


:where(input, .inputTextarea, .inputSelect) {
    font-size: 1em;
    padding: .3em;
}

input:invalid {
    /* border: 1px dashed red; */
    border: 1px solid #bbb;
}

input:invalid:required {
    /*background-image: linear-gradient(to right, pink, lightgreen);*/
    background-color: #ffe8e8;
}

input:valid {
    /* border: 1px solid #16f331;
    background-color: #e0ffe4; */

    border: 1px solid #aaa;
    background-color: #fff;
}

:where(input[type="text"], input[type="tel"], input[type="email"]) {
    /* padding:3px; */
    width:100%;
    height: 100%;
}

.inputTextarea {
    width:100%;
}

.inputSelect {
    width:100%;
    background: #ffffff;
    height: 2.3em;
}

:where(input[type="radio"]) {
  -webkit-appearance    : none;
  appearance            : none;
  width                 : 1.5em;
  height                : 1.5em;
  border-radius         : 50%;
  transform             : translate(-0.4em);
  display               : grid;
  place-content         : center;
}

/* input:where([type="checkbox"], [type="radio"]):where(:active:not(:disabled), :focus){
    border-color : #696;
    outline      : none;
} */

:where(input[type="radio"]):invalid {
    border-color : rgb(196, 118, 16);
    outline      : none;
}

/* :where(input[type="radio"]):invalid:required {
    border-color : rgb(16, 48, 155);
    outline      : none;
} */

/* input[type="radio"]:checked{
    
    border: none;
    outline: 2px solid deeppink;

} */

:where(input[type='radio']):checked:after {
    width: 1em;
    height: 1em;
    border-radius: 1em;
    background-color: #428346;
    content: '';
    display: inline-block;
    /* visibility: visible;
    border: 4px solid white; */
}

/* -- */
:where(input[type="checkbox"]) {
    -webkit-appearance    : none;
    appearance            : none;
    width                 : 1.5em;
    height                : 1.5em;
    /* border-radius         : 50%; */
    transform             : translate(-0.4em);
    display               : grid;
    place-content         : center;
  }
  
:where(input[type="checkbox"]):invalid {
    border-color : rgb(196, 118, 16);
    outline      : none;
}
  
:where(input[type="checkbox"]):checked:after {
    width: 1em;
    height: 1em;
    /* border-radius: 1em; */
    background-color: #428346;
    content: '';
    display: inline-block;
    align-self: center;
    justify-self: center;
    /* visibility: visible;
    border: 4px solid white; */
}

/* textarea:invalid {
  background-color: #ffe8e8;
} */

textarea:invalid:required {
  background-color: #ffe8e8;
}

.requiredHighlight {
  /* border: 3px solid red;
  background: red; */
  border-left: .4em solid #ffe8e8;
  padding-left: 1em;
}