/* General Styles */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-family: "Didact Gothic";
    background-color: #f0fcfb;
    background-size: cover;
    background-attachment: fixed; /* Keeps the background fixed during scrolling */
    display: flex;
    flex-direction: column;
}

/* Navbar specific styles */
.navbar {
    background-color: #111; /* Same color as the old sidebar */
}

.navbar-nav .nav-link {
    color: white;
    font-size: 18px;
    padding: 10px 15px;
}

.navbar-nav .nav-link i {
    margin-right: 10px;
}

.navbar-nav .nav-link:hover {
    color: #f1f1f1;
}

.navbar-nav .dropdown-menu {
    background-color: #111; /* Match the navbar background color */
    border: none;
}

.navbar-nav .dropdown-item {
    color: white;
    font-size: 18px;
}

.navbar-nav .dropdown-item img {
    margin-right: 10px;
}

.navbar-nav .dropdown-item:hover {
    color: #f1f1f1;
    background-color: transparent; /* No background on hover */
}

/* Main content area */
.main-content {
    flex: 1;
    padding: 20px;
}

.content {
    background-color: white;
    padding: 20px;
    border-radius: 10px;
}

.content img {
    display: block;
    margin: 0 auto;
}

.content h2 {
    text-align: center;
}

/* Devices Cards */
.card-img-top {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%; /* Adjust the width as needed */
    border-radius: 50%; /* Makes the image appear round */
    position: relative;
    overflow: hidden;
}

.card-img-top {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.card-img-container {
    position: relative;
    width: 100%;
    padding-top: 100%; /* Ensures a 1:1 aspect ratio */
    border-radius: 50%; /* Ensures the container is round */
    overflow: hidden; /* Ensures the image does not overflow the container */
}

.card-body {
    text-align: center;
}

.card-body .btn {
    display: block;
    margin: 0 auto;
}

.card-img-container img {
    padding: 5%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures the image covers the container */
    border-radius: 50%; /* Ensures the image is round */
}

/* Notification bubble */
.notification-bubble {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: red;
    color: white;
    border-radius: 12px 12px 12px 0; /* Rounded corners for chat bubble effect */
    width: 28px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    z-index: 10; /* Ensure it is above other content */
    transition: background-color 0.2s; /* Smooth transition for hover effect */
}

.notification-bubble:hover {
    background-color: #ff6666; /* Lighter red on hover */
}

/* Centered Card */
.custom-no-devices-card-container {
    height: 50vh;
}

.custom-no-devices-card {
    width: 100%;
    max-width: 600px; /* Adjust as necessary */
    margin: 0 auto;
}

/* Register Device Form */
.custom-no-devices-card-container {
    height: 50vh;
}

.custom-no-devices-card {
    width: 100%;
    max-width: 600px; /* Adjust as necessary */
    margin: 0 auto;
}

#login-form {
    width: 100%;
}

/* Footer */
footer {
    background-color: #343a40;
    color: #ffffff;
    padding: 1rem 0;
    text-align: center;
}

.footer-icons a {
    color: #ffffff;
    margin: 0 0.5rem;
}

/* Responsive Design */
@media (max-width: 768px) {
    html, body {
        height: 100%;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .content {
        background-color: white;
        padding: 20px;
        border-radius: 10px;
        /*zoom: 150%;*/
    }

    .main-content {
        padding: 16px;
    }

    .modal {
        z-index: 20000;
        /*zoom: 60%;*/
    }
}

/* Custom Container Grid for Authenticated Users */
#custom-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 10px;
}

#sidebar1 {
    grid-column: 4 / span 1;
    grid-row: 1 / span 3;
    background-color: lightgray;
}

.grid-item {
    background-color: white;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius:10px;
}

.notification-stats {
    display: flex;  /* Aligns the child divs in a row */
    justify-content: center;  /* Centers the items horizontally */
    align-items: center;  /* Centers the items vertically */
    margin-top: 20px;  /* Adds space above the notification stats */
    font-size: 14px;  /* Sets the font size */
    color: white;  /* Sets the text color */
}

.notification {
    display: flex;  /* Ensures the content is properly aligned */
    flex-direction: column;  /* Stacks the label and number vertically */
    align-items: center;  /* Centers the text horizontally */
    margin: 5px;  /* Adds space between elements */
}

.label {
    margin-bottom: 5px;  /* Adds space between the label and the bubble */
    color: black;  /* Sets the label text color */
}

.unread, .read {
    display: flex;  /* Ensures the content is properly aligned */
    justify-content: center;  /* Centers the text horizontally */
    align-items: center;  /* Centers the text vertically */
    width: 50px;  /* Sets a fixed width */
    height: 50px;  /* Sets a fixed height */
    background-color: #ff596a;  /* Unread notification background color */
    border-radius: 50%;  /* Makes the background rounded */
    padding: 10px;  /* Adds space around the text */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);  /* Adds a subtle shadow */
    transition: background-color 0.3s ease, transform 0.3s ease;  /* Smooth transitions */
}

