:host {

  /* dimensions */
  /*@doc Define a altura do componente.*/
  --ez-upload--height: 42px;
  /*@doc Define a largura do componente.*/
  --ez-upload--width: 100%;
  /*@doc Define a largura do slot que contém o ícone.*/
  --ez-upload__icon--width: 48px;

  /* box--container */
  /*@doc Define a cor de fundo do container.*/
  --ez-upload__container--background-color: var(--background--medium, #d2dce9);

  /* colors */
  /*@doc Define a cor de fundo do container.*/
  --ez-upload__color--primary: var(--color--primary, #008561);

  /* espaçamento */
  /*@doc Define os espaçamentos extra pequenos no componente.*/
  --ez-upload--padding--extra-small: var(--space--extra-small, 3px);
  /*@doc Define os espaçamentos pequenos no componente.*/
  --ez-upload--padding--small: var(--space--small, 6px);
  /*@doc Define os espaçamentos médios no componente.*/
  --ez-upload--padding--medium: var(--space--medium, 12px);
  /*@doc Define os espaçamentos grandes no componente.*/
  --ez-upload--padding--large: var(--space--large, 24px);

  /* border */
  /*@doc Define a cor das bordas no componente.*/
  --ez-upload__border--color: var(--color-strokes, #DCE0E8);

  /* text */
  /*@doc Define as sombras dos textos do componente.*/
  --ez-upload--text-shadow: var(--text-shadow, 0 0 0 #353535, 0 0 1px transparent);
  /*@doc Define a cor dos textos do componente.*/
  --ez-upload--text--primary: var(--text-primary, #626e82);
  --ez-upload--text--secondary: var(--text-secondary, #a2abb9);
  /*@doc Define o tamanho dos textos do componente.*/
  --ez-upload--font-size: var(--text--medium, 14px);
  /*@doc Define a família dos textos do componente.*/
  --ez-upload--font-family: var(--font-pattern, Arial);
  /*@doc Define o peso dos textos do componente.*/
  --ez-upload--font-weight: var(--text-weight--large, 500);

  /*@doc Contém o ícone de cancelamento.*/
  --ez-upload__btn__cancel-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="8x" width="8px"><path d="M 8,0.8 7.2,0 4,3.2 0.8,0 0,0.8 3.2,4 0,7.2 0.8,8 4,4.8 7.2,8 8,7.2 4.8,4 Z"/></svg>');
  /*@doc Contém o ícone de arquivo.*/
  --ez-upload__file-icon-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="11x" width="9px"><path d="M 1.2272719,8.4999999 V 2.75 c 0,-1.1045695 1.4652499,-2 3.2727273,-2 1.8074777,0 3.2727281,0.8954305 3.2727281,2 V 8.9999999 C 7.7727273,9.690356 6.8569456,10.25 5.7272719,10.25 4.5975985,10.25 3.6818174,9.690356 3.6818174,8.9999999 V 3.75 c 0,-0.2761425 0.3663125,-0.5 0.8181818,-0.5 0.4518694,0 0.8181818,0.2238575 0.8181818,0.5 V 8.4999999 H 6.5454537 V 3.75 C 6.5454537,3.059644 5.6296725,2.5 4.4999992,2.5 3.3703258,2.5 2.4545446,3.059644 2.4545446,3.75 V 8.9999999 C 2.4545446,10.10457 3.9197945,11 5.7272719,11 7.5347496,11 9,10.10457 9,8.9999999 V 2.75 C 9,1.231217 6.9852809,0 4.4999992,0 2.0147181,5e-7 0,1.231217 0,2.75 v 5.7499999 z"/></svg>');

  /*private*/
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding-bottom: 16px;

  /*public*/
  font-family: var(--ez-upload--font-family);
  font-size: var(--ez-upload--font-size);
  width: var(--ez-upload--width);
  font-weight: var(--ez-upload--font-weight);
}

.iu {
  display: flex;
  flex-wrap: wrap;
  background-color: var(--ez-upload__container--background-color);
  padding: var(--ez-upload--padding--small);
  width: 100%;
  border-radius: 12px;
  box-sizing: border-box;
}

.iu__container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border: 2px dashed var(--ez-upload__border--color);
  border-radius: 6px;
  box-sizing: border-box;
}

.iu__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
  padding: 0 var(--ez-upload--padding--medium) var(--ez-upload--padding--medium) var(--ez-upload--padding--medium);
  box-sizing: border-box;
}

.iu__item {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  align-items: center;
  align-self: center;
  padding-bottom: var(--ez-upload--padding--extra-small);
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.iu__item-label {
  display: flex;
  max-width: 80%;
  align-self: stretch;
  align-items: center;
}

.file__name {
  font-weight: 200;
}

.box__content {
  width: 100%;
  justify-content: center;
  align-items: center;
  height: 100%;
  border: 1px dashed var(--ez-upload__border--color);
  border-radius: 6px;
  box-sizing: border-box;
}

.box__container {
  display: flex;
  flex-wrap: wrap;
  background-color: var(--ez-upload__container--background-color);
  padding: 6px;
  width: 100%;
  border-radius: 12px;
}

/* LINK WITH DOWNLOAD URL */
a:-webkit-any-link {
  color: #008561;
  fill: #008561;
  cursor: pointer;
  text-decoration: none;
}

/* PROGRESS BAR */
progress[value] {
  display: flex;
  width: 100%;
  appearance: none;
  border: 1px solid var(--ez-upload__border--color);
  height: 12px;
  justify-content: flex-start;
  align-items: center;
  border-radius: 3px;
  position: relative;
}

progress[value]::-webkit-progress-bar {
  display: flex;
  -webkit-appearance: none;
  width: 100%;
  background-color: rgb(255, 255, 255);
  border-radius: 2px;
  padding: 2px;
}

progress[value]::-webkit-progress-value {
  display: flex;
  width: 100%;
  background-color: var(--ez-upload__color--primary);
}

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

.align--middle {
  align-self: center;
  align-items: center;
}

.padding-large {
  padding: var(--ez-upload--padding--large) 0px;
}

.padding-extra-small {
  padding: var(--ez-upload--padding--extra-small) 0px;
}

.text {
  font-family: var(--font-pattern, "Roboto");
  text-shadow: 0 0 0 #353535, 0 0 1px transparent;
}

.text--primary {
  color: var(--ez-upload--text--primary);
  text-shadow: var(--ez-upload--text-shadow);
}

.text--secondary{
  color: var(--ez-upload--text--secondary);
  text-shadow: var(--ez-upload--text-shadow);
}

.text--ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.text--medium {
  font-size: 14px;
}

.text--small {
  font-size: 12px;
}

.btn-cancel {
  outline: none;
  border: none;
  background-color: unset;
  cursor: pointer;
}

.btn-cancel::after {
  content: '';
  display: flex;
  background-color: var(--text--primary, #008561);
  width: 8px;
  height: 8px;
  -webkit-mask-image: var(--ez-upload__btn__cancel-image);
  mask-image: var(--ez-upload__btn__cancel-image);
}

.iu_header {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.iu__label {
  padding: var(--space--small);
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  /*public*/
  font-family: var(--ez-upload--font-family);
  font-size: var(--text--extra-small);
  font-weight: var(--ez-upload--font-weight);
  color: var(--ez-upload--text--primary);
  text-shadow: var(--ez-upload--text-shadow);
}

.iu__file-icon {
  outline: none;
  border: none;
  background-color: unset;
  cursor: pointer;
}

.iu__file-icon:disabled {
  cursor: unset;
}

.iu__file-icon::after {
  content: '';
  display: flex;
  background-color: var(--text--primary, #626e82);
  width: 9px;
  height: 11px;
  -webkit-mask-image: var(--ez-upload__file-icon-image);
  mask-image: var(--ez-upload__file-icon-image);
}

.iu__file-icon:disabled::after {
  background-color: var(--text--disable, #AFB6C0);
}

.iu__icon-label {
  justify-content: center;
  display: flex;
  cursor: pointer;
  box-sizing: border-box;
}

.background--disabled {
  background-color: var(--color--disable-secondary, #F2F5F8);
}

.text--disabled {
  color: var(--text--disable, #AFB6C0);
}

.mouse-pointer--disabled {
  cursor: unset;
}

.appearanceNone{
  width: 0px;
  height: 0px;
}


/* //////// GRID SYSTEM //////// */

.row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.col {
  display: flex;
  flex-wrap: wrap;
  align-self: flex-start;
  box-sizing: border-box;
}

.col--stretch {
  align-self: stretch;
}

.col--undefined {
  width: unset;
}

.col--nowrap {
  flex-wrap: nowrap;
}

@media screen and (min-width: 320px) {
  .col--sd-1 {
    width: 8.33333%;
  }

  .col--sd-2 {
    width: 16.66667%;
  }

  .col--sd-3 {
    width: 25%;
  }

  .col--sd-4 {
    width: 33.33333%;
  }

  .col--sd-5 {
    width: 41.66667%;
  }

  .col--sd-6 {
    width: 50%;
  }

  .col--sd-7 {
    width: 58.33333%;
  }

  .col--sd-8 {
    width: 66.66667%;
  }

  .col--sd-9 {
    width: 75%;
  }

  .col--sd-10 {
    width: 83.33333%;
  }

  .col--sd-11 {
    width: 91.66667%;
  }

  .col--sd-12 {
    width: 100%;
  }
}

@media screen and (min-width: 480px) {
  .col--pn-1 {
    width: 8.33333%;
  }

  .col--pn-2 {
    width: 16.66667%;
  }

  .col--pn-3 {
    width: 25%;
  }

  .col--pn-4 {
    width: 33.33333%;
  }

  .col--pn-5 {
    width: 41.66667%;
  }

  .col--pn-6 {
    width: 50%;
  }

  .col--pn-7 {
    width: 58.33333%;
  }

  .col--pn-8 {
    width: 66.66667%;
  }

  .col--pn-9 {
    width: 75%;
  }

  .col--pn-10 {
    width: 83.33333%;
  }

  .col--pn-11 {
    width: 91.66667%;
  }

  .col--pn-12 {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .col--tb-1 {
    width: 8.33333%;
  }

  .col--tb-2 {
    width: 16.66667%;
  }

  .col--tb-3 {
    width: 25%;
  }

  .col--tb-4 {
    width: 33.33333%;
  }

  .col--tb-5 {
    width: 41.66667%;
  }

  .col--tb-6 {
    width: 50%;
  }

  .col--tb-7 {
    width: 58.33333%;
  }

  .col--tb-8 {
    width: 66.66667%;
  }

  .col--tb-9 {
    width: 75%;
  }

  .col--tb-10 {
    width: 83.33333%;
  }

  .col--tb-11 {
    width: 91.66667%;
  }

  .col--tb-12 {
    width: 100%;
  }
}

@media screen and (min-width: 992px) {
  .col--md-1 {
    width: 8.33333%;
  }

  .col--md-2 {
    width: 16.66667%;
  }

  .col--md-3 {
    width: 25%;
  }

  .col--md-4 {
    width: 33.33333%;
  }

  .col--md-5 {
    width: 41.66667%;
  }

  .col--md-6 {
    width: 50%;
  }

  .col--md-7 {
    width: 58.33333%;
  }

  .col--md-8 {
    width: 66.66667%;
  }

  .col--md-9 {
    width: 75%;
  }

  .col--md-10 {
    width: 83.33333%;
  }

  .col--md-11 {
    width: 91.66667%;
  }

  .col--md-12 {
    width: 100%;
  }
}

@media screen and (min-width: 1200px) {
  .col--ld-1 {
    width: 8.33333%;
  }

  .col--ld-2 {
    width: 16.66667%;
  }

  .col--ld-3 {
    width: 25%;
  }

  .col--ld-4 {
    width: 33.33333%;
  }

  .col--ld-5 {
    width: 41.66667%;
  }

  .col--ld-6 {
    width: 50%;
  }

  .col--ld-7 {
    width: 58.33333%;
  }

  .col--ld-8 {
    width: 66.66667%;
  }

  .col--ld-9 {
    width: 75%;
  }

  .col--ld-10 {
    width: 83.33333%;
  }

  .col--ld-11 {
    width: 91.66667%;
  }

  .col--ld-12 {
    width: 100%;
  }
}