/* Reset some default margin and padding */
body, h1, h2, h3, p, ul, ol, li {
  margin: 0;
  padding: 0;
}

/* Apply a simple style to the body */
body {
  font-family: 'Arial', sans-serif;
  font-size: 16px; /* Establish a base font size */
  line-height: 1.4;  
  background: linear-gradient(90deg, rgb(250, 251, 252), rgba(27, 61, 116, 0.5)); /* Horizontal gradient from left to right */
  /*background: #345fa3;    #345fa3; */
  color: #333;
}

h1 {color: #FFF;
    margin-top: 40px;
    margin-left: 10px;
    font-size: 2rem; /* Adjust the font size as desired */
    }
h1sub {color: #FFF;}
h2{color: rgb(8, 73, 17);}
h3,h4 {color: #222;}
p {
color: #222;
}

/* Style the header */
header {
 /* background: #345fa3;  Horizontal gradient from left to right */
  color: #333;
  opacity: 1; 
  padding: 10px;
  margin-top: 50px auto;
  text-align: center;
  font-size: 115%;
}

 /* Apply styles to the logo image */
 .logo-img {
  margin-top: 0px;
  width: 320px; /* Adjust the width as needed */
  max-width: 60%;
  opacity: 100; /* Adjust the opacity as needed */
  padding: 15px;
  /* Add any other styles you want here */
}

/* Style the main content container */
.container {
  max-width: 600px;
  margin: 0 auto;
  padding: 10px;
}

/* Style the main content container */
.datacontainer {
  width: 95%;             /* Nästan full bredd */
        /* Begränsa storleken på stora skärmar */
  
  margin: 0 auto;
  margin-top: 30px;
  padding: 25px;
  background: #f7f5f5f8;
}

.logout-link {
    position: fixed;
    top: 20px;   /* matchar padding */
    right: 80px;
    z-index: 1200; /* Set higher z-index */
}

#project-description {
  max-width: 600px;
  margin-top: 30px;
  margin: 20px auto;
  background: #f7f5f5f8;
  padding: 20px;
  line-height: 1.4;
  opacity: 0.7; /* Adjust opacity as needed */
  box-shadow: 0 5px 5px rgba(0,0,0,0.15);
  z-index: 1; /* Set higher z-index */
}

ol.paragraflista {
  list-style: none;
  counter-reset: paragraf;
  padding-left: 0;
}

ol.paragraflista > li {       /* OBS: bara direkt barn */
  counter-increment: paragraf;
  margin: 6px 0;
}

ol.paragraflista > li::before {
  content: "§" counter(paragraf);
  font-weight: bold;
  margin-right: 6px;
}

/* Underlistan: behåll vanlig numrering */
ol.paragraflista li ol {
  list-style: decimal;
  margin-left: 2em;
}

/* Lägg in en scroll-behållare runt tabellen */
#databasetable {
  overflow-x: auto;       /* Horisontell scroll vid behov */
  -webkit-overflow-scrolling: touch; /* Smidig scroll på mobil */
}

/* Tabellinställningar */
#databasetable table {
  width: 100%;            /* Tabell tar hela containerns bredd */
  border-collapse: collapse;
  table-layout: auto;     /* Automatisk kolumnbredd */
}


/* Floating background image */
#floating-background {
  position: fixed;
  padding:1px;
  left: 0px;
  width: 100%;
  height: calc(100vw * 0.70998);
  z-index: -1; /* Set lower z-index */
  opacity: 0.1; /* Adjust opacity as needed */
  background-size: 100% 100%;
  background-repeat: no-repeat; /* Prevent repetition */
  background-position: center; /* Center the background image */
}

#project-background img {
  margin-top: 0px; /* Margin from the top */
}
/* Style the form and sliders */
form {
    margin-bottom: 20px;
}


label {
    display: block;
    margin-bottom: 5px;
}

input[type="range"] {
    width: 100%;
    margin-bottom: 10px;
}

#image-section {
    text-align: center;
}

img {
  max-width: 100%;
  height: auto;
  width: 100%;
  display: block;
  margin: 0 auto;
}

