/* ***** Main style ***** */

/* Global var */
:root {
    /* Color */
    --clrBackHeader: #bfbfbf;
    --clrBackFooter: #bfbfbf;
    --clrDarkgray: #343643;
    --clrDarkgray2: #484950;
    --clrGreenGED_REPAIR: #38A836;
    --clrRedGED_REPAIR: red;
    --clrDropShadowBlue: #91DFBB;
    --clrInnerShadowGreen: #68FB4A;
    --clrBkgFormTitle: #F4F3F3;
    --clrBkgBody: #F2F2F2;
    --clrBkgBody2: #e2dada;
    --clrBkgBodyShadow: #d9d9d9;
    --clrBkgNavBar: rgb(255, 255, 255);
    --clrBkgSideBar: #D9D9D9;
    --clrBorder: #C0C0C0;
    --clrBorder2: #b2aeae;
    --clrBorderBtn: #808080;
    --clrHead1stGrad: rgba(61, 168, 54, 1);
    --clrHead2ndGrad: rgba(39, 109, 34, 1);
    --clrGreenHover: #3eb93b;
    --clrHeadDropShadowBlue: #68fb4a;
    --clrHeadInnerShadowGreen: #68fb4a;
    --clrHeadBotInnerShadow: rgba(0, 0, 0, 0.25);
    --lightTxtColor: white;
    --clrTxtShadow: #4ec83d;
    --clrOpacityBkg: rgba(255, 255, 255, .5);
    --clrBkgUserMenu: #F2F2F2;

}

/* Header Background color */
.clBkHead { background-color: var(--clrBackHeader); }

/* Footer Background color */
.clBkFoot { background-color: var(--clrBackFooter); }

.clHideOnload {
    display: block;
}

.scrollable-menu {
    height: auto;
    max-height: 200px;
    overflow-x: hidden;
}

@font-face {
    font-family: roboto;
    src: url("../font/Roboto/static/Roboto-Regular.ttf");
} * {
    font-family: roboto;
}

html, body {
    background-color: var(--clrBkgBody);
    height: 100%;
    overflow-y: auto;   /* o scroll */
    -webkit-overflow-scrolling: touch; /* inerzia su iOS */
}

input {
    color: var(--clrDarkgray);
    padding-left: 9px;
    border: solid 1px #D9D9D9;
    border-radius: 5px;
    padding-top: 6px;
}

/** Button close dismiss Modal */
.clBtnDismissModal {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    background-image: url('../images/Icons/cancel.png');
    background-size: contain;
    background-repeat: no-repeat;
}

/** Text responsive Basic: Generic */
.text-fluid {
  /* min 16px, scala con 1vw, max 28px */
  font-size: clamp(1rem, 1rem + 1vw, 1.75rem) !important;
  line-height: 1.4 !important;
}

/** Text responsive */
.text-fluid-sm { /* min 8px → max 16px */
  font-size: clamp(0.50rem, 0.55rem + 0.7vw, 1rem) !important;
  line-height: 1.45 !important;
}

.text-fluid-md { /* min 10px → max 16px */
  font-size: clamp(0.70rem, 0.70rem + 0.7vw, 1rem) !important;
  line-height: 1.4 !important;
}

.text-fluid-lg { /* min 16px → max 20px */
  font-size: clamp(1rem, 1rem + 1.25vw, 1.25rem) !important;
  line-height: 1.25 !important;
}

.text-fluid-xl { /* min 20px → max 28px */
  font-size: clamp(1.25rem, 1.25rem + 1.5vw, 1.75rem) !important;
  line-height: 1.20 !important;
}

/** (Options) title */
.h-fluid-1 { /* ~ H1 */
  font-size: clamp(2rem, 1.2rem + 3vw, 3.5rem) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}
.h-fluid-2 { /* ~ H2 */
  font-size: clamp(1.5rem, 1rem + 2.2vw, 2.5rem) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

/* ***** Background ***** */
.clBkImg {
    opacity: .4;
    object-fit: cover;
    left: 0px;
    right: 0;
    width: 100%;
    height: 100%;
}

.clAbsolute {
    position: absolute;
    top: 0;
    left: 0px;
    right: 0;
}

.clRelative {
    position: relative;
}

.clContent {
    position: absolute;
    top: 0;
    left: 280px;
    right: 0;
}

#id_BesideMenuPc {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

#id_BesideMenuPc hr {
    width: 100%;
}

