/* NOTE: this is a velocity template and processed during PIF loading */
/* NOTE: if you want to modify existing constants, please coordinate with Engineering. */
:root {
    --font-math-family: stix-web,'Times New Roman',times,roboto,serif;
    --color-afi-orange-header:              #ff4500;
    --color-alt-table-border:               #b9b9b9;
    --color-table-border:                   #999;
    --color-white-header-background:        white;
    --color-table-hover-background:         #ddd;
    --color-new-table-hover-background:     #f2f0f0;
    --color-table-row-hover-background:     #f1f1f1;
    --color-selected-blue:                  #205372;
    --color-sub-subhead:                    #20a7c8;
    --color-new-gray-header-background:     #f2f0f0;
    --color-new-gray-table-border:          #bfbfbf;
    --sans-serif-font-size-large2:          14pt;
    --sans-serif-font-size-large:           13pt;
    --sans-serif-font-size:                 12pt;
    --sans-serif-font-size-content:         11.5pt;
    --sans-serif-font-size-small:           11pt;
    --sans-serif-extra-light:               100;
    --sans-serif-light:                     300;
    --sans-serif-regular:                   400;
    --sans-serif-little-bold:               500;
    --sans-serif-semi-bold:                 700;
    --sans-serif-bold:                      700;
    --sans-serif-black:                     900;
    --math-font-size-larger:                1.167em;
    --math-font-size-large:                 1.083em;
    --math-font-size:                       1.000em;
}

