* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  
.material-symbols-rounded {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}
.material-symbols-rounded.fill {
  font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  text-rendering: optimizeLegibility;
  background-image: none !important;
  background-color: #ffffff;
  overflow: hidden;
}
html, body {
  font-size: 62.5%;
  font-size: calc(1em * 0.625);
  font-family: "Montserrat", "Helvetica Neue", Helvetica, sans-serif;
  font-weight: normal;
  font-style:normal;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
body {  
    overflow-y: auto;
    font-size: 16px;
    font-size: 1.6rem;
    scroll-behavior: smooth;
}
body.loading {
    opacity: .5;
    overflow-y: hidden;
}
iframe {border: 0;}
main { display: block;}
ul, ol {
  margin-top: 0;
  padding-left: 0;
}
dl { margin-top: 0;}
dd { margin-left: 0;}
h1,h2,h3,h4,h5,h6 {
  
  font-family: Oswald;  
}

h5, .h5 {
    font-size: 2rem;
}
blockquote { padding: 0;}
p {  margin-top: 0;}

i, .italic{font-style: italic;}
sup {
  position: relative;
  top: -.5em;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}
strong { font-weight: bold;}
figure { margin: 0; }
img { 
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
a {text-decoration: none; color: inherit; }
a.disabled {opacity:0.2;}
a.disabled:hover{cursor: not-allowed;}
a[class~="link"], label[class~="link"] {
    text-decoration: underline;
    color: #000000;
    font-weight: 500;
}
a[class~="obflink"]:hover {
    cursor: pointer;
}

.f-red{color: red;}
.fieldset-wrapper {padding-left: 1.2rem; margin-bottom: 1.6rem;} 
fieldset {
    border-radius: .1rem;
    margin: 0;
    border-width: .1rem;
    border-color: #000000;
}
legend {
    font-family: 'Oswald';   
    font-size: 1.2em;
    padding: 0 1.2rem 0 0;
    margin-bottom: 1.2rem;  
}


.fieldset-wrapper input[type="radio"], .fieldset-wrapper input[type="checkbox"]{
    display: inline-block;margin-left:1.6rem;
}
.fieldset-wrapper label {padding-left: .8rem;}
time {
    font-size: 1.6rem;    
    font-family: Roboto;
}
  input[type="number"] {
      /*-moz-appearance: textfield;
      appearance: textfield;*/
  }



.hidden {visibility: hidden !important;}

.addresses .shipping, .addresses .billing {color:#000000 !important;}

/**
 * switch button
 */
input.switch-button {opacity: 0;}
input.switch-button + label {
    display: inline-flex;
    align-items: center;
    width:5.2rem;
    height: 3.2rem;
    border-radius: 3.2rem;
    background-color: transparent;
    border-width: .2rem;
    border-style: solid;
    border-color: #79747E;
    padding-left: .8rem;
    padding-right: .4rem;
}

input.switch-button:checked + label {    
    background-color: #65558F;
    border-color: transparent;
}

input.switch-button + label > .cursor {
    width:1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background-color: #79747E;
    transition: transform .3s;    
}

input.switch-button:checked + label > .cursor {
    width:2.4rem;
    height: 2.4rem;
    transform: translateX(calc(100% - 1rem));
    background-color: #ffffff;
}
input.switch-button:checked + label > .cursor:after {
    content:"\e5ca";
    color:#65558F;
}

  
  /* Chrome */
  input::-webkit-inner-spin-button,
  input::-webkit-outer-spin-button { 
    -webkit-appearance: none;
    margin:0;
  }
  
  /* Opéra*/
  input::-o-inner-spin-button,
  input::-o-outer-spin-button { 
    -o-appearance: none;
    margin:0
  }

  ::-moz-focus-inner {
    border: 0;
    padding: 0;
  }

  p,ul,ol,dl,blockquote{  margin-bottom: 1.5rem;}
  ul,ol,dl{margin-left:2rem;}
  ul{list-style: circle;list-style-type: circle;}
  ol{list-style: decimal;list-style-type: decimal;}
  br {line-height: 1.5rem;}

body > header {
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: space-between;
    top: 0;
    z-index: 4;
    background-color: #ffffff;
    padding: 0.8rem 0.8rem 0 8rem;
    
}
header .logo {
    height: 5.6rem;
    
}
header .logo > img {
    max-height: 100%;
}

header .baseline {
    display: flex;
    margin: 0 0 0 auto;
    align-items: center;
    color: rgba(0, 0, 0, .87);
    z-index: 10;
} 
header .user {
    display: inline-flex;
    align-items: center;
}
header .user > span { margin-right: .8rem; font-size: .9em;}
header .user > a {color:#ff0000;}
code {background-color: #eeeeee; padding: .4rem; border-radius: .4rem;}
.print-only {display: none;}
ol.breadcrumbs {
    margin:0;
    display: flex;
    height: 4.8rem;
    align-items: center;
    font-size: .8em;
}
.red {color:#ff0000;}
.drop-zone {
    height: 16rem;
    border-radius: 1.6rem;
    border-width: 2px;
    border-style: dashed;
    border-color: #dddddd;
    display: flex;
    align-items: center;
    justify-content: center;
}
.capitalize {text-transform: capitalize;}
.capitalize-first::first-letter {text-transform: uppercase;}
.breadcrumbs li {
    display: inline-flex;
    align-items: center;
}
.breadcrumbs li:not(:last-child) {/*text-transform: uppercase;*/}
.breadcrumbs li:not(:last-child)::after {
    content: "\e5e1";
    font-family: 'Material Symbols Rounded';
    font-weight: normal;
    font-style: normal;
    font-size: 1.6rem;
    padding: 0 .8rem 0 .4rem;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    color: #1976D2;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' -25, 'opsz' 48;
}
.breadcrumbs li.active {color: #1976D2;font-weight: 600;}


.bloc-widgets-filter {
    visibility: hidden;
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 4.8rem;
    width: 100%;
    left: 0;
    z-index: 10;
    background-color: #ffffff;
    bottom: 0;
    overflow: hidden;
    overflow-y: auto;
    padding: 0 1.2rem 3.2rem;
    transition: visibility .4s;
}
.bloc-widgets-filter .close {
    position: sticky;
    top: 0;
    background-color: #fff;
    padding: .8rem 0 1.6rem .8rem;
    z-index: 10;
}
.bloc-widgets-filter .close .material-symbols-rounded {
    font-size: 3.6rem;
    font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 48;
    vertical-align: middle;
}
.widget-filter {
    order: 5;
    margin-bottom: 1.6rem;
}
.widget-filter.order-1 {
    order: 1;
}
.widget-filter.order-2 {
    order: 2;
}
.widget-filter.order-3 {
    order: 3;
}
.widget-filter > div > span {
    text-transform: uppercase;
    font-size: 1.6rem;
    font-family: 'Montserrat';
    font-weight: 600;
    padding-left: .8rem;
}
.widget-filter label {
    font-size: 1.2rem;
    padding-left: .8rem;
    vertical-align: bottom;
    text-transform: uppercase;
    font-weight: 500;
}
.widget-filter ul {
    margin-bottom: 0;
    margin-top: 1.2rem;
}
.widget-filter ul > li {
    display: inline-flex;
    width: 100%;
    height: 3.2rem;
    align-items: center;
}
.widget-filter ul > li > input[type="checkbox"] {
    margin: 0;
}
.widget-filter ul > li > label {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 500;
    padding-left: .8rem;
    vertical-align: bottom;
    text-transform: uppercase;
    height: 2.4rem;
    max-width: calc(100% - 3.2rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.visually-hidden{ 
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}
.i18ns {
    list-style: none;
    list-style-type: none;
    display: flex;
    justify-content: end;
    height: 4.8rem;
    align-items: center;
    margin-left: 0;
    margin-bottom: 0;
}
.i18n {
    opacity: .4;
    transition: opacity .3s;
    font-size: 1.4rem;
}
.i18n.active, .i18n:hover {
    opacity: 1;
}
.i18n.active {
    text-decoration: underline;
    color: #ff0000;
}

.i18n:not(:last-child) {
    margin-right: 1.6rem;
}
.currencies {
    margin-bottom: 0 !important;
    margin-left: 2.4rem !important;  
}
.currencies select {min-width: 8rem !important;}
.btns-end {
    text-align: right;
    margin-top:1.6rem;
}
.btns-flex-end {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 1.6rem;
    margin-bottom: 1.2rem;
}

.text-right {text-align: right;}
.hide {display: none !important;}

.text-nowrap {white-space: nowrap}
.form-info {font-size: .9em;}
.placeholders-info{list-style: none;}
.placeholders-info > li {margin-bottom: 1.2rem;}
.primary, .link.primary {color: #2196F3; }
.validate {color: green; }
.warning {color:#ff0000;}
.square, .circle {width: 4rem;}
.colour {    
    display: inline-flex;
    align-items: center;    
    border-radius: .6rem;
    height: 3.6rem;
    min-width: 20rem;    
    padding: 0 .8rem;
    text-transform: uppercase;
    font-family: 'Montserrat';
    font-size: 1.2rem;
    font-weight: 600;
    border-color: #000000;
    border-width: .1rem;
    border-style: solid;
}
.contained, .tonal, .square, .circle {
    display: inline-flex;
    align-items: center;
    border: none;
    height: 4rem;
    background-color: transparent;
    transition: background-color .3s, color .3s;
    border-color: transparent;
    border-radius: .4rem;
    padding: 0 .8rem;
    font-family: Montserrat;
    
}
.contained:hover:not(:disabled),  .tonal:hover:not(:disabled), .square:hover:not(:disabled), .circle:hover:not(:disabled) {
    background-color: #000000;
    color: #ffffff !important;
}
.tonal {font-weight: 500;}
.tonal.primary:hover {background-color: #2196F3 !important;color:white;}
.circle {border-radius: 50%;}

.contained::first-letter {text-transform: capitalize;}
.contained.icon {padding: 0 2.4rem 0 1.6rem;}
.contained > i {padding-right: .8rem; font-size: 1.8rem;}
.contained.primary {background-color: #2196F3 !important;color:white;}
.contained.validate { background-color: green !important;color: white;}
.contained.warning {background-color:#ff0000 !important; color:#ffffff;}
.contained.dark {background-color:#000000 !important; color:#ffffff;}
.no-margin {margin: 0 !important}
.priority {color:#ff0000 !important; }
.no_step.priority {opacity:1 !important;}
.contained.small, .tonal.small {
    height: 3.2rem;
    border-radius: .3rem;
    font-size: 1.4rem;
    padding: 0 1.6rem;
}

.contained .material-symbols-rounded,  .tonal .material-symbols-rounded, .square .material-symbols-rounded, .circle .material-symbols-rounded
{
    vertical-align: bottom;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;
}

/** Upload files **/
.dropbox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 16rem;
    min-height: 16rem;
    border-width: .1rem;
    border-style: dashed;
    border-radius: .6rem;
    margin-bottom: 1.6rem;
}
.drop-here {
    margin-bottom: 1.6rem;
    text-align: center;
}
.inputbox input[type="file"]{display: none;}
.thumbnails-box {
    margin-top: 3.2rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    grid-gap: .6rem 1.2rem;
}
.thumbnails-box > div {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
}
.thumbnails-box > div .delete {display:flex; align-items:center; justify-content:center;position:absolute; top:0; right:0; bottom:0; left:0; visibility: hidden; transition: visibilty .3s; background-color: rgba(0, 0, 0, 0.7); color: #ffffff;cursor: pointer;}
.thumbnails-box > div .delete:after {
    content: "\e872";
    font-family: 'Material Symbols Rounded';
    font-weight: normal;
    font-style: normal;
    font-size: 3.6rem;   
    line-height: 1;
    letter-spacing: normal;    
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    color: #FFFFFF;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' -25, 'opsz' 48;
}
.thumbnails-box > div:hover .delete {visibility: visible;}

/** End Upload files **/





button.text, .button.text {
    display: inline-flex;
    align-items: center;
    border: none;
    height: 4rem;
    text-transform: capitalize;
    border-radius: 2rem;
    padding: 0 2.4rem;
    font-size: 1.8rem;
    background-color: transparent;
    cursor: pointer;
}
button.text:hover, .button.text:hover {
    text-decoration: underline;
}




.field-wrapper {
    /*display: inline-flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: row;*/
    position: relative;
    padding: 0;
    margin: 0 0 1.6rem 0;
}
.field-wrapper.checkbox.inline {
    margin: 0 0 0 0;
}
.field-wrapper.column {
    flex-direction: column;
    align-items: initial;
    max-width: unset;
}
fieldset > legend:before, .field-wrapper > label:before{
    display: inline-block;
    content: '*';
    color: #FF0000;   
    opacity: 0;
    width: 1.2rem;
}
fieldset.required > legend:before, .field-wrapper.required > label:before{opacity: 1;}


.field-wrapper.column > .field-input, .field-wrapper.column > input{margin-left:1.2rem;}
.field-wrapper label {
    font-family: 'Oswald';
    display: inline-block;
    min-width: 16rem;
    max-width: calc(100% - 24rem);
    font-size: 1.2em;
    padding: 0 1.6rem 0 0;

}
.field-wrapper.radio, .field-wrapper.checkbox {justify-content: start;}
.field-wrapper.radio > label,  .field-wrapper.checkbox > label{
    min-width: 5.6rem;
}

.field-wrapper.checkbox > label {order:2;}

.field-wrapper.radio > input, .field-wrapper > input[type="radio"] {height: auto;}
.field-wrapper.checkbox > input, .field-wrapper > input[type="checkbox"] {
    height: auto;
    flex-grow: unset; 
    flex-shrink: unset;
    flex-basis: unset;
}


.field-wrapper.column label {padding-bottom: .8rem;max-width: unset;}
.field-wrapper > .drop-zone {
    min-width: calc(100% - 20rem);
}
.field-wrapper.drop, .field-wrapper.textarea {
    display: flex;
}
.field-wrapper > .field-input, .field-wrapper > input, .field-wrapper > select {
    position: relative;
    height: 3.6rem;
    font-family: Montserrat;
    font-size: 1.4rem;
    background-color: transparent;
    outline: none;    
    border-radius: 0.1rem;
    padding-right: 0.4rem;
    padding-left: 0.4rem;
    border-width: 0.1rem;
    border-color: rgba(0,0,0,.87);
    border-style: solid;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
}

.field-wrapper > textarea {
    height: auto;
    min-height: 8rem;
    resize: vertical;
    font-family: Montserrat;
    font-size: 1.4rem;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
}
.field-wrapper > select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-image: none;    
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    z-index: 1;
}

.field-wrapper > select[multiple] {
    height: auto;
    min-height: 11.2rem;
}


.field-wrapper.column > .field-input, .field-wrapper.column > input, .field-wrapper.column > textarea, .field-wrapper.column > select {margin-left:1.2rem;flex-basis: auto;}
.preview {
    display: flex;
    overflow: hidden;
    overflow-x: auto;
    align-items: center;
}
.field-wrapper .preview {
    width: 100%;
    margin-top: 1.6rem;
}

.field-wrapper.select > i {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
    height: 3.6rem;
    line-height: 3.6rem;
}

.obj.illustrator {
  width: 9rem;
  height: 6rem;
  background-image: url(https://dev.kutvek.com/pictures/pictos/illustrator.svg);
  background-repeat: no-repeat;
  background-position: center center;  
}

.obj.doc, .obj.default {
  width: 9rem;
  height: 6rem;
  background-image: url(https://dev.kutvek.com/pictures/pictos/illustrator.svg);
  background-repeat: no-repeat;
  background-position: center center;  
}
    
.obj.pdf {
    width: 9rem;
    height: 6rem;
    background-image: url(https://dev.kutvek.com/pictures/pictos/acrobat-reader.svg);
    background-repeat: no-repeat;
    background-position: center center;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 3.2rem;
}
table th, table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #434857;
    border-color: #dee2e6;

}
table.middle td {
  vertical-align: middle;
}

table td.no-border {border-color:transparent;}
table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #434857;
    text-align: initial;
    font-weight: 500;
}
table.stripped > tbody tr:nth-child(even) {
    background-color: #f2f2f2;
}


._mockup{color:#AACCEE !important;}
._mockup.owner{color:#CCDDCC !important;}

._layer:not(.task);{color: #99cc00 !important;}
._print {color:#ff00cc !important;}
._choice {color:#ff9900 !important;}
._modification{color:#00AAFF !important;}
._packaging {color:#A1887F !important;}


aside.menu {
    width: 32rem;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    transform: translateX(-27.2rem);
    transition: transform 0.3s;
    z-index: 3;
    padding: 0 0.4rem 2.4rem 0.8rem;
    color: #000000;
    background-color: #ffffff;
    box-shadow: 4px 3px 3px 0px rgba(0, 0, 0, 0.26);
    z-index: 6;
}
aside.menu .material-symbols-rounded {font-variation-settings: 'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24;}
aside.menu.open {
    overflow-y: auto;
    transform: translateX(0);
}

aside.menu ul {
    margin: 0;
    list-style: none;
}
aside.menu li {
    padding-right: 0.8rem;
    padding-left: .8rem;
}
aside.menu li:not(:last-child) {
    margin-bottom: 1.2rem;
}
aside.menu li:first-of-type {
    text-align: right;
    padding-top: 1.6rem;
    margin-bottom: 2.4rem;
}
aside.menu li:not(:first-of-type) > a, aside.menu li:not(:first-of-type) > label {
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}

.main-footer {
    width: initial;
    align-self: unset;
    align-self: unset;
    background-color: #000000;
    color: #FFFFFF;
    font-weight: 300;
    font-size: 1.4rem;
    font-family: 'Oswald';
    margin-top: 0;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
}
.main-footer .logo-footer {
    display: block;
    height: 4rem;
    margin: 0 auto;
}

@media only screen and (min-width: 1024px){
    
    .field-wrapper {
        display: flex;
        max-width: 72rem;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }
    .field-wrapper:not(.column) label:not(.btn) {width: 24rem;}
    .widget-filter > div > span { font-size: 1.4rem;}
    .widget-filter label, .widget-filter ul > li > label {font-size: 1.2rem;}
}

@media only screen and (min-width: 1280px) {
    main {padding: 2.4rem 3.2rem 5.6rem 8.8rem;}
    .field-wrapper {
        display: flex;
        max-width: 102.4rem;
        justify-content: space-between;
        align-items: center;
    }

    .bloc-widgets-filter {
        margin-right: 0;
        padding-right: 1.6rem;
        visibility: visible;
        position: static;
        width: auto;
        padding: 0;
        overflow: initial;
        margin-right:2.4rem;
    }
    .bloc-widgets-filter .close {display: none;}
}
@media only screen and (min-width: 1600px) {
    .field-wrapper {
        display: flex;
        max-width: unset;
        justify-content: space-between;
        align-items: center;
    }
}