@media (min-width: 1200px) {
    #id_BesideMenuPc.col-lg-2 {
        width: 25% !important;
    }
}

@media (max-width: 1200px) {
    #id_BesideMenuPc.col-3 {
        width: 33.33333333% !important;
    }
}
@media (max-width: 1200px) {
    .col-10:has(> div#id_RowMenuUserPc) {
        width: 66.66666667% !important;
    }
}

@media (min-width: 1201px) {
    .col-10:has(> div#id_RowMenuUserPc) {
        width: 75% !important;
    }
}

@media (min-width: 1400px) {
    #id_BesideMenuPc.col-lg-2 {
        width: 25% !important;
    }
}

@media (min-width: 1400px) {
    .col-10:has(> div#id_RowMenuUserPc) {
        width: 75% !important;
    }
}

.clOpacityClr {
    background-color: var(--clrOpacityBkg);
    border-radius: 20px;
    box-shadow: 20px 20px 20px rgba(0,0,0,.25);
    border: solid white 2px;
}

@media (max-width: 1200px) {
    .clOpacityClr.clWrapSector.w-75.h-75 {
        width: 100% !important;
        height: 100% !important;
    }
}

.clBkgImg  {
  background-image: url("../images/Images/lawn-mower-scene.jpg");
  position: relative;
  width: 100%;
  background-size: cover;
}

.clBlurBackDropContent {
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

.clBlurBackDropBkg {
    background-color: var(--clrOpacityBkg);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

@media screen and (max-width: 767px) {
    .clOpacityClr.w-75 {
        width: 90% !important;
    }
}

#collapsibleUserMenuPc {
    z-index: 1;
    background-color: var(--clrBkgUserMenu);
    padding: 20px;
    border-radius: 20px;
}

/* Hide and show */
.clHideDiv {
    display: none;
}

.clShowDiv {
    display: block;
}

.clickedStyle {
    color: var(--clrDarkgray);
    position: relative;
    margin-top: 50px;
    font-family: roboto;

    &:before {
      content: attr(data-before);
      position: absolute;
      top: -30px;
      left: 3px;
    }
}

.baseStyle {
    color: var(--clrDarkgray);
    position: relative;
    margin-top: 30px;
    font-family: roboto;

    &:before {
      content: attr(data-before);
      position: absolute;
      top: -13px;
      left: 18px;
      padding-left: 3px;
      padding-right: 3px;
      background-color: white;
    }
}

.greenBtn {
    color: white;
    background-color: var(--clrGreenGED_REPAIR);
    box-shadow: 7px 7px 7px var(--clrDropShadowBlue),
    inset 0 -5px 4px rgba(0, 0, 0, 0.25),
    inset 0 -7px 7px var(--clrInnerShadowGreen);
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: large;
    font-weight:500;
    border-radius: 12px;
    transition: all 100ms ease-in-out;
    border: none;
    outline: none;

    &:hover {
      color: white;
      background-color: var(--clrGreenHover);
      box-shadow: 7px 12px 7px var(--clrDropShadowBlue),
      inset 0 -7px 7px rgba(0, 0, 0, 0.25),
      inset 0 -10px 10px var(--clrInnerShadowGreen);
      margin-top: -2px;
      margin-bottom: 2px;
      border: none;
      outline: none;
      /* filter: brightness(110%); */
    }

    &:active {
      color: white !important;
      background-color: var(--clrGreenHover) !important;
      box-shadow: 3px 3px 3px var(--clrDropShadowBlue),
      inset 0 -7px 7px rgba(0, 0, 0, 0.25),
      inset 0 -10px 10px var(--clrInnerShadowGreen);
      margin-top: -2px;
      margin-bottom: 2px;
      border: none;
      outline: none;
      /* filter: brightness(110%); */
    }

}

.whiteBtn {
    color: var(--clrDarkgray);
    background-color: white !important;
    box-shadow: 4px 4px 4px var(--clrDropShadowBlue),
    inset 0 -4px 4px rgba(0, 0, 0, 0.25);
    padding-top: 8px;
    padding-bottom: 13px;
    font-size: medium;
    font-weight:500;
    border-radius: 12px;
    border: solid .2px var(--clrBorderBtn);
    width: 250px;
    padding-left: 10px;
    padding-right: 0;
    text-align: left;
}

.whiteBtnMenu {
    color: var(--clrDarkgray);
    background-color: white !important;
    box-shadow: 4px 4px 4px var(--clrDropShadowBlue),
    inset 0 -4px 4px rgba(0, 0, 0, 0.25);
    padding-top: 8px;
    padding-bottom: 13px;
    font-size: medium;
    font-weight:500;
    border-radius: 12px;
    border: solid .2px var(--clrBorderBtn);
    padding-left: 10px;
    padding-right: 0;
    text-align: left;
}

.greenNavBtn, .blackNavBtn {
    color: white;
    background-color: var(--clrGreenGED_REPAIR);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.12),
    -4px 4px 4px rgba(0, 0, 0, 0.12),
    inset 0 -4px 4px rgba(0, 0, 0, 0.3);
    padding-bottom: 8px;
    padding: 5px 25px 8px 25px;
    font-weight:500;
    border-radius: 14px 0 0 14px;
    border: none;
}