@scope (.content-snippet) {
  /* For different devices, following recommendations from W3C
   See https://www.w3schools.com/css/css_rwd_mediaqueries.asp
   Extra small devices (phones, 600px and down)
   @media only screen and (max-width: 600px) {...}

   Small devices (portrait tablets and large phones, 600px and up)
   @media only screen and (min-width: 600px) {...}

   Medium devices (landscape tablets, 768px and up)
   @media only screen and (min-width: 768px) {...}

   Large devices (laptops/desktops, 992px and up)
   @media only screen and (min-width: 992px) {...}

   Extra large devices (large laptops and desktops, 1200px and up)
   @media only screen and (min-width: 1200px) {...}

   Orientation: Portrait / Landscape
   Media queries can also be used to change layout of a page depending on the orientation of the browser. */

/* colors */
.grey,
.gray {
  color: #ccc;
}

.gold {
  color: #fc0;
}

.red {
  color: #c00;
}

.blue {
  color: #03f;
}

.green {
  color: #396;
}

.pumpkin {
  color: #f90;
}

.fuchsia {
  color: #f0c;
}

.purple {
  color: #90c;
}

/* stylelint-disable selector-class-pattern */
.darkGreen {
  color: #063;
}
/* stylelint-enable selector-class-pattern */

.yellow {
  color: #ff0;
}

.black {
  color: #000;
}

.white {
  color: #fff;
}

.weight-black { 
    font-weight: var(--sans-serif-black);
}

img {
  border: 0;
}

/* math */
.math-author {
  vertical-align: baseline;
  font-family: var(--font-math-family);
  font-style: italic;
  font-size: var(--math-font-size-larger);
  line-height: var(--math-font-size);
}

.math-plain {
  vertical-align: baseline;
  font-family: var(--font-math-family);
  font-size: var(--math-font-size-larger);
  line-height: var(--math-font-size);
}

.math-clear-baseline img {
  margin: 0 !important;
  vertical-align: middle !important;
}

/* misc */
.top img {
  margin-left: 4px;
}

.lineup img {
  margin: 0 8px;
}

.lineup td {
  vertical-align: middle;
}

.toolbox-toc td {
  width: 50%;
}

.taag-table td {
  padding: 3px 8px;
  text-align: left;
  border: solid 1px #d9d9d9;
}

.table-scheme1 td,
.table-scheme1a td,
.table-scheme7 td,
.table-scheme8 td {
    padding: .5em;
}

table.table-scheme6 {
border-top: hidden;
border-left: hidden !important; /* Need important as it somehow gets overridden */
border-right: hidden !important;  /* Need important as it somehow gets overridden */
}

.table-scheme2 td,
.table-scheme3 td,
.table-scheme4 td,
.table-scheme5 td,
.table-scheme6 td,
.table-scheme9 td {
    border: 1px solid var(--color-new-gray-table-border, #bfbfbf); /* MS Edit 1px solid var(--color-alt-table-border); */
    padding: 3px 8px; /* MS Edit 2px 8px; */
}

.table-scheme7 td {
  border: 1px solid var(--color-table-border);
}

.table-scheme8 td,
.table-scheme8 th {
  border: .5px solid var(--color-table-border);
}

/**** 2 and 3 column grid layout */
.production-col2-container {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto;
  place-items: center center;
  grid-gap: 4px 12px;
  width: 100%;
  box-sizing: border-box;
  padding-bottom: 8px;
  column-gap: 3em;
}

.production-col3-container {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto;
  place-items: center center;
  grid-gap: 4px 12px;
  width: 100%;
  box-sizing: border-box;
  padding-bottom: 8px;
  column-gap: 3em;
}

.production-col2-item,
.production-col3-item {
  width: -webkit-fill-available;
  width: -moz-available;
}

.production-col2-item img,
.production-col3-item img {
  margin: auto;
  display: block;
}

.production-col2-item table,
.production-col3-item table {
  margin: auto;
  vertical-align: middle;
}

.production-col2-item table td,
.production-col3-item table td {
  vertical-align: middle;
}

.production-col2-item p > img,
.production-col3-item p > img {
  /* To accommodate any icons/images coded as inline elements inside the p tag eg in 03xim_22 EX5 page 10 */
  display: inline-block;
}

/* misc */
.ia-header {
  padding: 6px 0;
  position: relative;
  margin-bottom: 8px;
  min-height: 19px;
  height: auto;
  font-size: 1.2em;
  background-color: white;
  color: var(--color-afi-orange-header);
}

.ia-header-right-float,
.ia-header div {
  position: absolute;
  right: 10px;
  top: 3px;
}

.ia-header-icon {
  float: right;
  padding-top: 2px;
}

.ia-header-icon-number, .ia-header span{
    position: relative;
    top: -5px;
}

.ia-header-icon-number,
.ia-header div span {
  color: black;
  font-weight: 400;
  font-size: 0.9em;
  line-height: 2em;
  margin-right: 4px;
}

.ia-header > b {
    font-weight: 400;
}

.lineup {
  width: 100%;
}

.ia-header div img {
  float: right;
  padding-top: 2px;
}

.icon-header div img {
  float: right;
  margin-right: 8px;
}

.lineup td.last img {
  margin: 0 0 0 8px;
}

.lineup td.first {
  padding-left: 0;
}

.icon-header {
    position: relative;
    height: 35px;
}

figure > p {
    margin-top: 0.6em;
}

.icon-header + p {
    margin-top: -1px;
}

.icon-header div {
  position: relative;
  float: right;
}

.icon-header div span {
  font-weight: var(--sans-serif-semi-bold);
  line-height: 2em;
  color: var(--color-selected-blue);
}

.icon-header activity-sheet-link {
  margin-top: .5em;
  float: right;
}

p.explanation {
  display: none !important;
}

.no-break {
  white-space: nowrap;
}

a {
  color: #0075c8;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.support-anchors a {
  margin-right: 15px;
}

.content-page a,
.content-system a,
a:visited,
.content-page a:visited,
.content-system a:visited {
  color: #0075c8;
  text-decoration: none;
}

.content-page a:hover,
.content-system a:hover {
  text-decoration: underline;
}

.bold,
.strong {
  font-weight: var(--sans-serif-semi-bold);
}

ol.list-flushed,
ul.list-flushed {
  margin-left: 0;
  padding-left: 25px;
}

.list-remove-indent {
  margin-left: -22px;
}

ul li {
  padding: 0 2px 2px;
  background-position: 0 0;
  margin-bottom: 0.4em;
  margin-left: 16px;
  overflow: visible;
  height: auto;
  width: auto;
}

ul {
  padding-left: 22px;
  margin-left: 0;
  margin-top: 0.4em;
}

ul li ol li,
ul li ul li {
  list-style-type: inherit !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-bottom: 0;
}

ul li ul li {
  list-style-type: circle;
  background-color: transparent;
  background-image: none !important;
  padding-left: 6px;
}

ul li ol li {
  background-color: transparent;
  background-image: none;
  padding-left: 6px;
}

ol {
  margin-top: 0.4em;
}

ul li ol li,
ul li ul ul li ul li,
ul li ol {
  background-image: none !important;
}

ul.upper-roman li {
  background-image: none !important;
  padding-left: 0 !important;
}

ul.ia-bullet-list li {
  list-style-type: none;
  background: none;
  color: #888;
  padding-left: 26px;
  margin-left: 0;
}

ul li:hover,
ul li ol li:hover {
  background-color: var(--color-table-row-hover-background);
}

ul li ul li:hover {
  list-style-type: circle;
  background-color: transparent;
  background-image: none !important;
  padding-left: 6px;
}

ul li ul {
  list-style-type: circle !important;
  background-image: none;
}

ul li ol li:hover {
  background-color: transparent;
  background-image: none;
  padding-left: 6px;
}

ul.upper-roman {
  list-style-type: upper-roman !important;
  margin-left: 20px;
}

ul.upper-roman li:hover {
  background-image: none !important;
  padding-left: 0 !important;
}

.help-code,
.help-code-normal {
  font-family: "Courier New",Courier,monospace;
  font-size: 110%;
  vertical-align: baseline;
}

.help-code {
  font-style: italic;
}

.toolbox-toc {
  width: 100%;
}

.support-anchors {
  margin-bottom: 15px;
}

.taag-table {
  width: 100%;
  border: solid 1px #e5e5e5;
  border-radius: 10px;
  border-collapse: collapse;
  margin: 16px 0 8px;
}

.taag-table th {
  padding: 3px 8px;
  text-align: left;
  font-weight:normal;
}

.taag-subhead {
  line-height:1.7em;
  color: var(--color-sub-subhead);
  font-size: 1.15em;
}

/* Table scheme 1 and 1a */
table.table-scheme1,
table.table-scheme1a,
table.table-scheme8 {
  line-height: 1.3em;
  border: hidden;
  border-collapse: separate;
  border-spacing: 0;
}

.table-scheme1 th,
.table-scheme1a th,
.table-scheme7 th,
.table-scheme8 th {
    padding: .5em;
}

.table-scheme2 th,
.table-scheme3 th,
.table-scheme4 th,
.table-scheme5 th,
.table-scheme6 th,
.table-scheme9 th {
    border: 1px solid var(--color-new-gray-table-border, #bfbfbf); /* MS Edit 1px solid var(--color-alt-table-border); */
    padding: 3px 8px; /* MS Edit 2px 8px; */
}

.table-scheme7 th {
  border: 1px solid var(--color-table-border);
}

.table-scheme8 th {
  border: .5px solid var(--color-table-border);
}

.table-scheme2 thead td,
.table-scheme3 thead td,
.table-scheme4 thead td,
.table-scheme5 thead td,
.table-scheme6 thead td,
.table-scheme7 thead td,
.table-scheme8 thead td,
.table-scheme9 thead td,
.table-scheme2 th,
.table-scheme3 th,
.table-scheme4 th,
.table-scheme5 th,
.table-scheme6 th,
.table-scheme7 th,
.table-scheme8 th,
.table-scheme9 th {
    border-bottom: 2px solid black;
    font-size: var(--sans-serif-font-size-small); /* MS edit var(--sans-serif-font-size); */
    font-weight: var(--sans-serif-bold);
    color: black;
    background-color: var(--color-white-header-background);
} /* Global changes for mobile schemes ticket:26547 */

.table-scheme6 th,
.table-scheme7 th,
.table-scheme8 th {
    border-bottom: 2px solid black;   
    font-size: var(--sans-serif-font-size-small); /* MS edit var(--sans-serif-font-size); */
    font-weight: var(--sans-serif-bold);
    color: black;
    background-color: var(--color-new-gray-header-background, #f2f0f0); /* MS edit var(--color-white-header-background); */
} /* Global changes for mobile schemes ticket:26547 */
 
.table-scheme1 td.table-heading,
.table-scheme1a td.table-heading,
.table-scheme6 td.table-heading,
.table-scheme7 td.table-heading,
.table-scheme8 td.table-heading {
    font-size: var(--sans-serif-font-size-small); /* MS edit font-size: var(--sans-serif-font-size); */
    font-weight: var(--sans-serif-bold);
    background-color: var(--color-new-gray-header-background, #f2f0f0); /* MS edit */
    color: black;
}

table.table-headings-left-aligned th,
table.table-headings-left-aligned td.table-heading,
table.table-headings-left-aligned td.table-subheading {
  text-align: left;
}

table.table-headings-right-aligned th,
table.table-headings-right-aligned td.table-heading,
table.table-headings-right-aligned td.table-subheading {
  text-align: right;
}

table.table-headings-centered th,
table.table-headings-centered td.table-heading,
table.table-headings-centered td.table-subheading {
  text-align: center;
}

table.table-content-left-aligned td {
  text-align: left;
}

table.table-content-right-aligned td {
  text-align: right;
}

table.table-content-centered td {
  text-align: center;
}

table.table-lined-all,
table.table-lined-all th,
table.table-lined-all td {
  border-width: 1px !important;
  border-style: solid;
}

table.no-borders,
table.no-borders td {
  border: 0 !important;
}

table.table-lined-rows,
table.table-lined-rows th,
table.table-lined-rows td {
  border-width: 1px 0;
  border-style: solid;
  border-color: black;
}

table.table-lined-cols,
table.table-lined-cols th,
table.table-lined-cols td {
  border-width: 0 1px;
  border-style: solid;
  border-color: black;
}

table.table-lined-all,
table.table-lined-rows,
table.table-lined-cols,
table.table-collapse-spacing {
  border-collapse: collapse;
}

table.table-separate-spacing {
  border-collapse: separate;
}

.hide-headers tr th { 
    position: absolute;
    top: -9999px;
    left: -9999px;
    width:    1px;
    height:   1px;
    overflow: hidden;
}

.table-scheme1a thead tr th,
.table-scheme1a thead tr td,
.table-scheme1a tbody tr th,
.table-scheme1a tbody tr td {
    border-left: 1px solid var(--color-table-border);
}

.table-scheme1 thead tr td,
.table-scheme1a thead tr td,
.table-scheme6 thead tr td,
.table-scheme7 thead tr td,
.table-scheme8 thead tr td,
.table-scheme1 thead tr th,
.table-scheme1a thead tr th,
.table-scheme6 thead tr th,
.table-scheme7 thead tr th,
.table-scheme8 thead tr th {
    font-size: var(--sans-serif-font-size-small); /* MS edit var(--sans-serif-font-size); */
    font-weight: var(--sans-serif-bold);
    color: black;
}

.table-scheme2 .table-heading td,
.table-scheme3 .table-heading td,
.table-scheme4 .table-heading td,
.table-scheme5 .table-heading td,
.table-scheme6 .table-heading td,
.table-scheme7 .table-heading td,
.table-scheme8 .table-heading td,
.table-scheme9 .table-heading td {
    border-bottom: 2px solid black;
    font-size: var(--sans-serif-font-size-small); /* MS edit var(--sans-serif-font-size); */
    font-weight: var(--sans-serif-bold);
    color: black;
    background-color: var(--color-white-header-background);
} /* Global changes for mobile schemes ticket:26547 */

.table-scheme1a .table-heading td,
.table-scheme6 .table-heading td,
.table-scheme7 .table-heading td,
.table-scheme8 .table-heading td {
    font-size: var(--sans-serif-font-size-small); /* MS edit var(--sans-serif-font-size); */
    font-weight: var(--sans-serif-bold);
    color: black;
}

/* for two-way and horizontal tables */
.table-scheme6 thead + tbody th {
    border-right: 2px solid black;
    border-bottom: 1px solid var(--color-new-gray-table-border, #bfbfbf);  
    background-color: var(--color-new-gray-header-background, #f2f0f0);
}

/* for horizontal tables */  
.horizontal tbody th:first-child {
    border-right: 2px solid black;
    border-bottom: 1px solid var(--color-new-gray-table-border, #bfbfbf); 
    background-color: var(--color-new-gray-header-background, #f2f0f0);
}
 

.table-scheme1a tr.table-heading th {
    border-left: 1px solid var(--color-table-border);
}

.table-scheme6 .table-heading td,
.table-scheme7 .table-heading td,
.table-scheme8 .table-heading td {
    border-bottom: 2px solid black;
    font-size: var(--sans-serif-font-size-small); /* MS edit var(--sans-serif-font-size); */
    font-weight: var(--sans-serif-bold);
    color: black;
    background-color: var(--color-new-gray-header-background, #f2f0f0); /* MS edit var(--color-white-header-background); */
} /* Global changes for mobile schemes ticket:26547 */

/* table scheme 8 removing border */
.table-scheme8 tr:first-child th,
.table-scheme8 tr:first-child td {
  border-top: hidden;
}

.table-scheme8 tr:last-child td,
.table-scheme8 tr:last-child th {
  border-bottom: hidden;
}

.table-scheme8 tr td:first-child,
.table-scheme8 tr th:first-child {
  border-left: hidden;
}

.table-scheme8 tr td:last-child,
.table-scheme8 tr th:last-child {
  border-right: hidden;
}

table.table-scheme1 th:hover,
table.table-scheme1a th:hover,
table.table-scheme2 th:hover,
table.table-scheme3 th:hover,
table.table-scheme4 th:hover,
table.table-scheme5 th:hover,
table.table-scheme6 th:hover,
table.table-scheme7 th:hover,
table.table-scheme8 th:hover,
table.table-scheme9 th:hover {
  background-color: #fff;
}

/* first cell of the two-way table */
table.two-way thead th:first-child{
    border-right: 2px solid black;
    border-bottom: 2px solid black;
    background-color: var(--color-new-gray-header-background, #f2f0f0);

}

.table-scheme1a thead tr th:first-child,
.table-scheme1a tbody tr th:first-child {
    border-left: hidden;
}

.table-scheme1a thead tr td:first-child,
.table-scheme1a tbody tr td:first-child {
    border-left: hidden;
}

table.table-scheme1 tr:hover td,
table.table-scheme1a tr:hover td,
table.table-scheme2 tr:hover td,
table.table-scheme3 tr:hover td,
table.table-scheme4 tr:hover td,
table.table-scheme5 tr:hover td,
table.table-scheme6 tr:hover td,
table.table-scheme7 tr:hover td,
table.table-scheme8 tr:hover td,
table.table-scheme9 tr:hover td {
  background-color: var(--color-new-table-hover-background); /* var(--color-table-hover-background); */
}

.table-scheme1 thead tr:last-child td,
.table-scheme1a thead tr:last-child td,
.table-scheme7 thead tr:last-child td,
.table-scheme8 thead tr:last-child td,
.table-scheme1 thead tr:last-child th,
.table-scheme1a thead tr:last-child th,
.table-scheme7 thead tr:last-child th,
.table-scheme8 thead tr:last-child th {
    border-bottom: 2px solid black;
    padding-bottom: .5em;
}

table.table-scheme1 div.reveal-and-click-me table td,
table.table-scheme1a div.reveal-and-click-me table td,
table.table-scheme2 div.reveal-and-click-me table td,
table.table-scheme3 div.reveal-and-click-me table td,
table.table-scheme4 div.reveal-and-click-me table td,
table.table-scheme5 div.reveal-and-click-me table td,
table.table-scheme6 div.reveal-and-click-me table td,
table.table-scheme7 div.reveal-and-click-me table td,
table.table-scheme8 div.reveal-and-click-me table td,
table.table-scheme9 div.reveal-and-click-me table td {
  border-width: 0;
}

.table-scheme1 tr.table-heading:last-child td,
.table-scheme1a tr.table-heading:last-child th,
.table-scheme7 tr.table-heading:last-child th,
.table-scheme8 tr.table-heading:last-child th {
    border-bottom: 2px solid black;
    padding-bottom: .5em;
}

table.table-scheme1 tr.table-heading:hover td,
table.table-scheme1a tr.table-heading:hover td,
table.table-scheme2 tr.table-heading:hover td,
table.table-scheme3 tr.table-heading:hover td,
table.table-scheme4 tr.table-heading:hover td,
table.table-scheme5 tr.table-heading:hover td,
table.table-scheme6 tr.table-heading:hover td,
table.table-scheme7 tr.table-heading:hover td,
table.table-scheme8 tr.table-heading:hover td,
table.table-scheme9 tr.table-heading:hover td {
  background-color: #fff;
}

.table-scheme1a tr.table-heading th:first-child {
    border-left: hidden;
}

.table-scheme1 tbody tr:nth-child(even),
.table-scheme1a tbody tr:nth-child(even) {
    background-color: #eee;
}

.table-scheme1 .table-subheading,
.table-scheme1a .table-subheading,
.table-scheme7 .table-subheading,
.table-scheme8 .table-subheading {
    font-weight: var(--sans-serif-bold);
    font-size: var(--sans-serif-font-size-small);
}

/* All Other Table schemes */
table.table-scheme2,
table.table-scheme3,
table.table-scheme4,
table.table-scheme5,
table.table-scheme6,
table.table-scheme9 {
  line-height: 1.3em;
  border: 1px solid var(--color-alt-table-border);
  border-collapse: collapse;
}

table.table-scheme7 {
  line-height: 1.3em;
  border: 1px solid var(--color-table-border);
  border-collapse: collapse;
}

table td.table-cell-no-padding {
  padding: 0;
}

table.table-scheme2 table,
table.table-scheme3 table,
table.table-scheme4 table,
table.table-scheme5 table,
table.table-scheme6 table,
table.table-scheme7 table,
table.table-scheme8 table,
table.table-scheme9 table {
  border-collapse: collapse;
}

.table-title,
table caption {
  font-size: var(--sans-serif-font-size); /* MS edit var(--sans-serif-font-size-large2); */
  font-weight: var(--sans-serif-bold); /* MS edit var(--sans-serif-black); */
  line-height: 1.5em;
  margin-bottom: .5em;
  margin-top: .5em;
}

figcaption table caption {
    caption-side:top;
}

.hide-caption > caption { 
    position: absolute;
    top: -9999px;
    left: -9999px;
    width:    1px;
    height:   1px;
    overflow: hidden;
}

/* stylelint-disable selector-class-pattern */
thead .math_ml,
.table-heading .math_mml {
  margin-left: 4px;
  margin-right: 4px;
}
/* stylelint-enable selector-class-pattern */

td.table-border-light {
  border-left: 1px solid #f3f3f3 !important;
  border-right: 1px solid #f3f3f3 !important;
}

td.table-border-light-first {
  border-right: 1px solid #f3f3f3 !important;
}

td.table-border-light-last {
  border-left: 1px solid #f3f3f3 !important;
}

/* Table schemes */
table.table-scheme2 table,
table.table-scheme3 table,
table.table-scheme4 table,
table.table-scheme5 table,
table.table-scheme6 table,
table.table-scheme7 table,
table.table-scheme9 table  {
    border-collapse: collapse;
}

.table-scheme2 .table-subheading,
.table-scheme3 .table-subheading,
.table-scheme4 .table-subheading,
.table-scheme5 .table-subheading,
.table-scheme6 .table-subheading,
.table-scheme8 .table-subheading,
.table-scheme9 .table-subheading {
    font-weight: var(--sans-serif-bold);
    font-size: var(--sans-serif-font-size-small);
    color: black;
}

table.box {
  border: 2px solid #369;
  padding: 0;
}

td.table-cell-no-padding table {
  width: 100%;
}

/* stylelint-disable selector-class-pattern */
.force-GPU {
    transform: translateY(0);
}
/* stylelint-enable selector-class-pattern */

.font-monospace {
  font-family: Monaco,"Lucida Console","Courier New", sans-serif;
}

.font-cursive {
  font-family: "Comic Sans MS",cursive,sans-serif;
}

.box {
  border: 2px solid #369;
  padding: 5px;
}

div.no-borders {
  border: 0 !important;
}

.no-wrap {
  white-space: nowrap;
}

.no-wrap-math {
  white-space: nowrap;
  display: inline-block;
}

.title {
  font-weight: var(--sans-serif-semi-bold);
}

.centered {
  text-align: center;
}

.right-aligned {
  text-align: right;
}

.left-aligned {
  text-align: left;
}

.centered-area {
  text-align: center;
  width: 100%;
}

.right-aligned-area {
  text-align: right;
  width: 100%;
}

.left-aligned-area {
  text-align: left;
  width: 100%;
}

.centered-block {
  margin-left: auto;
  margin-right: auto;
}

.right-aligned-block {
  margin-left: auto;
}

.left-aligned-block {
  margin-right: auto;
}

.right-aligned-float {
  float: right;
  margin-left: 8px;
}

.left-aligned-float {
  float: left;
  margin-right: 8px;
}

.clear-floats {
  clear: both;
}

.relative-position-block {
  position: relative;
}

.image-left-padding {
  padding-left: 8px;
}

.image-right-padding {
  padding-right: 8px;
}

.vertical-aligned-top {
  vertical-align: top !important;
}

.vertical-aligned-middle {
  vertical-align: middle !important;
}

.vertical-aligned-bottom {
  vertical-align: bottom !important;
}

.line-height-tall {
  line-height: 2em;
  vertical-align: middle;
}

.underlined {
  text-decoration: underline;
}

.sup {
  vertical-align: super;
  font-size: 80%;
}

.sub {
  vertical-align: sub;
  font-size: 80%;
}

.superscript {
  position: relative;
  top: -0.4em;
  font-size: math_superscript_font_size;
  padding-left: 2px;
}

.term {
  font-weight: var(--sans-serif-semi-bold);
  font-style: italic;
}

p.font-extra-large,
td.font-extra-large,
th.font-extra-large,
span.font-extra-large,
input.font-extra-large,
select.font-extra-large {
  font-size: 120%;
}

p.font-large,
td.font-large,
th.font-large,
span.font-large,
input.font-large,
select.font-large {
  font-size: 110%;
}

p.font-normal,
td.font-normal,
th.font-normal,
span.font-normal,
input.font-normal,
select.font-normal {
  font-size: 100%;
}

p.font-small,
td.font-small,
th.font-small,
span.font-small,
input.font-small,
select.font-small {
  font-size: 90%;
}

p.font-extra-small,
td.font-extra-small,
th.font-extra-small,
span.font-extra-small,
input.font-extra-small,
select.font-extra-small {
  font-size: 80%;
}

.rotate-text-90 {
  position: absolute;
  transform: rotate(90deg);
}

.rotate-text-270 {
  position: absolute;
  transform: rotate(-90deg);
}

/* stylelint-disable selector-id-pattern */
#pencil_text {
    color: #5d5d5d; /* MS 12/09/2024 Changing from default black as per DZs email */
    position: relative;
    top: -4px;
    font-weight: 400;
    padding-right: 4px;
}
/* stylelint-enable selector-id-pattern */

ul.ia-bullet-list {
  padding: 0;
  margin: 8px 0 8px 4px;
}

ul.ia-bullet-list li.ia-bullet-item-enabled {
  color: black;
  padding-left: 26px;
  position: relative;
}

ul.ia-bullet-list li:hover {
  background-color: transparent;
}

ul.ia-bullet-list li.ia-bullet-item-enabled::before {
  content: "\2022  ";
  font-size: 1.4em;
  color: #368dc1;
  position: absolute;
  top: -3px;
  left: 0;
}

/******************************************************
 * AFI ONLINE
 ******************************************************/

.afi-box {
  position: relative;
  margin-bottom: 4px;
  border-top: 1px solid #b1b4b0;
}

.afi-box p {
  padding-left: 8px;
}

.afi-bar {
  text-align: left;
  padding: 3px 8px;
  line-height: 1.6em;
  margin-top: 4px;
  font-size: 1.3em;
  font-weight: normal;
  color: var(--color-afi-orange-header);
}

.block-header {
  display: none;
}

.subhead {
  color: var(--color-sub-subhead);
  font-size: 1.15em;
  padding: 3px 8px;
  font-weight: normal;
}

td .afi-bar {
  text-align: left;
  line-height:1.6em;
  margin-top: -1px;
  margin-left: -1px;
  margin-right: -1px;
}

.clock {
  position: absolute;
  right: 8px;
  top: 2px;
  vertical-align: middle;
  font-size: 1.15em;
}

.two-cols {
  width: 100%;
  margin-bottom: 8px;
  border-collapse: separate;
  border-spacing: 0;
}

.two-cols p {
  padding-left: 8px;
}

.col-one {
  vertical-align: middle;
  width:50%;
}

.col-two {
  vertical-align: middle;
}

.spacer {
  border: 0;
  width: 8px;
}

.sas {
  color: var(--color-afi-orange-header);
}

/* no top margin on first paragraph; see #31884 */

/*
#content-container > h1,
#content-container > h2,
#content-container > h3,
#content-container > h4,
#content-container > h5,
#content-container > h6,
#content-container > p {
  margin-block-start: 0;
}
*/

/* MS 12/09/2024 commented the above as it was not working properly */

/* Adaptive lineup */
.adaptive-lineup {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto;
  place-items: center center;
}

.adaptive-lineup .left {
  grid-column: 1;
  padding-right: 8px;
}

.adaptive-lineup .right {
    grid-column: 2;
    padding-left: 8px;
}

.adaptive-lineup-no-stack {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto;
  place-items: center center;
}

.adaptive-lineup-no-stack .left {
  grid-column: 1;
  padding-right: 8px;
}

.adaptive-lineup-no-stack .right {
  grid-column: 2;
  padding-left: 8px;
}

/* Extra small devices (phones, 600px and down) */
@media screen and (width <= 600px) {
  .adaptive-lineup {
    grid-template-rows: auto auto;
    grid-template-columns: auto;
  }

  .adaptive-lineup .first {
    grid-row: 1;
    grid-column: 1;
    padding: 0;
  }

  .adaptive-lineup .second {
    grid-row: 2;
    grid-column: 1;
    padding: 0;
  }
}

/* adaptive images */
/* stylelint-disable selector-class-pattern */
.eye_candy,
.responsive_image {
  width: 100% !important;
  height: auto !important;
  max-width: 700px;
}
/* stylelint-enable selector-class-pattern */

/* Extra small devices (phones, 600px and down) */
@media screen and (width <= 600px) {
  /* stylelint-disable selector-class-pattern */
  .secondary_50 {
    width: 50% !important;
    height: auto !important;
  }

  .secondary_60 {
    width: 60% !important;
    height: auto !important;
  }

  .secondary_70 {
    width: 70% !important;
    height: auto !important;
  }

  .secondary_80 {
    width: 80% !important;
    height: auto !important;
  }

  .secondary_90 {
    width: 90% !important;
    height: auto !important;
  }

  .secondary_100 {
    width: 100% !important;
    height: auto !important;
  }

  .eye_candy {
    display: none !important;
  }
  /* stylelint-enable selector-class-pattern */
}

/* adaptive-floated */
.adaptive-floated {
    display: initial;
}

.adaptive-floated::after {
  content: "";
  clear: both;
}

/* stylelint-disable selector-class-pattern */
.floatL {
 float: left;
  margin:-1px 0 0 -1px;
  border: 1px solid #bbb;
  box-sizing: border-box;
}

.floatR {
  float: right;
  margin: -1px 0 0 -1px;
  border: 1px solid #bbb;
  box-sizing: border-box;
}
/* stylelint-enable selector-class-pattern */

.adaptive-inline-centered {
  display: block;
  text-align: center;
}

/* stylelint-disable selector-class-pattern */
.inlineBslot {
  display: inline-block;
  margin: -1px -2px 0;
  border: 1px solid #bbb;
  box-sizing: border-box;
}
/* stylelint-enable selector-class-pattern */

/* fixed-lineup.thirds quarters and fifths allows for more fine control of how tables adapt on mobile phones.
   if it's thirds it will be 2 up top 1 below
   if it is quarters then its two by two,
   if it is fifths, it's 2 up top 2 in middle and 1 below
   twoLine is actually 2 across
   threeLine is actually 3 across  */

/* twoLine is actually 2 across but only useful for using with threeLine */
.fixed-lineup.thirds {
  display:grid;
  place-items: center center;
  grid-template-rows:auto auto;
  grid-template-columns:auto auto;
}

.fixed-lineup .thirds {
  padding: 4px;
  margin:-1px 0 0 -1px;
  border: 1px solid #bbb;
  box-sizing: border-box;
}

.fixed-lineup .thirds:last-of-type {
  grid-column: 1/3;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (width <= 600px) {
  .fixed-lineup.thirds{
    grid-template-rows:auto auto;
    grid-template-columns:auto auto;
  }

  .fixed-lineup .thirds:last-of-type {
    grid-column: 1/3;
  }
}

.fixed-lineup.quarters{
  display: grid;
  place-items:center center;
  grid-template-rows:auto auto;
  grid-template-columns:auto auto;
}

.fixed-lineup .quarters{
  padding: 3px;
  margin:-1px 0 0 -1px;
  border: 1px solid #bbb;
  box-sizing: border-box;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (width <= 600px) {
  .fixed-lineup.quarters{
    grid-template-rows:auto auto;
    grid-template-columns:auto auto;
  }
}

.fixed-lineup.fifths {
  display: grid;
  place-items: center center;
  grid-template-rows:auto auto;
  grid-template-columns:auto auto;
  grid-column: auto auto;
}

.fixed-lineup .fifths {
  padding: 3px;
  margin:-1px 0 0 -1px;
  border: 1px solid #bbb;
  box-sizing: border-box;
}

.fixed-lineup .fifths:last-of-type {
  grid-column: 1/3;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (width <= 600px) {
  .fixed-lineup.fifths {
    grid-template-rows:auto auto;
    grid-template-columns:auto auto;
    grid-column: auto auto;
  }

  .fixed-lineup .fifths:last-of-type {
    grid-column: 1/3;
  }
}

/* stylelint-disable selector-class-pattern */
.fixed-lineup.threeLine {
  display: grid;
  place-items:center center;
  grid-template-rows:auto;
  grid-template-columns: auto auto auto;
  grid-column: auto auto auto;
}

.fixed-lineup .threeLine {
  padding: 3px;
  margin:-1px 0 0 -1px;
  border: 1px solid #bbb;
  box-sizing: border-box;
}

.fixed-lineup .threeLine:last-of-type {
  grid-column: auto auto auto;
}

.fixed-lineup.twoLine{
  display: grid;
  place-items: center center;
  grid-template-rows: auto;
  grid-template-columns: auto auto;
}

.fixed-lineup .twoLine {
  padding: 3px;
  margin:-1px 0 0 -1px;
  border: 1px solid #bbb;
  box-sizing: border-box;
}

/* stylelint-enable selector-class-pattern */

.noborder {
  border: none!important;
  margin: 0!important;
  box-shadow: none;
}

.bordered {
  margin: -1px 0 0 -1px;
  border: 1px solid #bbb;
  box-sizing: border-box;
}

.sub-subhead {
  color: var(--color-sub-subhead);
}

/**************************  */

/* Adaptive lineup classes   */

/**************************  */

.lineup td.first img {
  margin: 0 8px 0 0;
}

/**** Vertical alignment tweaks */

.production-container-v-center {
  align-items: center;
}

.production-container-v-stretch {
  align-items: stretch;
}

.production-container-v-top {
  align-items: start;
}

.production-container-v-bottom {
  align-items: end;
}

/* Individual grid items */
.production-cell-v-center {
  align-self: center;
}

.production-cell-v-stretch {
  align-self: stretch;
}

.production-cell-v-top {
  align-self: start;
}

.production-cell-v-bottom {
  align-self: end;
}

/**** Horizontal alignment tweaks */
.production-col2-container.production-container-h-left {
  grid-template-columns: auto 1fr;
}

.production-col2-container.production-container-h-right {
  grid-template-columns: 1fr auto;
}

.production-col2-container.production-container-h-left.production-container-h-right {
  grid-template-columns: 1fr 1fr;
}

.production-col3-container.production-container-h-left {
  grid-template-columns: auto 1fr 1fr;
}

.production-col3-container.production-container-h-middle {
  grid-template-columns: 1fr auto 1fr;
}

.production-col3-container.production-container-h-right {
  grid-template-columns: 1fr 1fr auto;
}

.production-col3-container.production-container-h-left.production-container-h-middle {
  grid-template-columns: auto auto 1fr;
}

.production-col3-container.production-container-h-middle.production-container-h-right {
  grid-template-columns: 1fr auto auto;
}

.production-col3-container.production-container-h-left.production-container-h-right {
  grid-template-columns: auto 1fr auto;
}

.production-col3-container.production-container-h-left.production-container-h-middle.production-container-h-right {
  grid-template-columns: 1fr 1fr 1fr;
}

/**** responsive adjustments */

/* Extra small devices (phones, 600px and down) */
@media screen and (width <= 600px) {
  @media only screen and (orientation: portrait) {
    .production-col2-container {
      grid-template-columns: auto !important;
    }

    .production-col3-container {
      grid-template-columns: auto !important;
    }

    .production-col2-item.production-first {
      grid-row: 1;
      grid-column: 1;
    }

    .production-col2-item.production-second {
      grid-row: 2;
      grid-column: 1;
    }

  }


  @media only screen and (orientation: landscape) {
    .production-col2-container,
    .production-col2-container.production-col-fallback-single {
      grid-template-columns: auto !important;
    }

    .production-col2-container.production-col-fallback-double {
      grid-template-columns: auto auto !important;
    }

    .production-col2-container.production-col-fallback-double.production-container-h-left {
      grid-template-columns: auto 1fr !important;
    }

    .production-col2-container.production-col-fallback-double.production-container-h-right {
      grid-template-columns: 1fr auto !important;
    }

    .production-col2-container.production-col-fallback-double.production-container-h-left.production-container-h-right {
      grid-template-columns: 1fr 1fr !important;
    }


    .production-col3-container,
    .production-col3-container.production-col-fallback-single {
      grid-template-columns: auto !important;
    }

    .production-col3-container.production-col-fallback-double {
      grid-template-columns: auto auto !important;
    }

    .production-col3-container.production-col-fallback-double.production-container-h-left {
      grid-template-columns: auto 1fr !important;
    }

    .production-col3-container.production-col-fallback-double.production-container-h-right {
      grid-template-columns: 1fr auto !important;
    }

    .production-col3-container.production-col-fallback-double.production-container-h-left.production-container-h-right {
      grid-template-columns: 1fr 1fr !important;
    }

    .production-col3-container.production-col-fallback-triple {
      grid-template-columns: auto auto auto !important;
    }

    .production-col3-container.production-col-fallback-triple.production-container-h-left {
      grid-template-columns: auto 1fr 1fr !important;
    }

    .production-col3-container.production-col-fallback-triple.production-container-h-middle {
      grid-template-columns: 1fr auto 1fr !important;
    }

    .production-col3-container.production-col-fallback-triple.production-container-h-right {
      grid-template-columns: 1fr 1fr auto !important;
    }

    .production-col3-container.production-col-fallback-triple.production-container-h-left.production-container-h-middle {
      grid-template-columns: auto auto 1fr !important;
    }

    .production-col3-container.production-col-fallback-triple.production-container-h-middle.production-container-h-right {
      grid-template-columns: 1fr auto auto !important;
    }

    .production-col3-container.production-col-fallback-triple.production-container-h-left.production-container-h-right {
      grid-template-columns: auto 1fr auto !important;
    }

    .production-col3-container.production-col-fallback-triple.production-container-h-left.production-container-h-middle.production-container-h-right {
      grid-template-columns: 1fr 1fr 1fr !important;
    }

    .production-col2-item.production-first {
      grid-row: 1;
      grid-column: 1;
    }

    .production-col2-item.production-second {
      grid-row: 2;
      grid-column: 1;
    }

    .production-col2-container.production-col-fallback-double .production-col2-item.production-first,
    .production-col2-container.production-col-fallback-double .production-col2-item.production-second {
      grid-row: auto;
      grid-column: auto;
    }

  }

}

/**** icon mode */
.production-icon,
.production-icon.production-container-v-center {
  place-items: center start !important;
  grid-gap: 0;
  width: fit-content;
  margin: 0;
  box-sizing: border-box;
}

.production-icon.production-container-v-stretch {
  align-items: stretch;
}

.production-icon.production-container-v-top {
  align-items: start;
}

.production-icon.production-container-v-bottom {
  align-items: end;
}

.production-col2-container.production-icon {
  grid-template-columns: auto auto !important;
}

.production-col2-container.production-icon.production-container-h-right {
  grid-template-columns: auto 1fr !important;
}

.production-col3-container.production-icon {
  grid-template-columns: auto auto auto !important;
}

.production-col3-container.production-icon.production-container-h-middle {
  grid-template-columns: auto auto 1fr !important;
}

.production-col3-container.production-icon.production-container-h-right {
  grid-template-columns: auto 1fr auto !important;
}

.production-col3-container.production-icon.production-container-h-middle.production-container-h-right {
  grid-template-columns: auto 1fr 1fr !important;
}

/* Extra small devices (phones, 600px and down) */
@media screen and (width <= 600px) {
  @media only screen and (orientation: portrait) {
    .production-col2-container.production-icon,
    .production-col3-container.production-icon {
      grid-template-columns: auto 1fr !important;
    }

    .production-col2-container.production-icon.production-container-h-right,
    .production-col3-container.production-icon.production-container-h-right {
      grid-template-columns: auto 1fr !important;
    }

    .production-col3-container.production-icon .production-col3-item:nth-child(3n) {
      grid-column: span 2;
    }

  }

  @media only screen and (orientation: landscape) {
    .production-col2-container.production-icon,
    .production-col2-container.production-icon.production-col-fallback-single,
    .production-col3-container.production-icon.production-col-fallback-single,
    .production-col3-container.production-icon.production-col-fallback-double {
      grid-template-columns: auto auto !important;
    }

    .production-col2-container.production-icon.production-container-h-right,
    .production-col2-container.production-icon.production-col-fallback-single.production-container-h-right,
    .production-col3-container.production-icon.production-col-fallback-single.production-container-h-right,
    .production-col3-container.production-icon.production-col-fallback-double.production-container-h-right {
      grid-template-columns: auto 1fr !important;
    }

    .production-col3-container.production-icon.production-col-fallback-single .production-col3-item:nth-child(3n),
    .production-col3-container.production-icon.production-col-fallback-double .production-col3-item:nth-child(3n) {
      grid-column: span 2;
    }

  }

}

.production-icon > div {
  padding: 4px;
  justify-self: start;
}

.content-icon {
    display: inline-flex;
}

.content-icon svg {
    flex-grow: 1;
}

 .no-gap {
  column-gap: 0;
}

/* MS MODS 12/09/2024 */

/* Removed the automatic sticky css, will be converted to a class which we can apply where needed */

/* Commented line 1206 - no top margin on first paragraph; see #31884 */

/* || First paragraph top padding */

/* This should be better, but not fully correct as it doesn't handle properly for p as the child of the SECOND col2-item */

/* .icon-header + p is taken care of in line xxx */

/* stylelint-disable selector-class-pattern */
.prod_section-topper {
    height: 1px; 
    background-color: #b1b4b0; /* from Colin #CBCED6; */
    position: absolute; 
    top:36px; 
    left: 0; 
    width: calc(100% - 27px); 
    border: none; 
    z-index: 1000;
}
/* stylelint-enable selector-class-pattern */

/* stylelint-disable selector-class-pattern */
 .prod_section-topper + p {
    margin-block-start: 0;
 }
/* stylelint-enable selector-class-pattern */

.theorem-box {
    background-color: #edf3f8; 
    text-align: left;
    padding: 12px 6px 12px 14px;
    margin-bottom: 1em;
    border-radius: 5px; 
    border: 1px solid #c9dce9;  
}

.theorem-box p {
    margin: -1px;
}

 .stem p:first-child {
     margin-block-start: 0;
 }
 
/* Need to target where p is not the child of the first col2-item, 
and restore it back to 1em; as is now it applies to the child p of the second 
col2-item as well (eg 07_17 L7 assessment page 1 */

 .stem .second p {
     margin-block-start: 1em!important;
 }

/* MS 12/09/2024 || New classes callout-box and prod_section-topper */

.callout-box {
    background: #f2f0f0 0% 0% no-repeat;
    border-radius: 12px;
    padding: 0.5em 1em;
    margin-top:0.5em;
}
    
/* Adding the following two if somehow screenreader-only gets broken, to show the long desc in a nice way */

figure {
    display: table;
    margin: 0;
    width:100%; /* Needed to center the image */
}

figure .image-header {
    text-align: center;
    font-size: var(--sans-serif-font-size);
    font-weight: var(--sans-serif-bold);
    line-height: 1.5em;
    margin-bottom: .3em;
    margin-top: .3em;
  }
  
figcaption {
    display: table-cell;
    caption-side: bottom;
    text-align:center;
    font-weight:normal;
    font-size: var(--sans-serif-font-size-content);
}

.screenreader-only {
    position: absolute;
    left: -9999px;
    top: auto;
    height: 1px;
    width: 1px;
    overflow: hidden;
}  

figcaption > details {
    width:100%;
    text-align: left;
    border: 1px solid #f2f0f0;
    border-radius: 0.5em;
    background-color: #f6f0f0;
    padding:0.3em 0.3em 0.3em 0.75em;
}

figcaption > details > summary {
    text-align: center;
}

.table-scheme6 th > tr > td.table-heading {
    border-right: 2px solid black;
    border-bottom: 1px solid var(--color-new-gray-table-border, #bfbfbf); 
    background-color: var(--color-new-gray-header-background, #f2f0f0);
}

.table-scheme6 > tbody td.table-heading:first-child {
    border-right: 2px solid black;
    border-bottom: 1px solid var(--color-new-gray-table-border, #bfbfbf);  
    background-color: var(--color-new-gray-header-background, #f2f0f0);

}

table.horizontal {
  border-top: 1px solid var(--color-new-gray-table-border, #bfbfbf) !important;
  border-left: hidden !important;
  border-right: hidden !important;
}

.accessible .afi-bar {
  text-align: left;
  padding: 3px 8px;
  line-height: 1.6em;
  margin-top: 4px;
  font-size: 1.3em;
  font-weight: normal;
  color: #DB3614; 
}
 
.accessible .sas {
    color: #DB3614; 
}

.accessible .subhead {
  color: #0C75DF;
  font-size: 1.15em;
  font-weight: normal;
  padding: 3px 8px;
}

}
