.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-9695 .elementor-element.elementor-element-8702b1f{color:#000000;}.elementor-9695 .elementor-element.elementor-element-8702b1f .elementor-drop-cap{margin-inline-end:9px;}.elementor-9695 .elementor-element.elementor-element-8702b1f .elementor-drop-cap-letter{font-size:50px;}.elementor-9695 .elementor-element.elementor-element-09efdf8{width:var( --container-widget-width, 106.923% );max-width:106.923%;--container-widget-width:106.923%;--container-widget-flex-grow:0;}@media(min-width:768px){.elementor-9695 .elementor-element.elementor-element-bda2664{width:67.253%;}.elementor-9695 .elementor-element.elementor-element-8f88446{width:32.747%;}}/* Start custom CSS for html, class: .elementor-element-cfc6322 *//* .duo-hyperlink-text {
  text-decoration-line: none;
}

*/

.quicklinks-style {
    font-family: var( --e-global-typography-accent-font-family ), Sans-serif;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    .quicklinks-style {
        font-size: 0.8em
        line-height:em;
    }
    .quicklinks-icon {
        margin-left:-0.4em;
        margin-right:0.4em;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .quicklinks-style {
        font-size:0.7em;
        padding:0em !important;
    }
    .quicklinks-icon {
        margin-left:-0.8em;
        margin-right: 0.4em;
    }
}

@media only screen and (min-width: 1080px) {
    .quicklinks-style {
        font-size: 1rem
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a3fe395 */.ai-guidance-document {
        max-width: 1100px;
        margin: 0 auto;
        padding: 36px 40px;
        background: #ffffff;
        color: #111111;
        border: 1px solid #dddddd;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
        font-family: Arial, Helvetica, sans-serif;
        box-sizing: border-box;
    }

    .ai-guidance-document h2 {
        margin: 0 0 18px;
        font-size: 32px;
        line-height: 1.2;
        font-weight: 700;
    }

    .ai-guidance-intro {
        margin-bottom: 28px;
    }

    .ai-guidance-document p {
        margin: 0 0 16px;
        font-size: 17px;
        line-height: 1.65;
    }

    .ai-guidance-accordion {
        border-top: 1px solid #cccccc;
    }

    .ai-guidance-accordion details {
        border-bottom: 1px solid #cccccc;
        background: #ffffff;
    }

    .ai-guidance-accordion summary {
        position: relative;
        padding: 20px 52px 20px 18px;
        background: #ffcc00;
        color: #000000;
        font-size: 21px;
        line-height: 1.3;
        font-weight: 700;
        cursor: pointer;
        list-style: none;
        transition: background 0.2s ease;
    }

    .ai-guidance-accordion summary:hover {
        background: #f2c200;
    }

    .ai-guidance-accordion summary::-webkit-details-marker {
        display: none;
    }

    .ai-guidance-accordion summary::after {
        content: "+";
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        font-size: 30px;
        line-height: 1;
        font-weight: 400;
    }

    .ai-guidance-accordion details[open] summary::after {
        content: "−";
    }

    .ai-guidance-accordion-content {
        padding: 24px 22px 10px;
        background: #ffffff;
    }

    .ai-guidance-statement {
        margin: 22px 0;
        padding: 20px 22px;
        border-left: 5px solid #ffcc00;
        background: #f6f6f6;
        font-weight: 700;
    }

    .ai-guidance-resource-link {
        color: #0057b8;
        font-weight: 700;
        text-decoration: underline;
    }

    .ai-guidance-resource-link:hover {
        text-decoration: none;
    }

    @media (max-width: 700px) {
        .ai-guidance-document {
            padding: 26px 18px;
        }

        .ai-guidance-document h2 {
            font-size: 27px;
        }

        .ai-guidance-document p {
            font-size: 16px;
        }

        .ai-guidance-accordion summary {
            padding: 17px 48px 17px 15px;
            font-size: 18px;
        }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-09efdf8 */html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

.ucf-ai {
  position: relative;
  width: 110%;
  max-width: 110%;
  margin: 0;
  padding: 30px 24px 40px;
  box-sizing: border-box;
  background: #ffcc00;

  /* Extend the yellow background across the full browser width
     without making the section itself wider than the page. */
  box-shadow: 0 0 0 100vmax #ffcc00;
  clip-path: inset(0 -100vmax);

  color: #000;
  font-family: Arial, Helvetica, sans-serif;
}

.ucf-ai * {
  box-sizing: border-box;
}

.ucf-ai .wrap {
  max-width: 1200px;
  margin: 0 auto;
  transform: translateX(-80px);
}

.ucf-ai h2 {
  margin: 0 0 6px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
}

.ucf-ai .lead {
  max-width: 1100px;
  margin: 0 0 20px;
  font-size: 17px;
  line-height: 1.55;
}

/* -------------------------
   Search and filter controls
   ------------------------- */

.ucf-ai .controls {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 24px;
}

.ucf-ai label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 700;
}

.ucf-ai input,
.ucf-ai select {
  width: 100%;
  height: 44px;
  padding: 0 10px;
  border: 1px solid #aaa;
  border-radius: 4px;
  background: #fff;
  color: #444;
  font-size: 14px;
}

/* -------------------------
   Table shell
   ------------------------- */

.ucf-ai .scroll {
  width: 100%;
  overflow-x: auto;
  background: #fff;
}

.ucf-ai #aiToolsTable {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: auto;
  background: #fff;

  /* Intentionally no border around the entire table. */
  border: 0;
}

.ucf-ai #aiToolsTable col.col-product {
  width: 12%;
}

.ucf-ai #aiToolsTable col.col-vendor {
  width: 11%;
}

