/* -------------------------------------------------------- */
body {
  padding: 1% 0%;
  background-color: rgb(170, 187, 204, 0.05);
  color: rgb(52, 58, 64);
  overflow: hidden;
}
#outer_container {
  background-color: #ffffff;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  max-width: 1280px;
  position: relative;
}

/* -------------- Header ------------------------------------------ */
/*
header {
	border-bottom: 1px solid #ddd;
}
*/
#controls a {
  display: inline-block;
}
#controls a i {
  color: rgb(52, 58, 64);
}
.icon-style {
  color: rgb(52, 58, 64, 0.7);
  border-radius: 8px;
  padding: 0px 2px;
}
.icon-style:hover {
  color: rgb(52, 58, 64);
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  transition: 0.3s;
}

/* -------------- Main ------------------------------------------ */
#main {
  max-width: 1280px;
}
#canvas_container {
  height: auto;
  padding: 2% 4%;
}
#inner_container {
  /* height: 55%; */
  overflow-y: auto;
}
#inner_container img {
  border-radius: 4px;
  max-width: 32%;
  height: auto;
}
#img_container {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: wrap;
  overflow: hidden;
}
#img_container img {
  height: auto; /* Maintain aspect ratio */
  flex: 1 1 calc(50% - 20px); /* Basis is 50% minus margin for two per row when wrapping */
  margin: 10px; /* Add margin for spacing between images */
}

@media screen and (max-width: 880px) {
  #inner_container img {
    max-width: 80%;
  }
  #img_container {
    flex-direction: column;
  }
}
ol li {
  margin: 10px;
}

/* -------------- Print ------------------------------------------ */

@media print {
  .page-break {
    page-break-after: always;
  }

  .print-container img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
  }

  .print-container {
    width: 210mm; /* A4 width */
    height: 297mm; /* A4 height */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Hide overflow to ensure the image fits */
    page-break-after: always;
  }
}

/* -------------------------------------------------------- */
.btn-move-down:active {
  transform: translateY(4px);
  transition: 0.3s;
}
.text-just {
  text-align: justify;
}

/* -------------- Scroll Bars ------------------------------------------ */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #f5f5f5;
  border-radius: 10px;
}
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: rgb(109, 117, 125, 0.7);
}
::-webkit-scrollbar-thumb:hover {
  background-color: rgb(109, 117, 125, 0.8);
}
::-webkit-scrollbar-thumb:active {
  background-color: rgb(109, 117, 125);
}

/*
* {
	font-size: calc(0.7vmin + 0.04rem);
}
*/

/* -------------- Welcome Alert (popup) ------------------------------------------ */
/*
#x-alert {
  color: rgb(248, 249, 250);
}
#x-alert:hover {
  box-shadow: 0 0 0 0.25rem rgba(208, 227, 253, 0.25);
}
#intro_alert {
  position: absolute;
  top: 16%;
  left: 20%;
  right: 16%;
  width: 80%;
  max-width: 700px;
  z-index: 100;
  color: rgb(248, 249, 250);
  background-color: rgb(100, 90, 207);
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.5);
  border: none;
  outline: none;
}
@media screen and (max-width: 980px) {
  #intro_alert {
    top: 12%;
    left: 8%;
    right: 4%;
  }
}
*/
