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


 */

span.icon-label {
  display: flex;
}

span.icon-label .material-symbols-outlined {
  margin-right: 8px;
  height: 26px;
}

 .material-symbols-outlined {
   font-variation-settings:
   'FILL' 0,
   'wght' 300,
   'GRAD' 200,
   'opsz' 40
 }

main {
  font-family: Open Sans;
  font-weight: 400;
  margin: 80px 50px;
  max-width: 1200px;
  padding-bottom: 20px;
}

nav {
  background: #001D54;
  color: #fff;
}

nav a {
  color: #fff;
}

.active-settings {
  font-size: 70%;
  font-weight: 200;
  float: left;
  padding: 0 .6em;
  max-width: 50%;
  white-space: nowrap;
  color: inherit;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.notice {
  background: #4EB57C;
}

.error {
  color: #FFF;
  background: #B21029;  
}

.error-text {
  color: #B21029;
}

.pseudo.button.error {
  color: #B21029;
  font-size: .8em;
}

.button, [type=submit] {
  background: #001D54
}

.button.secondary {
  background: #6AB3E7;
}

.row-category {
  white-space: nowrap;
}

.page-header {
  border-bottom: 2px solid #333;
  margin-top: .6em;
  margin: .6em auto;
}

#attendees-list td, th {
  padding-right: 1em;
}

article#badge, article#badge-back {
  border: 1px solid #999;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  text-align: center;
  padding: 5mm;
  margin: 10px auto;
  width: 85mm;
  height: 51mm;
  font-size: .85em;
  display: flex;
  justify-content: center;
  align-items: center;
  zoom: 130%;
}

article#badge.signature, article#badge-back.signature, article#badge.tower-society {
  font-family: "EB Garamond", sans-serif;  
}

div.badge-content {
  position: relative;
  vertical-align: middle;
  max-height: 45mm;
  width: 75mm;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

article#badge.sticker {
  width: 101mm;
  height: 53mm;
}
.sticker div.badge-content {
  width: 91mm;
  max-height: 51mm;
}

h1 {
  font-weight: 800;
  margin: 0;
  padding: 0;
  line-height: 1.2em;
}

.flexible-text-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%; /* Set the container size */
  height: 50px;
}

.flexible-text {
  
  line-height: 40px;
  /* text-transform: uppercase; */
  font-weight: 800;
  white-space: nowrap;
  transform-origin: center;
  font-size: 2.6rem;
  display: inline-block;
  /* max-width: 100%; */
  
}

article#badge.signature .flexible-text, article#badge-back.signature .flexible-text {
  font-size: 2.8rem;
}

article#badge.signature h1#first_name {
  text-transform: none;
} 

article#badge.signature h2#last_name {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2em;
  margin-bottom: 12px;
  text-transform: none;
}

h1#first_name {
  font-size: 40px;
  line-height: 48px;
  text-transform: uppercase;
}

h2#last_name {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2em;
  margin-bottom: 12px;
  text-transform: uppercase;
}

h2 {
  padding: 0;
}

.bottom-row .facstaff {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
}

#new-attendee-box {
  padding-top: 21px;
}

#import-alum-box {
  padding-top: 21px;
}

/* Modal close button styling */
.modal .close {
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 20px;
  font-weight: bold;
  color: #999;
  transition: color 0.2s;
}

.modal .close:hover {
  color: #333;
}

/* Completely custom modal system - no Picnic CSS dependency */
.custom-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 10000 !important;
  display: none !important;
}

.custom-modal.show {
  display: block !important;
}

.custom-modal-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.5) !important;
}

.custom-modal-content {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: white !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
  padding: 1em !important;
  max-width: 500px !important;
  width: 90% !important;
}

#add-attendee-modal .custom-modal-content {
  max-width: 400px !important;
}

/* Custom close button */
.custom-close {
  cursor: pointer !important;
  position: absolute !important;
  top: 10px !important;
  right: 15px !important;
  font-size: 20px !important;
  font-weight: bold !important;
  color: #999 !important;
  transition: color 0.2s !important;
}

.custom-close:hover {
  color: #333 !important;
}

/* Hide all Picnic modal stuff completely */
.modal {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  top: -9999px !important;
}

.modal * {
  display: none !important;
}

#new-group-attendee-box {
  text-align: center;
}

#inc-checkbox {
  margin: 0;
  display: block;
}

.form-submit {
  padding-top: 21px;
}

form .actions {
  padding-top: 40px;
}

.classification {
  margin-top: 12px;
}

.sticker .classification {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 12px;
  margin-bottom: 12px;
  height: 45px;
}

.sticker .classification .degree {
  font-size: 16px;
  font-weight: 500;
}

.degree {
  font-weight: 400;
  font-size: 13px;
  margin: 0;
  padding: 0;
}

.ug_college {
  font-weight: 700;
  font-size: 11px;
  padding-bottom: 0;
  text-transform: uppercase;
}

#badge-back .ug_college {
  font-size: 14px;
  height: 40px;
  margin: 6px 0 0;
  line-height: 1.1em;
  padding: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.lunch-group {
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
}

.red-group {
  color: #B21029;
}

.blue-group {
  color: #00205B;
}

.next-steps {
  margin: 0 auto;
  font-weight: 400;
  font-size: 12px;
  max-width: 250px;
}

.next-steps div {
  padding-bottom: 0;
  height: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
}

article#badge h3.category {
  font-size: 15px;
  padding: 0;
  margin-top: 15px;
  margin-bottom: -5px;
  text-transform: uppercase;
}

article#badge.sticker .bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-transform: uppercase;
}

