:root{
    --background: #edf5ff;
    --color-primary: #004f9e;
    --color-ltblue: #008CBA;
    --color-border: #abcaec;
    --color-ltgray: #eaeaea;
    --color-gray: #60686a;
    --color-red: #951447;
    --color-orange: #e67e22;
    --color-green: #38b8be;
    --background-container: #FFFFFF;
}

@font-face {
  font-family: "Roboto";
  src: url("../fonts/Roboto.ttf");
}

*, *::before, *::after {
    box-sizing: border-box;
}

body{
    background: var(--background);
    font-family: "Roboto";
    margin:0;
        overflow-x: hidden;
}

a.link{
    text-decoration: none;
}

header{
    width: 865px;
    margin:0 auto;
    margin-top:10px;
}

header h2{
    color:var(--color-primary);
    display: contents;
}

header span{
   color:var(--color-primary);
   font-weight: 600;
}

header a{
    color:var(--color-primary);
    margin-top:5px;
    text-decoration: none;
}

header #contacts{
    float: right;
    display: grid;
}

header #contacts-mobile{
    float: right;
    display: none;
}

#container{
    width: 865px;
    margin:0 auto;
    margin-top:120px;
}


#container_login{
    width: 50%;
    margin:0 auto;
    margin-top:120px;
}

#container_register, #container_forgotpassword{
    width: 50%;
    margin:0 auto;
    margin-top:100px;
}

#container_settings{
    width: 865px;
    margin:0 auto;
    margin-top:100px;
}

@media (max-width: 768px) {    
    body{
        margin:5px;
    }

    header{
        width: 100%;
        margin:0;
    }

    header #contacts{
       display: grid;
       float:none;
    }

    header #contacts-mobile{
        display: none;
    }

    #container{
        width: 100%;
        margin:0;
        margin-top:120px;
    }

    #container_login{
        width: 100%;
        margin:0;
        margin-top:120px;
    }

    #container_register, #container_forgotpassword{
        width: 100%;
        margin:0;
        margin-top:100px;
    }

    #container_settings{
        width: 100%;
        margin:0;
        margin-top:100px;
    }
}



#container_register .block, #container_forgotpassword .block, #container_settings .block{margin-top: 20px;}

#container_forgotpassword .block #forgotPassword-step-2, #container_forgotpassword .block #forgotPassword-step-3{
    display: none;
}

.stepper-wrapper {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
 margin-top:20px;
  margin-bottom: 20px;
}
.stepper-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;

  @media (max-width: 768px) {
    font-size: 12px;
  }
}

.stepper-item::before {
  position: absolute;
  content: "";
  border-bottom: 2px solid #ccc;
  width: 100%;
  top: 10px;
  left: -50%;
  z-index: 2;
}

.stepper-item::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #ccc;
  width: 100%;
  top: 10px;
  left: 50%;
  z-index: 2;
}

.stepper-item .step-counter {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ccc;
  margin-bottom: 6px;
}

.stepper-item.active {
  font-weight: bold;
}

.stepper-item.active .step-counter{
    background: var(--color-green);
}

.stepper-item.completed .step-counter {
  background: var(--color-green);
}

.stepper-item.completed::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid var(--color-green);;
  width: 100%;
  top: 10px;
  left: 50%;
  z-index: 3;
}

.stepper-item:first-child::before {
  content: none;
}
.stepper-item:last-child::after {
  content: none;
}

.root{
    color: #ffffff;
    padding: 12px 19px;
    background: var(--color-green);
    border-radius: 100%;
    font-size: 24px;
    width: 48px;
    height: 48px;
    display: block;
   margin-top: -48px;
}

.block{margin-bottom: 40px;}
.mb-10{margin-bottom: 10px;}

footer{margin-bottom: 10px;}

footer span{
    color: var(--color-primary);
    
}

.block h2{
    color:var(--color-primary);
    margin:0;
}

.block h4{
    color:var(--color-green);
    margin:0;
}

hr{
    margin-top:10px;
    margin-bottom: 10px;
    border:0px;
    border-top:1px solid var(--color-ltgray);
}

.block-container{
    background: var(--background-container);
    margin-top:10px;
    border-radius: 4px;
    border:1px solid var(--color-border);
}

.block .topHeader{
    display: flex;
}

.block .topHeader .about{
    flex: 1 2 50%;
}

.block .topHeader .account{

}

.block-container .login{
    padding:24px 32px;
}

.block-container .login .input-group{
    width: 100%;
    display: flex;
}

.block-container .login .input-group span{margin-top:17px;width: 29%;text-align: right;margin-right: 10px;color:var(--color-gray);}
.block-container .login .input-group input:last-child{margin-top:10px}

.block-container #notify{display: none;}

