@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600&display=swap');
@import url('https://cdn.datatables.net/1.13.2/css/dataTables.bootstrap.min.css');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css");

html, body {
  height: 100%;
  margin: 0; 
  padding: 0;
}

/* body {
  background: url("img/bluesky.jpg") no-repeat center center fixed;
  background-size: cover;
} */

/* 
   RESET + FONTS
   ------------
   - Doppelte Definitionen entfernt.
*/
* {
  font-family: 'Poppins', sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  border: none;
  text-decoration: none;
}

/* GLYPHICON-FARBE */
.glyphicon {
  color: rgb(40, 96, 144) !important;
}

/* ALERT-FENSTER */
.alert {
  position: absolute;
  top: 5%;
  left: 40%;
  z-index: 11;
}

/* 
   MENUBAR (falls nötig)
   ---------------------
   Falls .user_menubar / .admin_menubar 
   tatsächlich in Nutzung. 
*/
.user_menubar {
  padding: 10px;
  background-color: transparent;
  color: whitesmoke;
  width: 100%;
}

.admin_menubar {
  padding: 10px;
  background-color: transparent;
  color: rgb(115, 144, 153);
}

/* GENERISCHE .menu-KLASSE */
.menu {
  background-color: rgb(11, 94, 215);
  overflow: hidden;
  width: 100%;
}

/* Buttons global */
.btn {
  color: whitesmoke;
}

/* 
   CONTAINER
   ---------
*/
.container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  padding-bottom: 60px;
}

.container .content {
  text-align: center;
}
.container .content h3 {
  font-size: 30px;
  color: #333;
}
.container .content h3 span {
  background: rgb(72, 137, 204);
  color: #fff;
  border-radius: 5px;
  padding: 0 15px;
}
.container .content h1 {
  font-size: 50px;
  color: #333;
}
.container .content h1 span {
  color: rgb(163, 209, 255);
}
.container .content p {
  font-size: 25px;
  margin-bottom: 20px;
}
.container .content .btn {
  display: inline-block;
  padding: 10px 30px;
  font-size: 20px;
  background: #333;
  color: #fff;
  margin: 0 5px;
  text-transform: capitalize;
}
.container .content .btn:hover {
  background: crimson;
}

/* DATATABLES-SUCHE */
input[type="search"] {
  height: 28px;
  width: 300px;
  margin: 0;
  padding-left: 2px;
  font-size: 14px;
  border: 1px solid #ccc;
}
div.dataTables_length select {
  font-size: 14px;
  padding-left: 5px;
}

/* TABLECONTAINER */
.tablecontainer {
  margin: auto;
  width: 80%;
  padding-top: 40px;
}
@media (max-width: 1000px) {
  .tablecontainer {
    width: 100%;
    margin-right: 1px;
    margin-top: 1px;
    margin-bottom: 1px;
    padding-top: 0px;
  }
}

/* CARD */
.card {
  max-width: 1200px;
}
.card-body {
  padding: 5px;
}

/* FORM-CONTAINER & FORMS */
.form-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  padding-bottom: 60px;
  background: #eee;
}
.form-container form {
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 5px 10px rgba(0,0,0,.1);
  background: #fff;
  background-color: rgba(153, 201, 238, 0.3);
  text-align: center;
  width: 500px;
}
.form-container form h3 {
  font-size: 30px;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: #333;
}
.form-container form input,
.form-container form select {
  width: 100%;
  padding: 10px 15px;
  font-size: 17px;
  margin: 8px 0;
  background: #eee;
  border-radius: 5px;
}
.form-container form select option {
  background: #fff;
}
.form-container form .form-btn {
  background: #c3e5bd;
  color: #556553;
  text-transform: capitalize;
  font-size: 20px;
  cursor: pointer;
}
.form-container form .form-btn:hover {
  background: #245783;
  color: #fff;
}
.form-container form p {
  margin-top: 10px;
  font-size: 20px;
  color: #333;
}
.form-container form p a {
  color: #dc143c;
}
.form-container form .error-msg {
  margin: 10px 0;
  display: block;
  background: crimson;
  color: #fff;
  border-radius: 5px;
  font-size: 20px;
  padding: 10px;
}

/* CARD-HEADER */
.card-header {
  padding-left: 10px;
}

/* SPACING COLUMNS */
.col-sm-6 {
  padding: 5px;
}
.col-sm-12 {
  padding: 0px;
}
@media (max-width: 1000px) {
  .col-sm-12 {
    padding: 0px;
    padding-right: 0px;
  }
}

