/* <editor-fold defaultstate="collapsed" desc="#SEZIONE: RESET">
   #SEZIONE: RESET 
#3fa1eb

*/
:root {
    --form-control-color: #926683;
    --form-control-disabled: #959495;
}

@charset "UTF-8";

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/OpenSans-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/OpenSans-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/OpenSans-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

* {
    margin: 0px;
    padding: 0;
    outline: none;
}

html,
body {
    height: 100%;
    font-family: 'Open Sans';
}

a,
a:hover,
a:focus {
    color: inherit;
    text-decoration: none;
}

/*</editor-fold> <- */

/* <editor-fold defaultstate="collapsed" desc="#SEZIONE: STRUTTURA">
   #SEZIONE: STRUTTURA
    Definisce gli stili degli elementi stutturali a livello macroscopico.
*/

html,
body {
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

body {
    background: #ffffff;
    background: linear-gradient(167deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 54%, rgba(255, 236, 224, 1) 100%);
    font-family: 'Open Sans', sans-serif;
    font-size: 12pt;
    color: #000;
    font-weight: 400;
    background-attachment: fixed;
}

body:before {
    position: fixed;
    background:
        repeating-linear-gradient(45deg,
        /* angolo diagonale */
        rgba(255, 255, 255, 0.5) 0px,
        /* striscia bianca semi-opaca */
        rgba(255, 255, 255, 0.5) 10px,
        transparent 10px,
        transparent 20px
        /* larghezza totale della banda */
        );
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    content: "";
    z-index: -1;
}


#header {
    z-index: 1;
    width: 80%;
    min-width: 980px;
    padding-top: 20px;
    margin: 0 auto;
}

#logo {
    margin: 5px 15px 5px 10px;
    float: left;
}

#logo+span {
    display: inline-block;
    margin-top: 10px;
    font-size: 14pt;
    font-style: italic;
}

#logo+span>emph {
    color: red;
    display: block;
}

#container {
    width: 80%;
    min-width: 980px;
    margin: 0 auto;
    padding-bottom: 20px;
    box-sizing: border-box;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    justify-content: space-between;
}

#configuration {
    margin-right: 10px;
    padding: 0 10px;
    box-sizing: border-box;
    flex: 1 1 0;
    -ms-flex: 1 1 auto;
    -webkit-flex: 1 1 0;
}

#configuration header {
    display: flex;
    gap: 15px;
    align-items: center;
}

#configuration .content {

    padding-left: 30px;
    opacity: 0.65;
    display: flex;
    gap: 0px;
    align-items: center;
}


#configuration .use-colors .content {
    padding-left:0;
    opacity: 1;
    padding-top:20px;
}


#container>aside {
    flex: 2 1 0;
    -ms-flex: 2 1 auto;
    -webkit-flex: 2 1 0;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
}

#container>aside>section {
    /* background: rgba(175,175,175, 0.83); */
    background-color: #d9d3c0;
    padding: 10px 15px;
    box-sizing: border-box;
    flex: 1 1 0;
    -ms-flex: 1 1 auto;
    -webkit-flex: 1 1 0;
    border-radius: 4px;
}

#disposition,
#preview {
    margin-right: 20px;
}

#container>aside>section>header, .van-container header {
    color: #fff;


    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    font-family: "Open Sans";
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.8;
    display: flex;
    align-content: flex-end;
    align-items: flex-end;
    justify-content: space-around;
}

.mb-10 {
    margin-bottom:10px;
}

/*</editor-fold> <- */

/* <editor-fold defaultstate="collapsed" desc="#SEZIONE: VERTICAL MODE">
   #SEZIONE: VERTICAL MODE
    Adattamento verticale degli elementi della pagina
*/
.flex-vertical>section#disposition,
.flex-vertical>section#preview,
.flex-vertical>section#code {
    flex: none;
    -ms-flex: none;
    -webkit-flex: none;
}

.flex-vertical>#disposition,
.flex-vertical>#preview {
    margin-bottom: 20px;
    margin-right: 0;
}

.flex-vertical>#disposition>article {
    float: left;
    border: 1px solid var(--form-control-color);
    background: var(--form-control-color);
    color: #fff;
    text-align: center;
    padding: 10px;
    width: 23%;
    margin: 15px 1%;
    box-sizing: border-box;
}

.flex-vertical>#disposition>.placeholder {
    float: left;
    border: 1px solid #fff;
    background: rgba(255, 255, 255, .3);
    width: 23%;
    margin: 15px 1%;
    box-sizing: border-box;
}

.flex-vertical>#disposition>.noelement {
    display: none;
}

.flex-vertical>#disposition #disp-buttons {
    right: 25px;
}

/*</editor-fold> <- riutilizzabile*/

/* <editor-fold defaultstate="collapsed" desc="#SEZIONE: ELEMENTI">
   #SEZIONE: ELEMENTI
    Definisce gli stili degli elementi stutturali che si ritrovano in più punti.
*/
#disp-buttons {
    width: calc(100% - 150px);
    min-width: 4.5em;
    display: inline-block;
    text-align: right;
}