.blackNavBtn {
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.12),
    4px 4px 4px rgba(0, 0, 0, 0.12),
    inset 0 -4px 4px rgba(0, 0, 0, 0.3);
    background-color: var(--clrDarkgray);
    border-radius: 0px 14px 14px 0px;
    margin-left: -4px;
}

.form-title {
    padding-left: 20px;
    padding-top: 5px;
    padding-bottom: 5px;
    /* background-color: var(--clrBkgFormTitle); */
    border-radius: 10px;
}

nav {
    background-color: var(--clrBkgNavBar);
}

/* ***** Progress Bar ***** */
.clTxtBodyBar {
    font-size: calc(11px + 0.4vw);
}
.clTxtFooterBar {
    font-size: calc(10px + 0.4vw);
}

/* ***** Hamburger ***** */
.clHamburgerStyle {
    background-color: var(--clrBkgNavBar);
    color: lightgray;
    font-size: 1.5em;
    border-radius: 5px;
    border-color: var(--clrBorderBtn);
    border: 2px solid;
}

.sidebar {
    background-color: var(--clrBkgSideBar);
    border: solid 1px var(--clrBorder);
    min-width: 280px;
}

.footer {
    background-color: white;
    position: absolute;
}

.clAElemFooter {
    text-decoration: none;
    color: var(--clrDarkgray);
}

/* ***** Modal ***** */

.clModalHeaderPos {
    background-color: var(--clrGreenGED_REPAIR);
    color: white;
    font-size: 1.5em;
    font-weight: 500;
    border-radius: 7px 7px 0px 0px;
    border-color: var(--clrGreenGED_REPAIR);
}

.clModalHeaderNeg {
    background-color: var(--clrRedGED_REPAIR);
    color: white;
    font-size: 1.5em;
    font-weight: 500;
    border-radius: 7px 7px 0px 0px;
    border-color: var(--clrRedGED_REPAIR);
}

.btnModalClosePos {
    background-color: var(--clrGreenGED_REPAIR);
    color: white;
    font-size: 1.5rem;
    font-weight: 500;
    border: none;
}
.clModalFooter {
    background-color: whitesmoke;
}

/* ***** Form New Account ***** */
.clFormAcc {
    color: white;
    font-size: 1.0em;
    border-radius: 10px;
}
.clHeaderTitleForm {
    background-color: var(--clrGreenGED_REPAIR);
    color: white;
    border-radius: 10px;
    margin-bottom: 5%;
}
.clLabelDdForm {
    color: black;
}
.clBackGroundClrIfErrorField {
    background-color: #FFE6E6;
    color: black;
}