.ucf-ai #aiToolsTable col.col-unrestricted,
.ucf-ai #aiToolsTable col.col-restricted {
  width: 9%;
}

.ucf-ai #aiToolsTable col.col-protected {
  width: 13%;
}

.ucf-ai #aiToolsTable col.col-cui {
  width: 12%;
}

.ucf-ai #aiToolsTable col.col-hipaa {
  width: 7%;
}

.ucf-ai #aiToolsTable col.col-pci {
  width: 6%;
}

.ucf-ai #aiToolsTable col.col-status {
  width: 21%;
}

.ucf-ai #aiToolsTable thead {
  background: #050505;
  color: #fff;
}

.ucf-ai #aiToolsTable th {
  padding: 7px 8px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 700;
  text-align: left;
  vertical-align: middle;
}

.ucf-ai #aiToolsTable td {
  padding: 7px 8px;
  font-size: 14px;
  line-height: 1.25;
  vertical-align: middle;
}

.ucf-ai #aiToolsTable thead tr:first-child th {
  padding-top: 7px;
  padding-bottom: 5px;
}

.ucf-ai #aiToolsTable thead tr:nth-child(2) th {
  padding-top: 5px;
  padding-bottom: 7px;
}

.ucf-ai #aiToolsTable tbody tr:nth-child(even) {
  background: #f8f4e3;
}

.ucf-ai #aiToolsTable .c {
  min-width: 84px;
  text-align: center;
}

.ucf-ai #aiToolsTable .top-level-heading {
  vertical-align: top;
}

.ucf-ai #aiToolsTable .nowrap-column,
.ucf-ai #aiToolsTable tbody td:nth-child(1),
.ucf-ai #aiToolsTable tbody td:nth-child(2) {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

.ucf-ai #aiToolsTable .required-marker {
  margin-left: 2px;
  color: #c62828;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}

/* =========================================================
   GROUP OUTLINES

   No child-combinator .elementor-9695 .elementor-element.elementor-element-09efdf8s are used, so Elementor cannot
   convert them into invalid HTML entities.

   Every visible group line uses the same 3px thickness.
   ========================================================= */

/* Remove theme borders before drawing only the intended groups. */
.ucf-ai #aiToolsTable th,
.ucf-ai #aiToolsTable td {
  border: 0 !important;
}

