

/* ================== Alignment & Positioning ================== */

/* Centeres elements to the center of the screen */
.itemAlign_Center {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  
  /* Ditto but only horizontally; */
  .itemAlign_HorizontalCenter {
    display: flex;
    justify-content: center;
    align-items: flex-start; /* This aligns items to the top instead of center */
    text-align: center;
}
  
  /* Left/Right Alignments */
  .itemAlign_CenterLeft {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
  }
  
  .itemAlign_CenterRight {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    text-align: right;
  }
  
  /* === Image & Subtitles === */
  
  /* This ensures text placed under images do in fact render in a linear vertical fashion */
  .renderAsBlock {
    display: block; 
  }

  /* === Text Alignment === */
  .alignText_Center {
    text-align: center; 
  }

  .alignText_BottomCenter {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 100%; /* ensure parent has height set */
  }
  
  .alignTextLeft {
    text-align: left; 
  }
  
  .alignText_Right {
    text-align: right; 
  }

/* ================== Padding & Margins ================== */

.padding5 {
  padding: 5px;
}

.padding10 {
    padding: 10px;
  }

.padding20 {
    padding: 20px;
  }

.padding40 {
    padding: 40px;
  }

/* === Paragraph Size Limiting === */

  /* Forces a maximum allowed line length. */
.font_ImposeMaxLength {
  text-align: left;
  max-width: 70ch; 
}