#disp-buttons span {
    display: inline-block;
    text-align: center;
    width: 2em;
    height: 2em;
    line-height: 2em;
    box-sizing: border-box;
    background: var(--form-control-color);
    border: 1px solid var(--form-control-color);
}

.instructions {
    margin-top: 20px;
    color: #0f0;
    text-align: left;
    color: #3f3f3f;
    font-family: 'Open Sans';
    font-weight: bold;

}

.widgetpart-container {
    display: inline-block;
    vertical-align: middle;
    font-size: 13px;
    width: calc(100% - 100px);
    min-width: 160px;
}

#configuration>article:not(:last-of-type) {
    margin-bottom: 40px;
}

#configuration>article:not(.style-container)>header {
    padding: 0 5px;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.8;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.1);

    padding-top: 10px;
}

#configuration>article.style-container>header {

    text-transform: uppercase;
    font-weight: bold;
    padding-top: 10px;
    align-items: start;
    padding-top: 25px;


}

#configuration>article.style-container {
    border-top: 1px dashed rgba(0, 0, 0, 0.1);
}

#configuration>article>.content input {
    margin: 10px;
}

#disposition>article {
    border: 1px solid var(--form-control-color);
    background: var(--form-control-color);
    color: #fff;
    text-align: center;
    padding: 10px 20px;
    margin: 10px 0;
}

#disposition>article:not(.not-movable):hover {
    box-shadow: 0px 2px 5px rgba(0, 0, 0, .7);

}

#disposition>article.not-movable {
    opacity: .5;
}

#disposition>.placeholder {
    border: 1px solid #fff;
    background: rgba(255, 255, 255, .3);
    height: 75px;
}

#disposition>.noelement {
    display: none;
}

#disposition>.noelement:only-of-type {
    display: block;
}

#democontainer {
    display: inline-block;
    width: 100%;
    margin: 10px 0;
   /* box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */
   border-radius:12px;
    inset: 0;
    background: linear-gradient(270deg, #e0e0e0, #fff, #e0e0e0);
    background-size: 400% 400%;
    animation: gradientShift 8s ease infinite;

    min-height: 225px;
}

@keyframes gradientShift {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}


#code-container {
    /*  margin-top: 10px; */
    padding: 10px 15px;
    box-sizing: border-box;
    width: 100%;
    height: 150px;
    border: 0;
    margin-top: 4px;
    resize: none;
    background-color: #f0f0f0;
    /*  border-radius: 5px;
    border: 2px dashed #e0e0e0; */
    font-size: 15px;
    font-family: 'Courier New', 'Lucida Console', Monaco;
    border-bottom: 1px solid #9F9F9F;
}

/*</editor-fold> <- */

/* <editor-fold defaultstate="collapsed" desc="#SEZIONE: LAYOUT">
   #SEZIONE: LAYOUT
    Raccoglie tutti gli stili che descrivono i comportamenti degli elementi
    che variano con l'interazione dell'utente e altri elementi di design.
*/

.disabled {
    opacity: .5;
}

.not-movable {
    cursor: not-allowed;
}

.movable {
    cursor: move;
}

.clickable {
    cursor: pointer;
}

.text-center {
    text-align: center;
}

.flex-container {
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
}

.flex-vertical {
    flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    -webkit-flex-flow: column nowrap;
}

.flex-single {
    flex: 1 1 0;
    -ms-flex: 1 1 auto;
    -webkit-flex: 1 1 0;
}

.flex-double {
    flex: 2 1 0;
    -ms-flex: 2 1 auto;
    -webkit-flex: 2 1 0;
}

.flex-triple {
    flex: 3 1 0;
    -ms-flex: 3 1 auto;
    -webkit-flex: 3 1 0;
}

/*</editor-fold> <- riutilizzabile*/

#arial+label {
    font-family: 'arial', sans-serif;
}

#verdana+label {
    font-family: 'verdana', sans-serif;
}

#times+label {
    font-family: 'times', serif;
}

#piccolo+label {
    font-size: 10pt;
}

#medio+label {
    font-size: 12pt;
}

#grande+label {
    font-size: 14pt;
}

/* temp Francesco Prestipino */
#configuration>article:nth-child(1)>div,
#configuration>article:nth-child(3)>div,
#configuration>article:nth-child(5)>div:nth-child(2) {
    display: none;
}




input[type="radio"] {
    /* Add if not using autoprefixer */
    -webkit-appearance: none;
    /* Remove most all native input styles */
    appearance: none;
    /* For iOS < 15 */
    background-color: var(--form-background);
    /* Not removed via appearance */
    margin: 0;

    font: inherit;
    color: currentColor;
    width: 1.15em;
    height: 1.15em;
    border: 0.15em solid currentColor;
    border-radius: 50%;
    transform: translateY(-0.075em);

    display: grid;
    place-content: center;
}

input[type="radio"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    border-radius: 50%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--form-control-color);
    /* Windows High Contrast Mode */
    background-color: CanvasText;
}

input[type="radio"]:checked::before {
    transform: scale(1);
}

input[type="radio"]:focus {
    outline: max(2px, 0.15em) solid currentColor;
    outline-offset: max(2px, 0.15em);
}