/* Style the button */
button {
  background-color: #18315a;
  color: #fff;
  padding: 10px;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

button:hover {
  background-color: #871f26;
}

/* Style the chart container */
.chart-container {
  margin-top: 20px;
}

/* Style the footer */
footer {
  color: #f8f0f1;
  padding: 5px;
  text-align: center;
}

.image-table {
    margin: 10px auto; /* Centers the table horizontally */
}
.image-table td {
    text-align: center; /* Centers the images within the cells */
    padding: 10px; /* Add 10 pixels of padding around each cell */
}
.image-table img {
    width: 100px; /* Set the width of the images to 200 pixels (adjust as needed) */
    height: auto; /* Maintain aspect ratio */
}


/* Style for form labels */
label {
  display: block;
}

/* Style for input fields */
input[type="text"],
input[type="email"],
input[type="tel"] {
  width: 80%; /* Take up full width of the column */
  box-sizing: border-box; /* Include padding and border in the width calculation */
  padding: 8px; /* Adjust padding as needed */
  border: 1px solid #ccc; /* Add border */
  border-radius: 4px; /* Add border radius */
}

.webpage_info {
  position: sticky;
  text-align: center; /* Center text horizontally */
  background-color: rgba(0, 0, 0, 0.1); /* Background color with transparency */
  color: rgb(153, 152, 152); /* Text color */
  padding: 5px; /* Padding around the text */
  border-radius: 5px; /* Rounded corners */
  font-size: 0.7rem;
  z-index: -1; /* Set higher z-index */
}




.fotocontainer {
  max-width: 600px;
  margin: 0 auto;
  text-align: right;
  color: rgb(153, 152, 152); /* Text color */
  padding: 5px;
  transition: opacity 0.5s ease-in-out; 
}


form textarea,
form input[type="text"] {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  font-size: 18px;
  border: 1px solid #ccc;
  border-radius: 8px;
  margin-top: 10px;
  margin-bottom: 10px;
}

form button {
  background-color: #31338a; /* Grön knapp */
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 18px;
  transition: background-color 0.3s ease, transform 0.2s ease; /* Smidig övergång */
}

form button:hover {
  background-color: #7b8ddf; /* Lite mörkare grön vid hover */
  transform: scale(1.1); /* Gör knappen 5% större när man hover:ar */
}

#co_name {
  white-space: pre-wrap;  /* Bevara vita utrymmen och radbrytningar */
  word-wrap: break-word;  /* Bryt långa ord om nödvändigt */
}


* {
  box-sizing: border-box;
}

#chat-description {
  max-width: 600px;
  margin-top: 0px;
  margin: 20px auto;
  background: transparent; /* Ingen bakgrund */
  padding: 20px;
  line-height: 1.4;
  box-shadow: none;
  z-index: 1; /* Set higher z-index */
}

#response-container {
  flex-grow: 1;
  overflow-y: auto;
  padding: 15px;
  display: flex;
  flex-direction: column;
}

.chat-bubble {
  display: flex;
  margin-bottom: 10px;
}

.chat-bubble.user {
  justify-content: flex-end;
}

.chat-bubble.ai {
  justify-content: flex-start;
}

.message {
  max-width: 75%;
  padding: 10px 15px;
  border-radius: 20px;
  white-space: pre-line;
  line-height: 1.4;
  font-size: 15px;
}

.chat-bubble.user .message {
  background-color: #cce4ff;
  color: #000;
}

.chat-bubble.ai .message {
  background-color: #f7f5f5f8;
  border: 1px solid #ccc;
  color: #000;
}

#chat-input-area {
  padding: 10px;
  background: #f7f5f5f8;
  border-top: 1px solid #ccc;
  display: flex;
}

#chat-input-area textarea {
  flex: 1;
  resize: none;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 10px;
}

#chat-input-area button {
  margin-left: 10px;
  padding: 10px 16px;
  background-color: #007bff;
  color: #f7f5f5f8;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}

#loading-indicator {
  display: none;
  padding: 5px;
  text-align: center;
  font-size: 14px;
  color: gray;
}

.input-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
}

.input-wrapper textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 40px 10px 10px; /* plats för knappen till höger */
    font-size: 1rem;
    resize: vertical;
    border-radius: 8px;
    border: 1px solid #ccc;
}

#send-button {
    position: absolute;
    bottom: 20px;
    right: 10px;
    background-color: #a5a7a5;
    border: none;
    color: white;
    font-size: 1.2rem;
    border-radius: 50%;
    padding: 0.4rem 0.6rem;
    cursor: pointer;
    line-height: 1;
    height: 2rem;
    width: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

#send-button:hover {
    background-color: #565756;
}

.status-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;  /* centrerar rullområdet */
    margin-top: 10px;
}

.status-banner {
    width: 100%;
    max-width: 600px;  /* rullområdet max 600px */
    #background: #222;
    color: #fff;
    font-size: 18px;
    white-space: nowrap;
    overflow: hidden;
    height: 30px;
    display: flex;
    align-items: center;
    border-radius: 6px; /* valfritt för snyggare */
}

.status-text {
    display: inline-block;
    padding-left: 100%;
    animation: scroll-left 15s linear infinite;
}

@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}