:root {
  --bg_steel:#1f2937;
  --violet: #5B341B;
  --yellow: #FDBE4B;
  --orange: #e59500;
  --navbar-yellow: var(--yellow);
  --navbar-violet: var(--violet);
}
body {
  color: var(--yellow);
  background-color: var(--violet);
  height: 100vh;
  margin: 0;
  padding: 1em;
}
body.admin {
  background-color: var(--bg_steel);
}
.modalcontainer {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.btn-1,
.btn-1:hover {
  color: var(--violet) !important;
  background-color: var(--yellow) !important;
  border-color: var(--orange) !important;
  font-weight: bold;
}
.btn-1:hover {
  background-color: var(--orange) !important;
}
.choinka {
  display: flex !important;
  flex-direction: column;
  align-items: center;
}

/* Custom Navbar Styling */
.navbar-marinero {
  background-color: var(--navbar-violet) !important; /* Use !important to override Bootstrap defaults if necessary */
  border: 1px dashed var(--yellow);
  padding: .5rem;
}

.navbar-marinero .navbar-nav .nav-link,
.navbar-marinero .navbar-brand,
.navbar-marinero .dropdown-menu .dropdown-item,
.navbar-marinero .navbar-text, /* For username */
.navbar-marinero .btn {
  color: var(--navbar-yellow) !important;
}

/* For hover/focus states to maintain contrast */
.navbar-marinero .navbar-nav .nav-link:hover,
.navbar-marinero .navbar-nav .nav-link:focus,
.navbar-marinero .dropdown-item:hover,
.navbar-marinero .dropdown-item:focus {
  color: var(--navbar-yellow) !important; /* Keep text yellow */
  background-color: rgba(255, 255, 255, 0.1) !important; /* Slightly lighter violet on hover */
}

/* Adjust dropdown background for contrast */
.navbar-marinero .dropdown-menu {
  background-color: var(--navbar-violet) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

/* For the logout button */
.btn-outline-custom {
  color: var(--navbar-yellow) !important;
  border-color: var(--navbar-yellow) !important;
}
.btn-outline-custom:hover {
  background-color: var(--navbar-yellow) !important;
  color: var(--navbar-violet) !important;
}

/* User avatar styling (for image) */
.user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-right: 8px;
  object-fit: cover;
}

/* User avatar styling (for icon placeholder) */
.user-avatar-icon {
  font-size: 1.8rem; /* Adjust size as needed */
  margin-right: 8px;
  color: var(--marinero-yellow) !important; /* Ensure icon is yellow */
}

/* Small adjustment for layout */
.navbar-expand-lg .navbar-collapse {
    justify-content: space-between; /* Pushes brand/nav to left, user/logout to right */
}

#midsommar_svg_editor_container { 
  background-color: rgb(95, 10, 10);
  position: fixed;
  left: 0;
  right: 0;
  top:0;
  bottom: 0;
  display:flex;
  flex-direction:row;
  overflow: auto;
}
.modal {
  color:#212529;
}

#midsommar_svg_menu {
  padding: 1rem;
  background-color: var(--bg_steel);
  color: white;
  position: absolute;
  left: 0;
  right: 0;
  top:0;
  bottom: 0;
  overflow: auto;
}

/*.midsommar_svg_working_area {
  flex-grow: 1;
}*/

[data-midsommar_svg_elem] {
  position: relative;
}

[data-midsommar_svg_elem]>*:first-child { margin-left: 0; }

.dropdown-menu { min-width: unset; }

@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(23, 162, 184, 0.7); /* Example for info/primary color */
  }
  70% {
    transform: scale(1.05);
    box-shadow: 0 0 0 15px rgba(23, 162, 184, 0); /* Increase size of shadow for pulse effect */
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(23, 162, 184, 0);
  }
}

.btn-pulse {
  animation: pulse 2s infinite; /* Apply the pulse animation */
}

.triangle_container_before,
.triangle_container_after{
  position: absolute;
  left: 0;
  transform: translateX(calc(-0.25em - 100%));
  z-index: 10;
  cursor: pointer;
}
.triangle_container_after { bottom: -0.8em; }
.triangle_container_before { top: -1.1em; }
.triangle_container_into {
  display: inline-block;
  margin-left: .5em;
  cursor: pointer;
}
polygon[data-move_here_d] {
    cursor: pointer;
    transition: fill 0.3s ease-in-out; /* Smooth transition for color change */
    transform-origin: center center; /* Ensure scaling pulses from the center */
}