/* =========================================================
   UNRESTRICTED AND RESTRICTED
   These cells normally span both header rows.
   ========================================================= */

/* Class-based rules */
.ucf-ai #aiToolsTable .standard-data-first {
  border-bottom: 3px solid #666 !important;
  border-left: 3px solid #666 !important;
}

.ucf-ai #aiToolsTable .standard-data-last {
  border-bottom: 3px solid #666 !important;
  border-left: 3px solid #666 !important;
  border-right: 3px solid #666 !important;
}

/* Positional fallback in case Elementor drops a header class */
.ucf-ai #aiToolsTable thead tr:first-child th:nth-child(3) {
  border-bottom: 3px solid #666 !important;
  border-left: 3px solid #666 !important;
}

.ucf-ai #aiToolsTable thead tr:first-child th:nth-child(4) {
  border-bottom: 3px solid #666 !important;
  border-left: 3px solid #666 !important;
  border-right: 3px solid #666 !important;
}

/* Body columns */
.ucf-ai #aiToolsTable tbody td:nth-child(3) {
  border-left: 3px solid #666 !important;
}

.ucf-ai #aiToolsTable tbody td:nth-child(4) {
  border-left: 3px solid #666 !important;
  border-right: 3px solid #666 !important;
}

.ucf-ai #aiToolsTable tbody tr:last-child td:nth-child(3),
.ucf-ai #aiToolsTable tbody tr:last-child td:nth-child(4) {
  border-bottom: 3px solid #666 !important;
}

/* =========================================================
   HIGHLY RESTRICTED
   The first header row contains the spanning heading.
   The second header row contains the four data headings.
   ========================================================= */

/* Outer top and sides around the Highly Restricted heading */
.ucf-ai #aiToolsTable .highly-restricted-heading,
.ucf-ai #aiToolsTable thead tr:first-child th:nth-child(5) {
  border-left: 3px solid #666 !important;
  border-right: 3px solid #666 !important;
}

/*
 * Keep only the outer sides of the Highly Restricted block.
 * Internal borders between Protected University Data,
 * CUI / Export Controlled, HIPAA, and PCI are removed.
 */
.ucf-ai #aiToolsTable .highly-restricted-subheading:first-child,
.ucf-ai #aiToolsTable thead tr:nth-child(2) th:first-child {
  border-left: 3px solid #666 !important;
}

/* Close the right side of the final PCI heading */
.ucf-ai #aiToolsTable .highly-restricted-last,
.ucf-ai #aiToolsTable thead tr:nth-child(2) th:last-child {
  border-right: 3px solid #666 !important;
}

/* Body columns: outer sides only */
.ucf-ai #aiToolsTable tbody td:nth-child(5) {
  border-left: 3px solid #666 !important;
}

.ucf-ai #aiToolsTable tbody td:nth-child(8) {
  border-right: 3px solid #666 !important;
}

.ucf-ai #aiToolsTable tbody tr:last-child td:nth-child(5),
.ucf-ai #aiToolsTable tbody tr:last-child td:nth-child(6),
.ucf-ai #aiToolsTable tbody tr:last-child td:nth-child(7),
.ucf-ai #aiToolsTable tbody tr:last-child td:nth-child(8) {
  border-bottom: 3px solid #666 !important;
}

/* -------------------------
   Status circles
   ------------------------- */

.ucf-ai .dot {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 0;
  vertical-align: middle;
}

.ucf-ai .dot.y {
  background: #198754;
}

.ucf-ai .dot.y::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 13px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
  transform: translate(-52%, -60%) rotate(45deg);
}

.ucf-ai .dot.n {
  background-color: #c62828;
  background-image:
    linear-gradient(
      45deg,
      transparent 43%,
      #fff 43%,
      #fff 57%,
      transparent 57%
    ),
    linear-gradient(
      -45deg,
      transparent 43%,
      #fff 43%,
      #fff 57%,
      transparent 57%
    );
  background-size: 13px 12px;
  background-position: center;
  background-repeat: no-repeat;
}