/* CONTENTVIEW */
.contentview {
  padding: 20px;
}
@media (max-width: 1000px) {
  .contentview {
    padding: 0px;
  }
}

/* CONTENT_LEFT / CONTENT_RIGHT */
.content_left {
  width: 40%;
  float: left;
}
#doc_viewbtn {
  margin-right: 10px;
}
@media (max-width: 1000px) {
  .content_left {
    width: 100%;
  }
  #doc_viewbtn {
    margin-right: 0px;
  }
}
.content_right {
  width: 60%;
  height: 100%;
  float: right;
  padding-left: 20px;
  padding-bottom: 20px;
}
@media (max-width: 1000px) {
  .content_right {
    width: 100%;
    height: 100%;
    padding-bottom: 20px;
    padding-left: 0px;
  }
}

/* FLUGZEUG-PROFILE ODER ÄHNLICH */
.planesprofile {
  background-color: rgb(245, 237, 216);
  border: solid 1px rgb(194, 187, 171);
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
@media (max-width: 1000px) {
  .planesprofile {
    background-color: rgb(245, 237, 216);
    border-width: 0px;
    border-color: grey;
    border-radius: 0px;
    padding-bottom: 5px;
  }
}

/* #myprofilecard und .myprofile */
#myprofilecard {
  background-color: rgb(255, 255, 255);
}
.myprofile {
  background-color: rgb(255, 255, 255);
}
@media (max-width: 1000px) {
  .myprofile {
    background-color: rgb(255, 255, 255);
    border-width: 0px;
    border-color: grey;
    border-radius: 0px;
    padding-bottom: 5px;
  }
}

/* Kleines QR-Bild in der Seite */
.qr-image {
  cursor: pointer;      /* Zeigt, dass man klicken kann */
  width: 80px;          /* Desktop: 80×80 */
  height: 80px;
  object-fit: contain; 
}
@media (max-width: 768px) {
  .qr-image {
    width: 100%;       /* Auf Mobile: 200×200 */
  }
}

/* Großes QR-Bild im Modal */
.qr-modal-img {
  width: 100%;   /* Füllt die Modal-Breite aus */
  height: auto;
  display: block;
  margin: 0 auto;
}


/* Planesview-Container (docs, flights, components, batteries) */
.planesview_docs,
.planesview_flights,
.planesview_components,
.planesview_batteries {
  width: 100%;
  height: 100%;
  margin-top: 0px;
  border-top: solid 6px;
  border: solid 1px rgb(194, 187, 171);
}
.planesview_docs {
  background-color: rgb(245, 237, 216);
  border-color: rgb(194, 187, 171);
  padding: 20px;
 
}
.planesview_flights {
  background-color: lightblue;
  border-color: rgb(134, 168, 179);
  border: solid 1px rgb(194, 187, 171);
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  padding: 20px;
}
.planesview_components {
  background-color: rgb(207, 242, 201);
  border-color: rgb(163, 191, 158);
  padding: 20px;
}
.planesview_batteries {
  background-color: rgb(255, 202, 116);
  border-color: rgb(204, 161, 92);
  padding: 20px;
}

/* Mobile anpassung => remove border/padding */
@media (max-width: 1000px) {
  .planesview_docs,
  .planesview_flights,
  .planesview_components,
  .planesview_batteries {
    padding: 5px;
    border-width: 0px;
    border-color: grey;
    border-radius: 0px;
    margin-top: 0px;
  }
  /* planesview_docs -> border-bottom:1px
     kann man belassen oder weglassen */
  .planesview_docs {
    margin-bottom: 0px;
    border-bottom: 1px solid grey;
  }
}

/* plane_text */
.plane_text {
  padding-left: 10px;
}

/* input-sm? */
.form-control.input-sm {
  margin-left: 10px;
  margin-right: 10px;
}

/* ROW => margin:0 ?  OK */
.row {
  margin: 0px;
}
.col-md-12 {
  padding-left: 0px;
  padding-right: 0px;
}

.planes_table_info {
  padding-left: 5px;
}
.preview_shots {
  -webkit-box-shadow: 14px 11px 21px -10px rgba(9,10,10,1);
  -moz-box-shadow: 14px 11px 21px -10px rgba(9,10,10,1);
  box-shadow: 14px 11px 21px -10px rgba(9,10,10,1);
}

/* =========================================
   DONUT-BUTTON FÜR MOBILE 
========================================= */
.donut-btn {
  position: fixed;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgb(11,94,215);
  color: #fff;
  border: none;
  font-size: 20px;
  z-index: 1001;
  display: none; /* Desktop default => hidden */
}
@media (max-width: 991px) {
  .donut-btn {
    display: block;
  }
}