/* Pulsing Keyframes (re-using previous definition) */
@keyframes pulse-triangle {
    0% {
        transform: scale(1);
        filter: brightness(100%); /* No initial brightness change */
    }
    50% {
        transform: scale(1.1); /* Scale up slightly */
        filter: brightness(120%); /* Make it brighter */
    }
    100% {
        transform: scale(1);
        filter: brightness(100%); /* Return to normal brightness */
    }
}

/* Hover effects for the triangle */
polygon[data-move_here_d]:hover {
    fill: #28a745;
    animation: pulse-triangle 1s infinite alternate;
}

[data-midsommar_svg_elem]>.dropdown>.dropdown-toggle::after { display:none; }

#midsommar_svg_editor_canvas {
    background-color: #fff;
    margin: 1em;
}

/* tree lines - start */

[data-midsommar_svg_elem]:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 3;
  left: -0.9em;
  top: 0.4em;
  width: 2px;
  height: max(var(--doc-height), 1000vh);
  background-color: rgb(99, 181, 225);
  transform: translateY(-100%);
}

[data-midsommar_svg_kids] {
  padding-top: .5em;
  margin-left: 0;
  padding-left: 1.5em;
  overflow-y: hidden;
  margin-top: -0.5em;
}

[data-midsommar_svg_elem]:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 3;
    top: 0.5em;
    left: 0;
    width: .9em;
    height: 1.2em;
    background-color: transparent;
    transform: translate(-100%, -50%);
    border: 2px solid rgb(99, 181, 225);
    border-width: 0 0 2px 2px;
    border-bottom-left-radius: 1em;
}

/* tree lines - end */

.show_next_1 + .show_next_2 { z-index: -1; }
#midsommar_svg_menu:not(.midsommar_svg_moving) .show_next_1:hover + .show_next_2,
#midsommar_svg_menu:not(.midsommar_svg_moving) .show_next_2:hover { z-index: 1; }
.show_next_2 { padding-left: .5em; }

[data-wrapper] {
  position: relative;
  display: inline-block;
}

#midsommar_svg_menu.midsommar_svg_moving [data-midsommar_svg_kids] {
  padding-top: 1em;
  margin-top: -1em;
  padding-bottom: 0.5em;
  margin-bottom: -0.5em;
}

[data-midsommar_svg_elem_title] {
  z-index: 5;
  position: relative;
}

.midsommar_svg__static_button {
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
  color: var(--bs-btn-secondary-color);
}

.midsommar_svg__static_button:hover,
.midsommar_svg__static_button:focus,
.midsommar_svg__static_button:active {
  background-color: var(--bs-secondary) !important;
  border-color: var(--bs-secondary) !important;
  color: var(--bs-btn-secondary-color) !important;
  box-shadow: none !important;
  cursor: default;
}

[data-midsommar_svg_a_expand] {
  display: inline-block;
  cursor: pointer;
  padding: .25em;
  margin: -.25em .25em -.25em -.5em;
}

[data-midsommar_svg_a_expand]:hover {
  background-color: #5C636A;
}

     [data-is_2_expanded="1"] >div>span>button>i:first-child { display: inline-block; }
:not([data-is_2_expanded="1"])>div>span>button>i:first-child { display: none;         }
:not([data-is_2_expanded="1"])>div>span>button>i:last-child  { display: inline-block; }
     [data-is_2_expanded="1"] >div>span>button>i:last-child  { display: none;         }

  [data-is_2_expanded="0"]>[data-midsommar_svg_kids] { display: none; }
/*
:not([data-midsommar_svg_b_expanded="0"])>.show_next_1>button>[data-midsommar_svg_a_expand="1"],
[data-midsommar_svg_b_expanded="0"]>.show_next_1>button>[data-midsommar_svg_a_expand="0"],
[data-midsommar_svg_b_expanded="0"]>[data-midsommar_svg_kids] { display: none; }*/