input[type="checkbox"] {
    /* Add if not using autoprefixer */
    -webkit-appearance: none;
    /* Remove most all native input styles */
    appearance: none;
    /* For iOS < 15 */
    background-color: var(--form-background);
    /* Not removed via appearance */
    margin: 0;

    font: inherit;
    color: currentColor;
    width: 1.15em;
    height: 1.15em;
    border: 0.15em solid currentColor;
    border-radius: 0.15em;
    transform: translateY(-0.075em);

    display: grid;
    place-content: center;
}

input[type="checkbox"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
    transform: scale(0);
    transform-origin: bottom left;
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--form-control-color);
    /* Windows High Contrast Mode */
    background-color: CanvasText;
}

input[type="checkbox"]:checked::before {
    transform: scale(1);
}

input[type="checkbox"]:focus {
    outline: max(2px, 0.15em) solid currentColor;
    outline-offset: max(2px, 0.15em);
}

input[type="checkbox"]:disabled {
    --form-control-color: var(--form-control-disabled);

    color: var(--form-control-disabled);
    cursor: not-allowed;
}





.tabs {
    display: flex;
    margin-bottom: 10px;
    position: relative;

    justify-content: center;
    box-shadow: rgba(100, 100, 111, 0.1) 0px 7px 12px 0px;
}

.tabs:after {
    content: "";
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 2px;
    background-color: #e0e0e0;
    z-index: -1;
    opacity: 0.3;
}


.tabs button {
    background: none;
    border: none;
    padding: 0px 20px 6px 20px;
    cursor: pointer;
    font-weight: bold;
    border-bottom: 2px solid transparent;
    transition: border-color 0.3s;
    font-size: 16px;
    font-family: 'Open Sans';
}

.tabs button.active {
    border-bottom: 2px solid var(--form-control-color);
    color: var(--form-control-color);
}

.tab-content {
    display: none;
    padding: 10px 0;
}

.tab-content.active {
    display: block;
}

.visually-hidden {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

#almanacco-svg {
    width: 220px;

}

.style-container {
    display: flex;


}

.style-container .flex-container {
    width: 100%;
    padding-top: 1rem;
}


.copyButton  {
    /* margin-top: 10px; */

    padding: 6px 24px;
    font-size: 14px;
    /*   background-color: var(--form-control-color); */
    color: #3F3F3F;
    border-radius: 4px;
    padding-left: 36px;
    border: 0 !important;
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: 12px center;
    font-family: 'Open Sans';
    /* box-shadow: 2px 2px 3px rgba(0, 0, 0, .15); */
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' stroke='%233F3F3F'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21 8C21 6.34315 19.6569 5 18 5H10C8.34315 5 7 6.34315 7 8V20C7 21.6569 8.34315 23 10 23H18C19.6569 23 21 21.6569 21 20V8ZM19 8C19 7.44772 18.5523 7 18 7H10C9.44772 7 9 7.44772 9 8V20C9 20.5523 9.44772 21 10 21H18C18.5523 21 19 20.5523 19 20V8Z' fill='%233F3F3F'%3E%3C/path%3E%3Cpath d='M6 3H16C16.5523 3 17 2.55228 17 2C17 1.44772 16.5523 1 16 1H6C4.34315 1 3 2.34315 3 4V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V4C5 3.44772 5.44772 3 6 3Z' fill='%233F3F3F'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

.copyButton:hover,
.copyButton:active {

    opacity: 0.5;
}

.copyFeedback {
    color: #3fa1eb;
    font-family: 'Open Sans';
}

.inner-copy {
    background-color: #f0f0f0;
    border: 1px solid #9F9F9F;
    border-radius: 5px;
}



.van-container {
    max-width: 800px;
    display: flex;
    padding: 20px;
    background: #d9d3c0;
    margin: 0 auto;
    gap: 25px;

}

#democontainer-vg {
    max-width: 360px;
}

#code-vg #code-container-vg {
    box-sizing: border-box;
    width: 100%;
    height: 150px;
    border-top-style: initial;
    border-right-style: initial;
    border-left-style: initial;
    border-top-color: initial;
    border-right-color: initial;
    border-left-color: initial;
    margin-top: 4px;
    resize: none;
    background-color: rgb(240, 240, 240);
    font-size: 15px;
    font-family: "Courier New", "Lucida Console", Monaco;
    padding: 10px 15px;
    border-width: 0px 0px 1px;
    border-image: initial;
    border-bottom: 1px solid rgb(159, 159, 159);
}


p.switch-tab {
    border-top: 1px dashed #afafaf;
    padding-top: 2rem;
    margin-top: 4rem;
    font-family: 'Open Sans';
}

p.switch-tab-centered {

    padding-top: 0.5rem;
    text-align: center;
    font-family: 'Open Sans';
}

.switch-tab-button {
    font-family: 'Open Sans';
    border: 0;
    background-color: #d9d3c0;
    padding: 0.5rem 1rem;
    border-radius: 3px;
    font-size: 16px;
    color: var(--form-control-color);
    font-weight: bold;
    cursor:pointer;
}

.switch-tab-button:hover {
    opacity: 0.75;
}