.ucf-ai .dot.w {
  background: #f4d35e;
}

.ucf-ai .dot.w::after {
  content: "!";
  color: #6b5200;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
}

/* -------------------------
   Sortable headings
   ------------------------- */

.ucf-ai th.sortable {
  cursor: pointer;
  white-space: nowrap;
}

.ucf-ai th.sortable::after {
  content: "\2195";
  display: inline-block;
  margin-left: 6px;
  font-size: 13px;
  opacity: 0.45;
}

.ucf-ai th.sortable.is-sorted::after {
  opacity: 1;
}

.ucf-ai th.sortable.is-sorted[data-order="asc"]::after {
  content: "\25B2";
}

.ucf-ai th.sortable.is-sorted[data-order="desc"]::after {
  content: "\25BC";
}

.ucf-ai .no-results {
  display: none;
  padding: 25px;
  background: #fff;
  text-align: center;
  font-weight: 700;
}

/* -------------------------
   Notes
   ------------------------- */

.ucf-ai .note-row {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  column-gap: 8px;
  align-items: start;
  margin-top: 20px;
  font-style: italic;
}

.ucf-ai .note-symbol {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  line-height: 1;
}

.ucf-ai .note-text {
  margin: 0;
  padding: 2px 0 0;
  font-style: italic;
}

.ucf-ai .note-icon {
  display: inline-grid;
  place-items: center;
  position: static;
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  vertical-align: top;
  transform: none;
}

.ucf-ai .note-icon-triangle {
  width: 20px;
  height: 18px;
  margin-top: 2px;
  background: #c62828;
  color: #fff;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.ucf-ai .note-icon-triangle::after {
  content: "!";
  position: relative;
  top: 2px;
  font-size: 13px;
  font-style: normal;
  line-height: 1;
}

.ucf-ai .note-icon-circle {
  border-radius: 50%;
  background: #f4d35e;
  color: #6b5200;
  font-size: 16px;
}

.ucf-ai .note-icon-circle::after {
  content: "!";
}

.ucf-ai .note-asterisk {
  color: #c62828;
  font-size: 28px;
  font-weight: 900;
  font-style: normal;
  line-height: 24px;
}

.ucf-ai .warning-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.ucf-ai .warning-note .dot.w {
  flex: 0 0 auto;
  margin-top: 1px;
}

.ucf-ai .warning-text-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: static !important;
  top: auto !important;
  width: 24px;
  height: 24px;
  margin-right: 7px;
  border-radius: 50%;
  background: #f4d35e;
  color: #6b5200;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 900;
  font-style: normal;
  line-height: 1;
  vertical-align: middle;
  transform: none !important;
}

.ucf-ai .warning-text-icon::before {
  content: "!";
}

/* Drawn red warning triangle. */
.ucf-ai .anthropic-warning {
  position: relative;
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 6px;
  border-right: 9px solid transparent;
  border-bottom: 16px solid #c62828;
  border-left: 9px solid transparent;
  vertical-align: -2px;
}

.ucf-ai .anthropic-warning::before,
.ucf-ai .anthropic-warning::after {
  content: "";
  position: absolute;
  left: 50%;
  background: #fff;
  transform: translateX(-50%);
}

.ucf-ai .anthropic-warning::before {
  top: 5px;
  width: 3px;
  height: 6px;
  border-radius: 1.5px;
}

.ucf-ai .anthropic-warning::after {
  top: 12px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
}

/* -------------------------
   Responsive layout
   ------------------------- */


@media (max-width: 1200px) {
  .ucf-ai {
    padding-right: 24px;
    padding-left: 24px;
  }

  .ucf-ai .wrap {
    transform: none;
  }
}

@media (max-width: 768px) {
  .ucf-ai {
    padding-right: 18px;
    padding-left: 18px;
  }

  .ucf-ai .controls {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */