
.d-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 30px;
  grid-row-gap: 30px;
}

.d-grid.cols-3 {
  grid-template-columns: repeat(3, 1fr);
}


@media only screen and (max-width: 767px) {
  .d-grid.cols-3,
  .d-grid.cols-4,
  .d-grid.cols-2 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.photo-preview{
    width:120px;
    height:120px;
    background:#6678d3;
    border-radius:4px;
    position:relative;
    overflow:hidden;
    cursor:pointer;
}

.photo-preview img.img-avt{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius: 5px;
}

.photo-preview.has-image img.img-avt{
    display:block;
}

.photo-preview.has-image .photo-icon{
    display:none;
}

.elementor-field-group-passport_photo input{
    position: absolute;
    left: -9999px;
    opacity: 0;
}

.elementor-field-group {
    position: relative;
}

.validation-error {
    position: absolute;
    left: 10px;
    top: 100%;
    margin-top: 4px;

    color: #dc3545;
    font-size: 12px;
    line-height: 1.3;

    z-index: 99;
}

.field-error {
    border-color: #dc3545 !important;
}