/* Urheberrechtshinweis
=======================
 * 
 * Copyright (c) 2013– DROPPY.ch
 * 
 * Alle Rechte vorbehalten.
 * 
 * Die vorliegende JavaScript- und oder CSS-Datei (im Folgenden als "Datei" bezeichnet) ist urheberrechtlich geschuetzt.
 * Jede unbefugte Nutzung, Vervielfaeltigung oder Verbreitung dieser Datei ist ausdruecklich untersagt und kann rechtliche Konsequenzen haben.
 * 
 * Jede Person, die diese Datei herunterlaedt, kopiert oder verwendet, ohne dazu berechtigt zu sein, begeht eine Urheberrechtsverletzung und verstoesst gegen das geltende Recht.
 * 
 * Wir behalten uns das Recht vor, Verstoesse gegen das Urheberrecht straf- und zivilrechtlich zu verfolgen und Schadensersatzansprueche geltend zu machen.
 * 
 * Bei Fragen oder Genehmigungsanfragen benutzen Sie unser Kontaktformular [https://cloud.droppy.ch/contact.php].
 */

.info_box {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.75);
  width: 650px;
  max-height: 500px;
  border: 2px solid #007BFF;
  border-radius: 10px;
  padding: 20px 20px 20px 95px;
  font-family: 'Arial', sans-serif;
  color: #FFFFFF;
  display: block;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
  overflow: visible;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 0.5s ease-in;
  z-index: 9990;
}

.info_box.show {
  opacity: 1;
}

/* Wenn Icon ausgeblendet (Seite 2): linken Abstand entfernen */
.info_box:has(#infoIcon.hidden) {
  padding-left: 20px;
}

.scrollable-content {
  width: 100%;
  max-height: 460px;
  overflow-y: auto;
  padding-right: 5px;
  box-sizing: border-box;
}

  .close-Btn {
    position: absolute;
    top: -16px;
    right: 20px;
    background-color: #8B0000;
    color: #FFFFFF;
    border: 1px solid #007BFF;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

  .close-Btn:hover {
    background-color: #006400;
}

.info_icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 52px;
  width: 60px;
  text-align: center;
  line-height: 1;
}

.info p {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
}

.info h2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
  margin-top: 10px;
}

.info .blue_heading {
  color: #007BFF;
  font-weight: bold;
}

.info .green_heading {
  color: #008000;
  font-weight: bold;
}

.info .red_heading {
  color: #8B0000;
  font-weight: bold;
}

.help-content {
  padding: 30px;
}

.hidden {
  display: none;
}

.link_container {
  text-align: right;
  margin-top: 10px;
  margin-bottom: 10px;
}

.info a {
  font-weight: bold;
  letter-spacing: 0.07em;
  color: #FFFFFF;
  background-color: #006400;
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  animation: pulse 1.5s ease-in-out infinite;
  display: inline-block;
}

.info a:hover {
  color: #FFFFFF;
  background-color: #228B22;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
  transform: scale(1.1);
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes fadeOut {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

.info_box.fade-out {
  animation: fadeOut 5s forwards;
  pointer-events: none;
}



/* Share Buttons */
.no-animation {
    animation: none !important;
    transition: none !important;
}

.share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center; 
    margin: 0 auto;
    width: 90%;
}

.copy-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(50% - 20px);
    margin-bottom: 10px;
}

.copy-container a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    text-align: center;
    background-color: #007BFF;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    width: 100%;
    min-width: 180px;
    height: 50px;
    box-sizing: border-box;
}

.copy-container a:hover {
    background-color: #0056b3;
}

/* ================================================ */
/*   Responsive Breakpoints                         */
/* ================================================ */

/* --- iPhone Portrait (≤430px) --- */
@media only screen and (max-width: 430px) {
  .info_box {
    width: 92vw;
    max-height: 72vh;
    padding: 14px 14px 14px 60px;
    border-radius: 8px;
  }
  .info_box:has(#infoIcon.hidden) {
    padding-left: 14px;
  }
  .info_icon {
    font-size: 32px;
    width: 44px;
    left: 10px;
  }
  .scrollable-content {
    max-height: calc(72vh - 60px);
  }
  .info h2 {
    font-size: 16px;
    margin-top: 6px;
    margin-bottom: 6px;
  }
  .info p {
    font-size: 13px;
    line-height: 1.5;
  }
  .close-Btn {
    font-size: 12px;
    padding: 4px 8px;
  }
  .help-content {
    padding: 10px;
  }
  .copy-container {
    width: 100%;
  }
}

/* --- iPhone Landscape (max-height ≤430px, kleines Gerät) --- */
@media only screen and (max-height: 430px) and (max-width: 932px) {
  .info_box {
    width: 80vw;
    max-height: 84vh;
    padding: 12px 14px 12px 58px;
    top: 50%;
  }
  .info_box:has(#infoIcon.hidden) {
    padding-left: 14px;
  }
  .info_icon {
    font-size: 28px;
    width: 40px;
    left: 10px;
  }
  .scrollable-content {
    max-height: calc(84vh - 50px);
  }
  .info h2 {
    font-size: 14px;
    margin-top: 4px;
    margin-bottom: 4px;
  }
  .info p {
    font-size: 12px;
    line-height: 1.4;
  }
  .close-Btn {
    font-size: 11px;
    padding: 3px 7px;
  }
  .help-content {
    padding: 8px;
  }
  .copy-container {
    width: 100%;
  }
}

/* --- Tablet Portrait (431px–820px Breite, Hochformat) --- */
@media only screen and (min-width: 431px) and (max-width: 820px) and (min-height: 431px) {
  .info_box {
    width: 88vw;
    max-height: 65vh;
    padding: 18px 18px 18px 82px;
  }
  .info_box:has(#infoIcon.hidden) {
    padding-left: 18px;
  }
  .info_icon {
    font-size: 44px;
    width: 55px;
    left: 14px;
  }
  .scrollable-content {
    max-height: calc(65vh - 60px);
  }
  .info h2 {
    font-size: 20px;
  }
  .info p {
    font-size: 16px;
  }
}

/* --- Tablet Landscape / Desktop (>820px Breite, >430px Höhe) --- */
@media only screen and (min-width: 821px) and (min-height: 431px) {
  .info_box {
    max-height: 80vh;
  }
  .scrollable-content {
    max-height: calc(80vh - 60px);
  }
}