article#badge.sticker .bottom-row.nonalum {
  margin-top: 2em;
}

article#badge.sticker .bottom-row > div {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  padding-bottom: 0;
}

article#badge.sticker .bottom-row  .icon-label {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  font-size: 10px;
}

article#badge.sticker .bottom-row  .college-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
}


article#badge.sticker .bottom-row  .material-symbols-outlined {
  font-size: 32px;
} 

article#badge.sticker .bottom-row  .college-short {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  max-width: 70px;
  margin: 0 10px 0 3px;
  text-align: left;
}

article#badge.sticker.pfw-sticker .bottom-row  .college-short {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  max-width: none;
  margin: 0 10px 0 3px;
  text-align: left;
}

/* Tower Society Badge Styles */
article#badge.tower-society {
  width: 101mm;
  height: 54mm;
  padding: 2mm;
}

article#badge.tower-society .badge-content-tower {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
  gap: 3mm;
  align-items: center;
}

article#badge.tower-society .badge-left-section {
  flex: 1;
  display: flex;
  max-width: 50mm;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  padding-right: 2mm;
}

article#badge.tower-society .badge-right-section {
  width: 40mm;
  height: 48mm;
  min-width: 40mm;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border: 1px solid #ccc;
  background-color: #f5f5f5;
}

article#badge.tower-society .badge-right-section .attendee-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

article#badge.tower-society .badge-right-section .no-photo-placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #999;
}

article#badge.tower-society .badge-right-section .no-photo-placeholder .material-symbols-outlined {
  font-size: 80px;
  color: #ccc;
}

article#badge.tower-society h1#first_name {
  font-size: 36px;
  line-height: 36px;
  font-weight: 800;
  margin-bottom: 2px;
  text-transform: none;
}

article#badge.tower-society h2#last_name {
  font-size: 20px;
  line-height: 22px;
  margin-bottom: 8px;
  text-transform: none;
  font-weight: 600;
}

article#badge.tower-society h3.label-year {
  font-size: 22px;
  line-height: 17px;
  font-weight: 500;
  color: #000;
  margin: 0;
  padding-bottom: 3px;
  text-transform: none;
}

article#badge.tower-society h3.label-major {
  font-size: 18x;
  line-height: 17px;
  font-weight: 300;
  color: #000;
  margin: 0;
  text-transform: none;
}

article#badge.tower-society h3.facstaff-label {
  font-size: 13px;
  line-height: 14px;
  font-weight: 200;
  color: #000;
  margin-top: 0px;
}

/* Tower Society - No Photo: Center text horizontally */
article#badge.tower-society.no-photo .badge-content-tower {
  justify-content: center;
}

article#badge.tower-society.no-photo .badge-left-section {
  align-items: center;
  text-align: center;
  padding-right: 0;
}

/* Tower Society - No Degree: Center text vertically */
article#badge.tower-society.no-degree .badge-left-section {
  justify-content: center;
}

/* Tower Society - No Photo AND No Degree: Center everything */
article#badge.tower-society.no-photo.no-degree .badge-content-tower {
  justify-content: center;
  align-items: center;
}

article#badge.tower-society.no-photo.no-degree .badge-left-section {
  align-items: center;
  text-align: center;
}

#order span, #height span, #honors span {
  font-size: 16px;
}

#order, #height, #honors {
  text-align: center
}

.action-bar, .card-action-bar, .bulk-action-bar {
  margin: 10px auto;
  text-align: center;
}

.card-action-bar {
  max-width: 400px;
}

.bulk-action-bar {
  max-width: 600px;
}

.instructions {
  color: #C8102E;
  background-color: #c8102f18;
  border: 1px solid #C8102E;
  max-width: 500px;
  margin: 0 auto;
  padding: 4px;
  text-align: center;
}


#add-attendee-modal article.modal-content{
  max-width: 400px;
  padding: 1em;
  position: relative;
}

#import-alum-modal article.modal-content{
  max-width: 500px;
  padding: 1em;
  position: relative;
}

#attendee-form {
  max-width: 600px;
}

@media print {
  nav, #back, #height-modal, #import-modal, .page-header, .action-bar, .notice, .card, .modal, .card-action-bar, .bulk-action-bar, .instructions, .regrets {
    display: none;
  }

  main {
    margin: 0;
    padding: 0;
  }

  html {
    margin: 0;
    padding: 0;
  }

  body {
    margin: 0;
    padding: 0;
    text-align: center;
  }

  body article#badge,
  body article#badge-back {
    border: none;
    margin: 0;
    padding: 0mm;
    size: 89mm 48mm;
    width: 89mm;
    height: 48mm;
    display: flex;
    justify-content: center;
    align-items: center;
    page-break-after: always;
    zoom: 100%;
  }

  body article#badge.sticker {
    width: 101mm;
    height: 53mm;
    size: 101mm 53mm;
    margin-top: -10px
  }

  body article#badge.tower-society {
    width: 101mm;
    height: 54mm;
    size: 101mm 54mm;
    padding: 6mm;
    margin: 0;
    margin-top: -10px;
    border: none;
  }

  body article#badge.tower-society .badge-content-tower {
    padding: 0;
    margin: 0;
  }

  /* 
  STICKERS:
  Set zoom to 130%
  Select the 54mm x 101mm paper
  
  LABELS:
  Set zoom to 100%
  Select the 2x3.5" paper
  */


  @page {
    /* size: 70mm 45mm;   /* auto is the initial value */
    
    /* this affects the margin in the printer settings */
    margin: 0mm auto;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
