@tailwind base;
@tailwind components;
@tailwind utilities;



@layer components {
  .btn-primary {
    @apply inline-flex items-center gap-1.5 px-4 py-2 bg-blue-600 text-white text-sm font-medium rounded-md hover:bg-blue-700 transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2;
  }
  .btn-secondary {
    @apply inline-flex items-center gap-1.5 px-4 py-2 bg-white text-gray-700 text-sm font-medium rounded-md border border-gray-300 hover:bg-gray-50 transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2;
  }
  .btn-danger {
    @apply inline-flex items-center gap-1.5 px-4 py-2 bg-red-600 text-white text-sm font-medium rounded-md hover:bg-red-700 transition-colors focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2;
  }
  .page-header {
    @apply flex items-center justify-between mb-6;
  }
  .page-title {
    @apply text-xl font-semibold text-gray-900;
  }
  .card {
    @apply bg-white border border-gray-200 rounded-lg shadow-sm;
  }
  .input-field {
    @apply block w-full px-3 py-2 border border-gray-300 rounded-md text-sm placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors;
  }
  .label {
    @apply block text-sm font-medium text-gray-700 mb-1;
  }
  .badge {
    @apply inline-flex items-center px-2 py-0.5 rounded text-xs font-medium;
  }

  .grid-cols-5 {
    grid-template-columns: repeat(5,minmax(0,1fr));
  }

  .grid-cols-6 {
    grid-template-columns: repeat(6,minmax(0,1fr));
  }

  .grid-cols-7 {
    grid-template-columns: repeat(7,minmax(0,1fr));
  }

  .grid-rows-10 {
    grid-template-rows: repeat(10,minmax(0,1fr));
  }
  
  .grid-rows-11 {
    grid-template-rows: repeat(11,minmax(0,1fr));
  }

  .next-month {
    @apply !important;
  }

  .day {
    @apply w-24 h-24 !important;
  }
  
  .today {
    @apply bg-gray-200 !important;
  }

}


/* app/assets/stylesheets/pdf.css */
html {
    font-family: Arial, Helvetica, sans-serif;
}
.presentation-container {
    margin: 0;
    padding: 0;
}

.slide-container {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
    background-color: white;
    margin: 10px 0;
}

.alwaysbreak { 
    page-break-before: always; 
}

.slide-header {
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 48px;
    color: black;
    font-size: 5rem;
    z-index: 10;
}

.event-name {
    text-transform: uppercase;
    font-size: 2rem;
    padding: 0 0 3px 0;
}

.slide-content {
    position: absolute;
    top: 25%;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 36px;
    overflow: auto;
}

.sidebar {
    flex-shrink: 0;
    width: 80px;
    background-color: #3c4043;
    color: #fff;
    padding-top: 16px;
}

.miniature-slides {
    list-style: none;
    padding: 0;
    margin: 0;
}

.miniature-slide-item {
    background-color: #666;
    height: 60px;
    width: 60px;
    margin-bottom: 8px;
}



.slide-rounded-full {
    border-radius: 9999px;
    overflow: hidden;
    width: 9rem;
    height: 9rem;
    margin: 0 auto;
    border: 1px solid #ccc;
}

.w-36,
.h-36 {
width: 9rem;
height: 9rem;
}

.mx-auto {
margin-left: auto;
margin-right: auto;
}

.object-cover {
object-fit: cover;
}

.text-gray-700 {
color: #777;
}

.text-center {
text-align: center;
}

.pt-2 {
padding-top: 0.5rem;
}

.text-xs {
font-size: 0.75rem;
}

.font-semibold {
font-weight: 600;
}

.pb-1 {
padding-bottom: 0.25rem;
}

.font-light {
font-weight: 300;
}

/* ---- */ 

/* .slide-title-event-name {
    font-size: ;
} */

.top-bar {
    padding: 4rem;
}

.speaker-container {
    overflow: auto;
    text-align: center; /* Add text-align center */
}