.spinner_cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: 2px solid #6c757d;
}
.spinner_cover::after {
  content: attr(a);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: #fff;
  padding: 1em;
  border-radius: .5em;
  color: #000;
  font-size: 1.25em;
}
.spinner_cover>i {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.spinner_cover>i::before {
  display: block;
  content: "";
  --transp1: #00000044;
  --transp2: #00000066;
  background: linear-gradient(90deg, var(--transp1) 0, var(--transp1) 10px, var(--transp2) 10px, var(--transp2) 20px);
  background-size: 20px 20px;
  width: 200%;
  height: 200%;
  animation: move_stripes 0.75s linear infinite;
}
                          
@keyframes move_stripes {
  0%   { transform: translate(-25%, -25%) rotate(45deg) translate(0   , 0); }
  100% { transform: translate(-25%, -25%) rotate(45deg) translate(20px, 0); }
}

/* svg editor - start */
    /*body {
      font-family:sans-serif;
      background-color:#f8f9fa; /* Bootstrap light background * /
      padding:20px;
    }
    .container {
      max-width:900px; /* Limit container width * /
    }*/
    #canvas_html {
      display:flex;
      justify-content:center;
      align-items:center;
      overflow:hidden;
    }
    #svg_canvas {
      background-color:#ffffff;
      border:1px dashed #adb5bd; /* Light gray dashed border for canvas */
      cursor:crosshair; /* Indicate clickable area */
    }
    #coords_window {
      width:100%;
    }
    #coords_window, #command_window_elem {
      height:150px;
      resize:vertical;
      font-family:monospace;
      font-size:0.9rem;
      background-color:#e9ecef;
      border:1px solid #ced4da;
      padding:10px;
    }
    #command_window_elem {
        height:auto;
        min-height: 38px;
        max-height: 38px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding: 8px 10px;
    }
    /* Style for the points on the polyline */
    .polyline_point {
      fill:blue;
      r:4;
    }
    /* Styles for the live drawing preview line and point */
    .midsommar_svg_live_line {
      stroke:gray;
      stroke-width:1;
      stroke-dasharray:5,5;
    }
    .midsommar_svg_live_point {
      fill:gray;
      r:3;
    }
    /* Style for the live drawing preview rectangle */
    .midsommar_svg_live_rect {
      fill:none;
      stroke:gray;
      stroke-width:1;
      stroke-dasharray:5,5;
    }
    /* NEW: Style for finalized polyline/polygon */
    .final_polygon { /* For closed polylines if we want to fill them */
        fill: rgba(0, 128, 0, 0.2); /* Green transparent fill for closed shapes */
        stroke: #008000;
        stroke-width: 2;
    }
    code {
      background: #f9f9f9;
      border: 1px solid #ccc;
      padding: 2px 6px;
      border-radius: 4px;
      font-family: monospace;
      font-size: 0.95em;
    }

    .svg_d_editor svg [data-item] {
      transition: opacity 0.1s ease-in-out;
      opacity: 1;
    }

   .svg_d_editor svg [data-item]:hover {
      opacity: 0.6;
    }


/* svg editor - end */

.modal {
  background-color: #00000066;
}

[data-header_buttons_row] {
  margin-bottom: .5em;
}
.modal-dialog:not(.modal-fullscreen) .btn-close  {
  position: absolute;
  right: -0.5em;
  top: -0.5em;
  background-color: red;
  color: #fff;
  opacity: 1;
}

.draggable-item.dragging {
  opacity: 0.5; /* Make the dragged item semi-transparent */
  border: 2px dashed #007bff; /* Add a border to the original position */
}
.draggable-item {
  border: 0 solid transparent;
  border-width: 2px 0;
}
.draggable-item.drag-above {
  border-top: 2px solid #28a745; /* Green line above to indicate drop position */
}
.draggable-item.drag-below {
  border-bottom: 2px solid #28a745; /* Green line below to indicate drop position */
}

.form_result_display p {
  margin: 1em 0;
}

.bk_magic_focus:not(.active) .blind,
.bk_magic_focus:not(.active) .btn {
  display:none;
}
.bk_magic_focus .blind {
  position:fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: #00000044;
}

