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

/*

@layer components {
  .btn-primary {
    @apply py-2 px-4 bg-blue-200;
  }
}

*/
/*
 * 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.
 *


 */

/* .hidden { display: none; } */

.rounded-full {
  border-radius: 9999px !important;
}

.chevron-icon {
  transition: transform 0.3s ease;
}

.nav-item.dropdown:hover .chevron-icon {
  transform: rotate(-90deg);
}


.error {
  color: red;
}

.logo {
  height: 20px;
}

@media (min-width: 640px) { 
  .logo {
    height: 25px;
  }

  .content-title { 
    font-size: 22px !important;
  }

  .content-center {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .modal-content {
    margin: 5% auto;
    background-color: #E4E7EC !important;
    border: 1px solid #B5BAC3;
    border-radius: 10px;
    min-height: auto !important;
  }

  .menu-buttons {
    left: 5px !important;
    right: auto !important;
  }

  .form-container {
    padding: 30px 20px !important;
  }

  .navbar {
    .navbar-nav {
      padding: 13px 40px !important;
    }
  }

  .btn-secondary:hover {
    background-color: #222659;
    color: #FFFFFF;
  }

  .form-btn-primary:hover {
    background-color: #222659;
    color: #FFFFFF;
    outline: 1px solid #FFFFFF;
  }

  .form-btn-secondary:hover {
    background-color: #FFFFFF;
    color: #222659;
    border: 1px solid #222659;
  }

  .btn-primary:hover {
    background-color: #FFFFFF;
    color: #222659;
    outline: 1px solid #222659;
  }

  .delete-field-button:hover {
    background-color: #FFFFFF;
    color: #0A45BC;
    outline: 1px solid #0A45BC;
  }

  .add-button:hover {
    background-color: #FFFFFF;
    color: #0A45BC;
    outline: 1px solid #0A45BC;
  }
  
  .add-button-sm:hover {
    background-color: #FFFFFF;
    color: #0A45BC;
    outline: 1px solid #0A45BC;
  }
  
}

body {
margin: 0;
padding: 0;
font-family: 'Source Sans Pro', sans-serif !important;
}

.container {
  width: 95%;
  margin: 0 auto;
}

.font-12 { font-size: 12px; }
.font-14 { font-size: 14px; }
.font-16 { font-size: 16px; }
.font-18 { font-size: 18px; }
.font-20 { font-size: 20px; }
.font-22 { font-size: 22px; }
.font-24 { font-size: 24px; }
.font-26 { font-size: 26px; }

.font-weight-300 { font-weight: 300; }
.font-weight-400 { font-weight: 400; }
.font-weight-500 { font-weight: 500; }
.font-weight-600 { font-weight: 600; }

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-7 { margin-top: 1.75rem; }
.mt-8 { margin-top: 2rem; }
.mt-9 { margin-top: 2.25rem; }
.mt-10 { margin-top: 2.5rem; }
.mt-12 { margin-top: 3rem; }
.mt-14 { margin-top: 3.5rem; }
.mt-16 { margin-top: 4rem; }

.my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
.my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
.my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
.my-4 { margin-top: 1rem; margin-bottom: 1rem; }

.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }

.pb-1 { padding-bottom: 0.25rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-3 { padding-bottom: 0.75rem; }

.w-100 { width: 100%; }
.w-75 { width: 75%; }
.w-50 { width: 50%; }
.w-25 { width: 25%; }

.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }

.justify-between { justify-content: space-between; }

