:root {
    --dark-primary: #1D4A6C;
    --on-dark-primary: #ffffff;
    --light-primary: #ECEAE9;
    --on-light-primary: #000000;
    --mid-primary: gray;
    --on-mid-primary: #000000;
    --invalid: #faf0ca;
    --button-bg: var(--dark-primary);
    --button-fg: var(--on-dark-primary);
    --table-bg: #ffffff;
    --on-table: #000000;
    --background: #f5f5f5;
    --image-background: #ffffff;
    --item-radius: 10px;
    --page-radius: 25px;
    --btn-radius: 50px;
    --select-line-height-mobile: 2.5em;
    --input-font-mobile: 1.15em;
    --select-font-mobile: 1.05em;
}

body {
    background-color: #EEEBEA;
    font-family: "Domine", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

img { pointer-events: none; -webkit-touch-callout: none; }

input,
select{
    font-size: 1.1em;
    background: white;
    color: var(--on-table);
}

img {  
    user-drag: none;  
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
 }

h2 {
    text-align: center;
    font-size: 1.1em;
    color: var(--dark-primary);
    border-top: solid var(--dark-primary) 3px;
    border-bottom: solid var(--dark-primary) 3px;
    margin: 30px 0px 10px;
}
.line-input{
    grid-column: 1 / span 1;
    grid-row: 1 / span 2; 
}

.style-select{
    grid-column: 2 / span 1;
    grid-row: 1 / span 2;
}

.quantity-input{
    grid-column: 3 / span 1;
    grid-row: 1 / span 2;
}

.width-input{
    grid-column: 4 / span 1;
    grid-row: 1 / span 2;
}

.height-input{
    grid-column: 5 / span 1;
    grid-row: 1 / span 2;    
}

.note-label{
    grid-column: 1 / span 1;
    grid-row: 3 / span 1;
    display: grid;
}

.note-input{
    grid-column: 2 / span 4;
    grid-row: 3 / span 1;
    display: grid;
    margin-bottom: 5px;
}

.order-header{
    display: grid;
    align-items: center;
    vertical-align: top;
}

.order-header * h3{
    font-size: 10pt;
    margin: 0px;
    text-align: center;
}

.order-header * p{
    margin: 0px;
    padding: 0px;
    text-align: center;
}

.center{
    text-align: center;
}
.order-row {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr 2fr 2fr;
}

.order-header {
    grid-template-columns: 1fr 2fr 1fr 2fr 2fr;
    border-bottom: solid var(--dark-primary) 2px;
    color: var(--dark-primary);
}
select {
    border: solid var(--mid-primary) 1px;
}
input {
    border: solid var(--mid-primary) 1px;
}

.page-container {
    max-width: 550px;
    margin: auto;
    padding: 5px var(--page-radius);
    border-radius: var(--page-radius);
    background: var(--background);
}


@media (max-width: 580px) {
    .page-container {
        max-width: 550px;
        margin: 0px;
        padding: 1px 0px;
        border-radius: 0px;
        background: var(--background);
    }

    body {
        background: var(--background);
    }

}

.customer-information {
    max-width: 500px;
}

table,
table.style-table {
    min-width: 100%;
    max-width: 100%;
    background: var(--light-primary);
    border-collapse: collapse;
}

.wfull {
    min-width: 100%;
}

.hfull {
    min-height: 100%;
}

table caption {
    font-size: 10px;
    color: gray;
}

button {
    background: var(--button-bg);
    color: var(--button-fg);
    padding: 5px var(--btn-radius);
    border-radius: var(--btn-radius);
    font-size: 1em;
    width: 100%;
}

.btn-container {
    margin: 10px auto;
    width: 250px;
}

input:invalid {
    background: var(--invalid);
}

.style-configuration-grid,
.customer-core-info {
    display: grid;
}

.style-item {
    padding: 0px;
    margin-bottom: 10px;
}

.style-item .header-line {
    padding: 0px var(--item-radius) 0px var(--item-radius);
    border-radius: var(--item-radius) var(--item-radius) 0px 0px;
    background: var(--dark-primary);
    color: var(--on-dark-primary);
}

.style-configuration {
    padding: var(--item-radius);
    background: var(--light-primary);
    color: var(--on-light-primary);
    border: solid 2px var(--dark-primary);
    border-radius: 0px 0px var(--item-radius) var(--item-radius);
}

.header-text {
    font-size: 1em;
    margin: 0px;
    padding: 8px;
}


.order-row {
    border-bottom: solid black 2px;
}



.order-header h3 {
    font-size: 0.6em;
    margin: 0px;
    padding: 0px;
    text-align: center;
}

.order-row div {
    padding: 0px;
}

.flex-grow {
    flex-grow: 3;
}

.light-note {
    color: var(--mid-primary);
    font-size: 0.75em;
    text-align: center;
}
.grid-item > * {
    width: 100%;
    height: 100%;
}
.hidden {
    display: none;
    visibility:hidden;
}
.style-configuration-grid{
    margin-bottom: 15px;
}
@media (min-width: 580px) {
    .style-configuration-grid,
    .customer-core-info{
        grid-template-columns: 1fr 2fr;
        grid-gap: 5px;
    }
}


@media (max-width: 580px) {
    .style-configuration-grid,
    .customer-core-info{
        grid-template-columns: 1fr;
        grid-gap: 5px;
    }
}


.popup{
    position: fixed;
    text-align: center;
    bottom: 60px;
    left: 0;
    width: 100vw;  
    padding: 10px;
    margin: auto;
    z-index: 1;
    box-shadow: #000000;
    visibility: hidden;

}
.popup.show {
    visibility: visible;
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 1s
  }

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.image-panel{
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-height: 256px;
    margin: 5px;
    padding: 5px;
    border-radius: 10px;
    background: white;
}

.product-image{
    width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  .disclosure-box{
    background: transparent;
    font-size: 8pt;
    text-align: center;
    margin-top: 30px;
  }
  .logo-container{
    width: fit-content;
    margin: auto;
    display: grid;
    grid-gap: 20px;
    grid-template-columns: 1fr 1fr;
  }
  .logo-snippet{
    width: 110px;
    background: white;
    text-align: center;
    border-radius: 10px;
    padding: 5px;
  }
  .logo-snippet *{
    padding: 0px;
    margin: 0px;
  }
  .logo-snippet img{
    max-width: 100px;
    max-height: 25px;
  }
  .logo-name{
    color: var(--mid-primary);
    font-size: 0.7em;
    text-align: center;
  }
  .terms-of-service-link{
    margin-top: 20px;
  }

  a.no-underline:link { 
    text-decoration: none; 
  } 
  a.no-underline:visited { 
    text-decoration: none; 
  } 
  a.no-underline:hover { 
    text-decoration: none; 
  } 
  a.no-underline:active { 
    text-decoration: none; 
  }


.image-panel{
    background: var(--image-background);
}

.warning{
    background: #800000;
    color: white;
}
.success{
    background: var(--dark-primary);
    color: var(--on-dark-primary);
}