.speaker {
    /* float: left;
    width: 25%;
    padding-right: 1rem;
    padding-bottom: 1rem; */

    display: inline-block; /* Use inline-block instead of float */
    vertical-align: top; /* Align to top to prevent extra spacing */
    padding-bottom: 1rem;
}

.speaker-w-1 {
    width: 72rem;
}

.speaker-w-2 {
    width: 36rem;
}

.speaker-w-3 {
    width: 24rem;
}

.speaker-w-4 {
    width: 18rem;
}

.speaker-w-5 {
    width: 14rem;
}

.speaker-w-6 {
    width: 12rem;
}

.speaker-w-7 {
    width: 10rem;
}

.speaker-w-8 {
    width: 8rem;
}


/* .speaker-image {
    border-radius: 50%;
    overflow: hidden;
    width: 9rem;
    height: 9rem;
    margin: auto;
    z-index: 10;
} */

.speaker-image {
    border-radius: 50%;
    overflow: hidden;
    width:  inherit;
    height: inherit;
    object-fit: cover !important;
    margin: auto;
    border: 0.4rem solid black;
}

.speaker-image-w-1 {
    width: 24rem;
    height: 24rem;
}

.speaker-image-w-2 {
    width: 24rem;
    height: 24rem;
}

.speaker-image-w-3 {
    width: 18rem;
    height: 18rem;
}

.speaker-image-w-4 {
    width: 18rem;
    height: 18rem;
}

.speaker-image-w-5 {
    width: 14rem;
    height: 14rem;
}

.speaker-image-w-6 {
    width: 12rem;
    height: 12rem;
}

.speaker-image-w-7 {
    width: 10rem;
    height: 10rem;
}

.speaker-image-w-8 {
    width: 8rem;
    height: 8rem;
}

.speaker-details {
    text-align: center;
}

.speaker-name {
    font-weight: 700;
    padding-bottom: 0.1rem;
}

.speaker-title {
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.6rem;
}

.speaker-company {
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.6rem;
}

.slide-content table {
    width: 80%;
    border-collapse: collapse;
    font-size: 28px;
  }

  .slide-content th, .slide-content td {
    border: none;
    padding: 8px;
    text-align: left;
  }

  .slide-content th {
    background-color: #f2f2f2;
    width: 30%;
  }

  .slide-content td {
    width: 70%;
    padding: 16px;
  }

  .title-slide .slide-content {
    font-size: 24px;
    color: white;
  }
  .title-slide .event-name {
    font-size: 8rem;
    color: white;
  }

  .agenda-slide .slide-content {
    font-size: 24px;
    color: white;
}

.slide-heading {
    font-size: 5rem;
    padding: 0;
}

.slide-subheading {
    font-size: 2.8rem;
    padding: 2rem 0;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *



 */
.simple-calendar table {
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid #dddddd;
  border-collapse: collapse;
  box-sizing: border-box;
  max-width: 100%;
  width: 100%; }

.simple-calendar tr {
  border-collapse: collapse; }

.simple-calendar th {
  padding: 6px;
  border-bottom: 2px solid #dddddd;
  border-collapse: collapse;
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  border-top: 0px none #333333;
  box-sizing: border-box;
  text-align: left; }

.simple-calendar td {
  padding: 6px;
  vertical-align: top;
  width: 14%;
  border: 1px solid #ddd;
  border-top-color: #dddddd;
  border-top-style: solid;
  border-top-width: 1px;
  border-right-color: #dddddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-bottom-color: #dddddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-left-color: #dddddd;
  border-left-style: solid;
  border-left-width: 1px; }

.simple-calendar .calendar-heading nav {
  display: inline-block; }

.simple-calendar .day {
  height: 80px; }

.simple-calendar .today {
  background: #FFFFC0; }

.simple-calendar .prev-month {
  background: #DDD; }

.simple-calendar .next-month {
  background: #DDD; }