.text-primary { color: #222659 !important; }
.text-mid-gray { color: #BDBECD; }
.text-dark-gray { color: #5B5B5B !important;}
.text-gray { color: #B5BAC3 !important; }

.border-white { border: 1px solid #FFFFFF; }

.relative { position: relative; }

.bg-primary {
  background-color: #222659 !important;
}
.bg-white {
  background-color: #FFFFFF !important;
}

.bg-gray {
  background-color: #B5BAC3 !important;
}

.bg-mid-gray {
  background-color: #BDBECD !important;
}

.bg-light-gray {
  background-color: #E4E7EC !important;
}

.content-container {
  background-color: #E4E7EC;
  border-radius: 10px;
}

.form-container {
  background-color: #E4E7EC;
  border-radius: 10px;
  padding: 20px 16px;
}

.content-center {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.content-title { 
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px
}

.registration-link {
  color: #222659;
  text-decoration: underline;
}

.form-label {
  font-size: 14px;
  font-weight: 600;
  color: #5B5B5B;
}

.form-input {
  width: 100%;
  padding: 9px 0px;
  text-indent: 10px;
  border-radius: 6px;
  background-color: #FFFFFF;
  border: 1px solid #B5BAC3;
}

input:disabled {
  background-color: #F5F7FA !important;
}

select:disabled {
  background-color: #F5F7FA !important;
}



.divider-bottom {
  border-bottom: 1px solid #B5BAC3;
}

.form-subtitle {
  font-size: 18px;
  font-weight: 600;
}

.form-btn-primary {
  background-color: #FFFFFF;
  color: #222659;
  padding: 9px 20px;
  border-radius: 6px;
  cursor: pointer;
}

.form-btn-secondary {
  background-color: #222659;
  color: #FFFFFF;
  padding: 9px 20px;
  border-radius: 6px;
  border: 1px solid #FFFFFF;
  cursor: pointer;
}

.btn-primary {
  background-color: #222659;
  color: #FFFFFF;
  padding: 9px 20px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid #FFFFFF;
}

.btn-secondary {
  background-color: #FFFFFF;
  border: 1px solid #222659;
  color: #222659;
  padding: 9px 20px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.add-button {
  background-color: #0A45BC;
  color: #FFFFFF;
  border-radius: 6px;
  padding: 9px 20px;
  text-wrap: nowrap;
}

.add-button-sm {
  background-color: #0A45BC;
  color: #FFFFFF;
  border-radius: 6px;
  padding: 4px 12px;
  text-wrap: nowrap;
}

.delete-field-button {
  background-color: #0A45BC;
  color: #FFFFFF;
  border-radius: 6px;
  padding: 4px 12px;
  text-wrap: nowrap;
}

.search-button {
  background-color: #FFFFFF;
  border-radius: 6px;
  padding: 9px 13px;
  border: 1px solid #B5BAC3;
  cursor: pointer;
  color: #222659;
}

.form-checkbox {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  border: 1px solid #B5BAC3;
}

/* navigation */

.navbar {
  background-color: #f8f9fa;

  .navbar-nav {
    list-style: none;
    padding: 10px 16px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;

    .nav-item {
      position: relative;

      .nav-link {
        text-decoration: none;
        color: #222659;
        padding: 0.5rem 1rem;
        font-size: 16px;
        font-weight: 400;
        display: flex;
        align-items: center;
        gap: 0.5rem;

        &:hover {
          background-color: #e2e6ea;
          border-radius: 4px;
        }
      }

      .dropdown-menu {
        width: 166px;
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        background-color: #fff;
        border: 1px solid #ccc;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        padding: 10px 0px;
        list-style: none;
        margin: 0;
        border-radius: 10px;

        li {
          a {
            padding: 6px 10px;
            text-decoration: none;
            color: black;
            font-size: 16px;
            font-weight: 400;
            display: block;

            &:hover {
              background-color: #BDBECD;
            }
          }
        }
      }
    }

    .dropdown-toggle:hover + .dropdown-menu,
    .dropdown-menu:hover {
      display: block;
    }
  }
}

/* table */

table {
  border-collapse: collapse;
}

table th {
  background-color: #BDBECD;
  border-width: 1px;
  border-color: #5B5B5B;
  border-style: solid;
}

table th, td {
  padding: 16px 16px 16px 16px;
}

table td {
  border: 1px solid #B5BAC3;
}

table tbody tr:nth-child(even) {
  background-color: #EFF1F4;
}

/* modal */

.modal {
  position: fixed;
  z-index: 20;
  left: 0;
  top: 0px;
  width: 100%;
  height: 100%;
  overflow: auto;
}

.modal-header .modal-title {
  font-size: 22px;
  font-weight: 600;
}

.modal-content {
  background-color: #222659;
  /* margin: 15% auto; */
  min-height: 100%;
}

.modal-header {
  display: flex;
  justify-content: space-between;
}

.close {
  color: #aaa;
  float: right;
  font-weight: bold;
  font-size: 20px;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* steps */

.step-circle {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  color: white;
}

.step-text {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 0.5rem;
  text-align: center;
  font-size: 0.75rem;
}

.step-divider {
  height: 0.125rem;
  width: 25%;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

/* menu */

.menu-container {
  position: relative;
  display: flex;
}
.menu-toggle {
  cursor: pointer;
  color: #FFFFFF;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #0A45BC;
  border-radius: 50%;
}


/* .menu-buttons {
  border: 1px solid black;
  padding: 10px;
  border-radius: 5px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background: #fff;
  position: absolute;
  z-index: 1;
  display: none;
  top: 20px;
  right: 5px;
  white-space: nowrap;
} */

.menu-buttons {
  width: 166px;
  display: none;
  position: absolute;
  top: 100%;
  left: -150px;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 10px 0px;
  list-style: none;
  margin: 0;
  border-radius: 10px;
  position: absolute;
  z-index: 1;

  a {
    padding: 6px 10px;
    text-decoration: none;
    color: black;
    font-size: 16px;
    font-weight: 400;
    display: block;

    &:hover {
      background-color: #BDBECD;
    }
  }
}

/* pagination */

.pagination em, .pagination a, .pagination span {
  font-size: 14px;
  padding: 6px 8px;
}

.pagination a {
  color: #5B5B5B;
}

.pagination .current {
  background-color: #222659;
  color: #FFFFFF;
  border-radius: 2px;
}

/* icon inside of input */

.input-wrapper {
  position: relative;
  display: inline-block;
}

.input-wrapper i {
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  color: #0A45BC;
}

.input-wrapper input {
  padding-left: 30px;
  padding-right: 10px;
}

.input-wrapper-right {
  position: relative;
  display: inline-block;
}

.input-wrapper-right i {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  color: #0A45BC;
}

.input-wrapper-right input {
  padding-right: 30px;
}

/* select2 sizing */

.select2-container--default .select2-selection--multiple {
  min-height: 44px !important;
  padding-bottom: 8px !important;
  padding-top: 8px !important;
  width: 100% !important;
}

.select2-container--default .select2-selection__rendered {
  display: flex !important;
  flex-wrap: wrap !important;
  max-width: 100% !important;
  overflow: hidden;
}

.select2-container--default .select2-selection--single {
  height: 44px !important;
  padding-bottom: 8px !important;
  padding-top: 8px !important;
}

.select2-container--default .select2-selection__arrow {
  height: 44px !important;
  padding-bottom: 8px !important;
  padding-top: 8px !important;
}

.select2-container--default .select2-selection--single {
  border-radius: 6px !important;
  border: 1px solid #B5BAC3 !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #5B5B5B !important;
  font-weight: 400 !important;
  font-size: 16px !important;
}

/* .select2-container--default .select2-search__field {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
} */

.select2-container--default .select2-selection--multiple .select2-search__field {
  height: 24px !important;
  margin-top: 0px !important;
}

.select2-container--default .select2-selection--multiple {
  display: flex !important;
  align-items: center !important;
}

.select2-container--default  .select2-selection__choice {
  margin-top: 0px !important;
}

.select2-container--default .select2-selection__clear {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0px !important;
}


.list-item-element {
  border-top: 1px solid #B5BAC3;
  border-right: 1px solid #B5BAC3;
  border-left: 1px solid #B5BAC3;
}

.list-item-element:last-child {
  border-bottom: 1px solid #B5BAC3;
}

/* form status circle */

.circle-progress {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  position: relative;
}

.circle-progress svg {
  transform: rotate(-90deg);
}

.circle-progress circle {
  stroke-dasharray: 283; /* Full circle length */
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 0.3s ease;
}

.circle-progress {
  stroke-dashoffset: 0;
}

.circle-progress .text-white {
  transition: stroke-dashoffset 0.3s ease;
}





.input-wrapper {
  position: relative;
}

.time-picker {
  display: none;
  position: absolute;
  border: 1px solid #ccc;
  background: white;
  border-radius: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  padding: 10px;
  margin-top: 8px;

  input[type="number"]::-webkit-inner-spin-button,
  input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
  }
}

.time-container {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

.time-segment {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.time-input {
  text-align: center;
  border-radius: 10px;
  border: 1px solid #B5BAC3;
  background: #FFF;
  padding: 7px 20px;
  font-size: 14px;
  width: 65px;
  height: 40px;
}

.arrow-up,
.arrow-down {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  user-select: none;
}

.arrow-up {
  margin-bottom: 2px;
}

.arrow-down {
  margin-top: 2px;
}

.arrow-up:hover,
.arrow-down:hover {
  color: #007bff;
}


/* radio buttons */

input[type="radio"].hidden + label {
  background-color: #FFFFFF;
  color: #222659;
  padding: 9px 20px;
  cursor: pointer;
  outline: 1px solid #222659 !important;
  font-weight: 600;
  font-size: 16px;
  border: none;
}

input[type="radio"].hidden:checked + label {
  background-color: #222659;
  color: #FFFFFF;
  padding: 9px 20px;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
}

.broadcast-border {
  /* border-b border-gray-400 */
  border-bottom: 1px solid #B5BAC3;
}


/* .form-btn-primary {
  background-color: #FFFFFF;
  color: #222659;
  padding: 9px 20px;
  border-radius: 6px;
  cursor: pointer;
}

.form-btn-secondary {
  background-color: #222659;
  color: #FFFFFF;
  padding: 9px 20px;
  border-radius: 6px;
  border: 1px solid #FFFFFF;
  cursor: pointer;
} */

/* loader */

@keyframes slide-in-right {
        0% {
          transform: translateX(100%);
        }
        100% {
          transform: translateX(0);
        }
      }

@keyframes slide-out-right {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}

.slide-in {
  animation: slide-in-right 0.5s ease-out forwards;
}

.slide-out {
  animation: slide-out-right 0.5s ease-in forwards;
}