/* =========================================
   SIDEBAR (DESKTOP + MOBILE OVERLAY)
========================================= */
.sidebar-vertical {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 230px;
  background-color: rgb(11,94,215);
  color: #fff;
  padding: 10px 15px;
  z-index: 999;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transform: none; /* Desktop default */
  transition: transform 0.3s ease;
}
.sidebar-vertical .sidebar-header {
  margin-bottom: 15px;
}
.sidebar-vertical .sidebar-header h1 {
  font-size: 1.4rem;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}
/* Menü-Links */
.sidebar-vertical .menu-links a.btn {
  display: block;
  margin: 5px 0;
  color: #fff;
  text-align: left;
  background: transparent;
  border: none;
  border-radius: 5px;
  padding: 8px 10px;
}
.sidebar-vertical .menu-links a.btn:hover {
  background: rgba(255,255,255,0.2);
}

/* Desktop => >= 992px => kein transform */
@media (min-width: 992px) {
  .sidebar-vertical.active {
    transform: none; 
  }
  body {
    margin-left: 230px;
  }
  body.no-sidebar {
    margin-left: 0 !important; /* Überschreibt das margin-left nur bei no-sidebar */
  }
}

/* Mobile => < 992px => overlay => transform: -100% */
@media (max-width: 991px) {
  .sidebar-vertical {
    transform: translateX(-100%);
  }
  .sidebar-vertical.active {
    transform: translateX(0);
  }
  body {
    margin-left: 0;
  }
}

/* ---------------------------
   1) Flexibles 4:3-Container
   ---------------------------
   - Wir verwenden aspect-ratio (modern) ODER
     den padding hack (rückwärtskompatibel).
   - aspect-ratio: 4/3 geht in modernen Browsern.
*/
.profile-aspect {
  position: relative;
  width: 100%;
  /* Option A: aspect-ratio */
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #eee; /* nur als Platzhalter */ 
}
.profile-aspect img {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Wenn du `aspect-ratio` nicht nutzen kannst:
   Option B: padding-bottom: 75%; (4/3=1.333 => 75% approx.)
   .profile-aspect:before {
     content: "";
     display: block;
     padding-bottom: 75%; 
   }
   .profile-aspect img {
     position: absolute;
     top: 0; left: 0; right: 0; bottom: 0;
     width: 100%; height: 100%;
     object-fit: cover;
   } 
*/

/* Pencil Overlay => fixes 30×30, z. B. */
.pencil-overlay {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 30px;
  height: 30px;
  background-color: rgba(0,0,0,0.4);
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5; /* über dem Bild */
}
.pencil-overlay i {
  font-size: 1.1rem;
  line-height: 1;
}

/* Unsichtbares Upload-Feld */
#uploadPicInput {
  display: none;
}


/* ---------------------------------------------
   MODAL => EINE STARRE BOX FÜR DEN CROPPER (4:3)
   --------------------------------------------- */
.cropper-container-wrapper {
  /* z. B. 800×600 => 4:3 ratio */
  width: 800px;
  height: 600px;
  max-width: 100%;  /* Falls Screen kleiner wird */
  margin: 0 auto;
  position: relative;
}
.cropper-container-wrapper img {
  max-width: 100%;
  display: block;
}


/* Titel Flightbook.at */
.title-flightbook {
  font-size: 1.6rem; 
  line-height: 1.2;
  margin-bottom: 0; /* optional */
  color: #fff; /* Falls du den Text in weiß willst */
}

/* Untertitel (User, Verein) => 50% kleiner => 0.8rem, 
   oder du kannst 0.8 em relativ zu .title-flightbook machen.
   Je nach Geschmack. */
.title-user {
  font-size: 0.8rem;
  line-height: 1.2;
  margin-top: 0.2rem;
  color: #fff; /* Falls du den Text in weiß willst */
}

/* In style.css (oder passender CSS-Datei) */
.flightbook-premium {
  border: 2px solid #fff;    /* weißer Rahmen */
  border-radius: 4px;        /* abgerundete Ecken */
  padding: 6px 10px;         /* etwas Innenabstand */
  margin: 3px 0;            /* minimaler Abstand über/unter */
}
.flightbook-premium:hover {
  background: rgba(255,255,255,0.1);
}

/* Tabellenrahmen entfernen */
#today_table,
#today_table th,
#today_table td {
  border: none !important;
  outline: none !important;
}