.block-container .login input{    display: block;
    height: 34px;
    width: 61%;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.block-container .pay{
    padding:24px 32px;
}


.block-container .pay h3{
    font-weight: 300;
    font-size: 24px;
    color:var(--color-gray);
    margin:0;
    @media (max-width: 768px) {
        font-size: 18px;
    }
}

.block-container .pay h3 p{
    display: contents;
    font-weight: 600;
}

.block-container .pay h3 p i{
    width: 20px;
    font-size: 17px;
}

.block-container .pay h3 .balance-green{
    color:var(--color-green);
}

.block-container .pay h3 .balance-red{
    color:var(--color-red);
}

.block-container .actions{
    padding:10px;
    background:var(--background);
    border-radius: 0px 0px 4px 4px;
    border-top:1px solid var(--color-border);
}

.block-container .actions input{
    padding: 6px 12px;
    line-height: 1.49;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 4px;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;

    @media (max-width: 768px) {
        width: 15px;
    }
}

.block-container .actions input[type=number]{
    min-width:170px;
}

.block-container .actions .inputgroup{
    display: contents;
}

.block-container .actions .inputgroup input{
    border-radius: 4px 0px 0px 4px;
}
.block-container .actions .inputgroup input:focus{
outline: none;
border: 1px solid var(--color-green);
}

.block-container .actions .inputgroup button{
    border-radius: 0px 4px 4px 0px;
    margin-left: -4px;
}

.block-container .actions-top{
    padding:10px;
    background:var(--background);
    border-radius: 4px 4px 0px 0px;
    border-bottom:1px solid var(--color-border);
}

.table .thead{
    padding: 10px;
    background: var(--background);
    border-radius: 4px 4px 0px 0px;
    display: flex;
    text-align: center;
    border-bottom: 1px solid var(--color-border);;
}

.table .tbody{
    text-align: center;
}

.table .thead .tcolumn, .table .tbody .tcontent .tcolumn{
    flex: 1 2 50%;
}

.table .thead .tcolumn:nth-child(2), .table .tbody .tcontent .tcolumn:nth-child(2){
    flex: unset;
    min-width: 20%;
    text-align: left;
}
.table .tbody .tcontent .tcolumn:nth-child(2){font-weight: 600;}
.table .tbody .tcontent .tcolumn:nth-child(2) i{
    font-size: 13px;
}

.table .tbody .tcontent{
display: flex;
padding: 15px 0px;
border-bottom: 1px solid var(--color-border);
color:var(--color-gray);
}

.table .tbody .tcontent:last-child{border-bottom: 0px;}

.countersTable{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-radius: 4px 4px 0px 0px;
}

.countersTable col{
    position: static;
    display: table-column;
    float: none;
}

.countersTable thead, .countersTable tbody{
    text-align: center;
}

.countersTable thead tr td{
        padding: 8px;
    line-height: 1.42857143;
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
        background: var(--background);
}

.countersTable thead tr.top td:first-child{
    border-radius: 3px 0px 0px 0px;
}

.countersTable thead tr td:last-child{
    border-right:0;
}

.countersTable thead tr.top td:last-child{
    border-radius: 0px 3px 0px 0px;
}

.countersTable tbody tr td{
    padding: 15px 0px;
                border-right: 1px solid var(--color-border);
}

.countersTable tbody tr td:last-child{
    border-right: 0;
    width: 8%;
    background: var(--background);
}

.countersTable tbody tr td:nth-last-child(2){
    padding: 0;
    border-right: 0;
    width: 25%;
}

.countersTable tbody tr td:nth-last-child(2) input{
width: 100%;
    height: 100%;
    padding: 14 0;
    font-size: 16px;
    display: block;
    text-align: center;
    border:0;
    background: transparent;
}

.countersTable tbody tr td.readonly{
background: var(--background);
}


.countersTable tbody tr td:nth-last-child(2) input:hover {cursor:pointer;}
.countersTable tbody tr td:nth-last-child(2) input:read-only:hover{cursor: not-allowed;}
.countersTable tbody tr td:nth-last-child(2) input:focus {
    outline: none;
}

.countersTable tbody tr{
        border-bottom: 1px solid var(--color-border);

}

.countersTable tbody tr:last-child{
        border-bottom: 0px;
}

.background-green{background:var(--color-green);}
.background-gray{background:var(--color-gray);}
.background-ltgray{background:var(--color-ltgray);}

.color-green{color:var(--color-green);}
.color-orange{color:var(--color-orange);}
.color-red{color:var(--color-red);}
.color-gray{color:var(--color-gray);}
.color-ltgray{color:var(--color-ltgray);}

.tooltip {
  position: relative;
  cursor: pointer;
}

.tooltip::after {
  content: attr(data-tooltip); /* Gets text from HTML */
  position: absolute;
  background-color: #333;
  color: #fff;
  padding: 5px 10px;
  border-radius: 4px;
  bottom: 125%; /* Position above the text */
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  white-space: nowrap; /* Prevents text from wrapping */
  z-index: 10;
  font-family: "Roboto";
}

.tooltip:hover::after {
  opacity: 1;
  visibility: visible;
}

.button{
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    color:#FFFFFF;
    text-decoration: none;
}

.button-disabled{
    color: #000000;
    border: 1px solid var(--color-border);
    cursor: not-allowed;
}

/* скрытый чекбокс */
#dropdown-toggle {
  display: none;
}

/* стиль кнопки-метки для открытия */
.label-dropdown {
  padding: 10px 20px;
  background: var(--color-ltblue);
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
  display: inline-block;
  user-select: none;

}

.label-dropdown:hover {
  background-color: #006f98;
}

/* скрываем меню по умолчанию */
.menu {
    right:5px;
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  margin-top: 2px;
  box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
  border-radius: 4px;
  z-index: 1;
}

/* показываем меню, когда чекбокс активен */
#dropdown-toggle:checked + .label-dropdown + .menu {
  display: block;
}

/* стили ссылок внутри меню */
.menu a {
  padding: 12px 16px;
  display: block;
  text-decoration: none;
  color: #333;
}

.menu a:hover {
  background-color: #f1f1f1;
}