.read {
    background-color: #3498db;  /* Read notification background color */
}

.unread:hover, .read:hover {
    transform: scale(1.1);  /* Slightly enlarges the button on hover */
    cursor: pointer;  /* Changes cursor to pointer on hover */
}

.separator {
    padding: 0 10px;  /* Adds horizontal space around the separator */
}

@media (max-width: 768px) {
    #custom-container {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    #sidebar1 {
        grid-column: 1 / -1;
        grid-row: auto;
        order: 1;
    }

}

/* Carousel and Card Styles for Guests */
.carousel-item img {
    width: 100%;
    height: 400px; /* Adjust height as needed */
    object-fit: contain;
}

.cards-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 2rem;
    gap: 1rem; /* Adjust the gap between cards */
}

.card {
    flex: 1 1 calc(30% - 1rem); /* Adjust width for 3 cards per row */
    max-width: calc(100% - 1rem); /* Ensure the max width is the same */
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: white;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center; /* Center align items */
    text-align: center;
    margin-bottom: 1rem;
}

.btn-success{
    background-color: #00bf29;
}

.card img {
    /*width: 50px;*/
    /*height: 50px;*/
    margin-bottom: 1rem;
}


.card h5 {
    position: relative;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    width: 100%;
}

.card h5::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 2px;
    background-color: #007bff; /* Match the button color */
}

@media (max-width: 1200px) {
    .card {
        flex: 1 1 calc(45% - 1rem); /* 2 cards per row */
        max-width: calc(45% - 1rem);
    }
}

@media (max-width: 768px) {
    .card {
        flex: 1 1 100%; /* 1 card per row */
        max-width: 100%;
    }
    .carousel-item img {
        height: 200px; /* Adjust height as needed */
    }
}

/* Custom CSS to change carousel control icons */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-size: 100%, 100%;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
}

.carousel-control-prev-icon {
    background-image: url('https://digipaws.gr/public/assets/back.png');
}

.carousel-control-next-icon {
    background-image: url('https://digipaws.gr/public/assets/next.png');
}

/* Overlay and Badge Styles */
.position-relative {
    position: relative;
}

.img-fluid {
    display: block;
    width: 100%;
    height: auto;
}

.overlay {
    position: absolute;
    top: 80%;
    left: 50%;
    width: 80%; /* Fixed size */
    height: 30%; /* Fixed size */
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.8); /* Semi-transparent black background */
    color: white;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.caption {
    margin: 0;
    font-size: 16px;
    padding: 5px 0;
}

.discount-badge {
    position: absolute;
    top: 10px;
    left: 20px;
    background-color: #b9e356;
    color: black;
    padding: 5px 10px;
    font-weight: bold;
    border-radius: 5px;
    z-index: 10;
}

.greenBtn{
	box-shadow:inset 0px 1px 0px 0px #d9fbbe;
	background:linear-gradient(to bottom, #b8e356 5%, #a5cc52 100%);
	background-color:#b8e356;
	border-radius:6px;
	border:1px solid #83c41a;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family: 'Didact Gothic';
	font-size:15px;
	font-weight:bold;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #86ae47;
}
.greenBtn:hover {
	background:linear-gradient(to bottom, #a5cc52 5%, #b8e356 100%);
	background-color:#a5cc52;
	color:#005c00;
}
.greenBtn:active {
	position:relative;
	top:1px;
}

.redBtn {
	box-shadow:inset 0px 1px 0px 0px #f5978e;
	background:linear-gradient(to bottom, #f24537 5%, #c62d1f 100%);
	background-color:#f24537;
	border-radius:6px;
	border:1px solid #d02718;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family: 'Didact Gothic';
	font-size:15px;
	font-weight:bold;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #810e05;
}
.redBtn:hover {
	background:linear-gradient(to bottom, #c62d1f 5%, #f24537 100%);
	background-color:#c62d1f;
	color:#5c0015;
}
.redBtn:active {
	position:relative;
	top:1px;
}

.blueBtn {
	box-shadow:inset 0px 1px 0px 0px #bbdaf7;
	background:linear-gradient(to bottom, #79bbff 5%, #378de5 100%);
	background-color:#79bbff;
	border-radius:6px;
	border:1px solid #84bbf3;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:'Didact Gothic';
	font-size:15px;
	font-weight:bold;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #528ecc;
}
.blueBtn:hover {
	background:linear-gradient(to bottom, #378de5 5%, #79bbff 100%);
	background-color:#378de5;
	color:#02005c;
}
.blueBtn:active {
	position:relative;
	top:1px;
}

        
        

        
    
