
@font-face {
	font-family: 'Satoshi';
	font-weight: 700;
	src: url('../wp-content/uploads/2024/05/Satoshi-Bold.otf') format('OpenType');
}
@font-face {
	font-family: 'Satoshi';
	font-weight: 800;
	src: url('../wp-content/uploads/2024/05/Satoshi-Black.otf') format('OpenType');
}
@font-face {
	font-family: 'Satoshi';
	font-weight: 400;
	src: url('../wp-content/uploads/2024/05/Satoshi-Regular.otf') format('OpenType');
}
@font-face {
	font-family: 'Satoshi';
	font-weight: 500;
	src: url('../wp-content/uploads/2024/05/Satoshi-Medium.otf') format('OpenType');
}
@font-face {
	font-family: 'Satoshi';
	font-weight: 300;
	src: url('../wp-content/uploads/2024/05/Satoshi-Light.otf') format('OpenType');
}

html, body {
    font-family: "Satoshi", Helvetica, Arial, sans-serif;
    font-weight:400;
    font-size:14px;
    margin:0;
    padding:0;
}

body {
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    background-image: url('../wp-content/uploads/2024/06/web-bg-scaled.jpg');
    width:100%;
    height:90%;
}

input:hover,
select:hover,
button:hover,
a:hover {
    cursor: pointer;
}

h1 {
    font-weight:400;
    margin: 0;
}

.container {
    position: relative;
    width:720px;
    max-width:85%;
    margin:2em auto 4em;
    background:#ffffff;
    padding: 2em;
    box-shadow:4px 4px 20px rgba(0,0,0,.3);
}

.logo {
    margin:0 auto;
    height:50px;
    width:auto;
}

.logo-wrapper {
    text-align:center;
    margin-bottom:0.5em;
}

.status-holder {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:0.5em;
    bottom:-3.5em;
    right:0em;
    border:1px solid rgba(0,0,0,.1);
    padding:0.25em 0.5em;
    border-radius:4px;
    font-size:12px;
    font-weight: 700;
    pointer-events: none;
    box-shadow: 2px 2px 0 rgba(0,0,0,.05);
}

.status-holder.secure {
    background:rgba(114, 240, 114, 0.7);
    color:#2C5E1A;
}
.status-holder.unsecure {
    background:rgba(240, 114, 114, 0.7);
    color:#8d110d;
}

.status-holder img {
    width:1.5rem;
    height:auto;
    opacity:0.5;
    fill: inherit;
}

.form-header {
    border-bottom:1px solid rgba(0,0,0,.1);
    margin-bottom: 0.5em;
    /* text-align:center; */
}

.final-step {
    padding:3em 0 5em 0;
}

.step-wrapper {
    display:flex;
    justify-content:center;
    align-items:middle;
    gap:1em;
}

.step-wrapper .step {
    background: #813f8d;
    color: #cccccc;
    width: 2em; 
    height: 2em;
    margin:0.5em;
    border-radius: 50%;
    display: flex; /* or inline-flex */
    align-items: center; 
    justify-content: center;
    opacity:0.5;
}

.step-wrapper .step.current {
    color:#ffffff;
    opacity:1;
}

form fieldset {
    border:none;
    display:none;
}

form fieldset.current {
    display:block;
}

.field-wrapper {
    display:flex;
    flex-wrap: wrap;
    gap:1em;
}

#products {
    display:flex;
    flex-wrap: wrap;
    gap:0.5em;
    margin-top:0;
}

.field-wrapper > div,
#products li  {
    margin:0.5em 0;
    flex:calc(50% - 1em);
}

.field-wrapper > div.third {
    flex:calc(33.33% - 1em);
}

input, textarea, select {
    margin:0.25em 0;
    border:none;
    border-radius:10px;
    background-color: #ececec;
    padding:1em;
    height:3em;
    width:100%;
    transition:0.5s;
}

input.error, 
textarea.error, 
select.error,
.checkboxes label.field-label:has(input.error) {
    border-color: #ee2222;
    box-shadow: inset 0 0 50px rgba(238, 34, 34, 0.2);
}

select {
    appearance: none;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjkyLjQgMjkyLjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMjg3IDY5LjRhMTcuNiAxNy42IDAgMCAwLTEzLTUuNEgxOC40Yy01IDAtOS4zIDEuOC0xMi45IDUuNEExNy42IDE3LjYgMCAwIDAgMCA4Mi4yYzAgNSAxLjggOS4zIDUuNCAxMi45bDEyOCAxMjcuOWMzLjYgMy42IDcuOCA1LjQgMTIuOCA1LjRzOS4yLTEuOCAxMi44LTUuNEwyODcgOTVjMy41LTMuNSA1LjQtNy44IDUuNC0xMi44IDAtNS0xLjktOS4yLTUuNS0xMi44eiIgZmlsbD0iIzc3NyIvPg0KPC9zdmc+");
    background-repeat: no-repeat;
    background-position: right 0.7rem top 50%;
    background-size: 0.65rem auto;
    padding: 0.5em 0.75em;
}

input.secure {
    background-image:url('secured-mark.png');
    background-repeat: repeat-x;
    background-size: 200px;
    background-position: 50%;
    background-blend-mode: luminosity;
}

input[type=file] {
    margin:0.25em 0;
    background:#ececec;
    padding:0.9em;
    padding-right: 7rem;
    position:relative;
}

input[type=file]::file-selector-button {
  position:absolute;
  top:0;
  right:-0.3em;
  border:none;
  height:100%;
  padding:0.25em 0.75em;
  background-color: rgba(0,0,0,.1);
}

input[type=file]::file-selector-button:hover {
  background-color: rgba(0,0,0,0.05);
}

select[multiple="multiple"] {
    min-height:8em;
}

input[type="radio"],
input[type="checkbox"] {
    position:relative;
    top:0.25em;
    height:1.25em;
    width:auto;
    padding:0;
    margin:0 0.5em;
}

.checkboxes {
    display:flex;
    background:#ececec;
    border-radius: 10px;
    margin:0.5em 0;
    width: fit-content;
    overflow:hidden;
}

.checkboxes label {
    display: block;
}

.checkboxes input[type="radio"] {
    visibility: hidden;
    height:0;
    width:0;
}

.checkboxes input[type="radio"] + span {
  display: block;
  padding: 0.75em 1em;
  border-right:1px solid rgba(0,0,0,.05);
}

.checkboxes label:last-of-type input[type="radio"] + span {
    border-right:none;
}

.checkboxes input[type="radio"]:checked + span {
  background-color: rgba(0,0,0,.1);
  border-right:none;
}

.pw-info {
    font-weight:600;
    color:#555555;
    margin-bottom:0.25em;
    margin-top:0;
}

.pw-tests {
    margin:0;
}

.pw-info.success {
    color:#2C5E1A;
}

.pw-tests li.valid {
    list-style: none;
    color:#2C5E1A;
    font-weight: 500;
    position: relative;
}

.pw-tests li.valid::before {
    content: '✓';
    position: absolute;
    left: -1.25em;    
}

.error-msg {
    position: absolute;
    top:0;
    right:0.5em;
    visibility: hidden;
    color:#ee2222;
    font-weight:500;
    font-size:0.9em;
    opacity:0;
    transition:0.5s;
}

.error-msg.show {
    right:0;
    visibility: visible;
    opacity:1;
}

.field-label {
    display: block;
    color:#555555;
    font-weight:600;
}

.field-group {
    position: relative;
}

.field-group ul {
    padding-left:0;
}

.field-group li .field-label {
    line-height:1em;
}

.field-group li {
    list-style:none;
    margin-bottom:1em;
}

#products li {
    margin-bottom:0;
}

.label-required {
    display:inline;
    color:#ee2222;
    margin: 0 5px;
}

.spacer {
    margin:1em;
}

.form-controls {
    border-top:1px solid rgba(0,0,0,.1);
    margin-top:1em;
    padding-top:1em;
    display: flex;
    justify-content: flex-end;
    gap:1em;
}

.form-controls > .back {
    margin-right:auto;
}

.form-btn,
.final-btn {
    text-align:center;
    display: inline-block;
    text-decoration:none;
    border:none;
    background: #813f8d;
    padding:0.75em 1.5em;
    color:#fff;
    min-width:100px;
    font-weight:500;
    border-radius:5px;
}

.form-btn .loading {
    display: none;
}

.form-btn.loading {
    background: hsl(291, 18%, 70%);
}

.form-btn.loading .text {
    display: none;
}

.form-btn.loading .loading {
    display:inline;
    height:16px;
    width:16px;
}

.form-btn.back {
    background:#ececec;
    color:#000;
}

.form-btn:hover,
.final-btn:hover {
    opacity:0.8;
    cursor:pointer;
}

.hidden {
    display:none !important;
}

@media screen and (max-width: 700px) {
    .field-wrapper > div,
    #products li {
        flex:100%;
    }
}