/* ***** Header ***** */
#Id_Head_Title {
  background: linear-gradient(
    90deg,
    var(--clrHead1stGrad) 0%,
    var(--clrHead2ndGrad) 100%
  ) !important;
  padding-left: 4rem !important;
  padding-right: 4rem !important;
  padding-bottom: 15px !important;
  color: var(--lightTxtColor);
  text-shadow: 0px 4px 2px var(--clrTxtShadow);
  box-shadow: 0px 2px 1px var(--clrHeadDropShadowBlue),
    inset 0 -5px 4px var(--clrHeadBotInnerShadow),
    inset 0 -7px var(--clrHeadInnerShadowGreen);
  padding-top: 8px;
  padding-bottom: 8px;
  font-weight: 500;
  border-radius: 12px;
  transition: all 100ms ease-in-out;
  border: none;
  outline: none;
  position: relative;

  &:before {
    content: "";
    width: 35px;
    height: 35px;
    left: 3%;
    background: left 50% / 100% no-repeat url("/images/Icons/accueil.png");
    position: absolute;
  }

  &:after {
    content: "";
    width: 35px;
    height: 35px;
    right: 3%;
    background: 50% / 100% no-repeat url("/images/Icons/accueil.png");
    position: absolute;
  }

  &:hover {
    box-shadow: 7px 10px 10px var(--clrHeadDropShadowBlue),
      inset 0 -5px 4px var(--clrHeadBotInnerShadow),
      inset 0 -7px var(--clrHeadInnerShadowGreen);
    margin-top: -2px;
    margin-bottom: 2px;
    border: none;
    outline: none;
  }

  &:active {
    box-shadow: 2px 2px 2px var(--clrHeadDropShadowBlue),
      inset 0 -1px 1px var(--clrHeadBotInnerShadow),
      inset 0 -3px var(--clrHeadInnerShadowGreen);
    margin-top: -2px;
    margin-bottom: 2px;
    border: none;
    outline: none;
  }
}

/*@media screen and (width > 989px) and (width < 1120px) {
  .col-9:has(> div#id_RowMenuUserPc) {
    width: 71%;
  }
}*/

@media screen and (width < 1200px) {
  .navbar-brand .img-fluid {
    width: 120px !important;
  }
}

@media screen and (width > 1199px) {
  .navbar-brand .img-fluid {
    width: 115px !important;
    padding: 5px 0 10px 0;
  }
}

.navbar-brand {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

#Id_Footer_00,
.pagePh > .row {
  right: 0;
  left: 0;
}

#id_Footer > div {
  margin: 0;
}

.resp-btn {
    font-size: 2.6vw !important; /* 2% della larghezza della viewport */
    /* padding: 10px 20px; */
}

.resp-btnPh {
    font-size: 3.5vw !important; /* 2% della larghezza della viewport */
    /* padding: 10px 20px; */
}

.resp-txt-title-btnPh {
    font-size: 4.5vw !important; /* 2% della larghezza della viewport */
}


/* ***** Modal ***** */
.clTextFieldModal {
    font-size: 1em;
    color: var(--clrDarkgray);
    padding: 10px;
    border: solid 2px var(--clrBorder);
    border-radius: 12px;
    background-color: var(--clrBkgBody);
    box-shadow: 7px 7px 7px var(--clrBkgBodyShadow);
    vertical-align: middle;
}

.clTextFieldModal2 {
    font-size: 1em;
    color: var(--clrDarkgray2);
    padding: 8px;
    border: solid 3px var(--clrBorder2);
    border-radius: 12px;
    background-color: var(--clrBkgBody2);
    box-shadow: 7px 7px 7px var(--clrBkgBodyShadow);
    vertical-align: middle;
}

/* ***** Container Table ***** */
.clContainer {
    padding-left: 4px;
    padding-right: 4px;
}

.clBtnMenuDis {
    opacity: 0.3 !important;
    pointer-events: none;
}

/* ***** Box Container 2 col ***** */

.clContainerBox {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));    /* 2 cols same width, same height and responsive */
    gap: 10px;
}

.clBoxContainer {
    margin-inline-end: 12px;  
}

/* ***** Badges ***** */

/* Badges Tables Docs */
.clBadgeDocs {
   background-color: var(--clrGreenGED_REPAIR);
   color: white;
}