/* legal.css - Privacy, Security, HIPAA pages */

/* Reduce sub_banner height for legal pages (no background image) */
.legal_banner .sub_banner .visual_box { height:0 !important; min-height:0 !important; max-height:0 !important; overflow:visible !important; }
.legal_banner .sub_banner .visual_box:before { display:none; }
.legal_banner .sub_banner .title h2 { margin:0; }

/* Page intro below banner title */
.legal_intro { padding:0 8% 1rem; font-size:1.0625rem; color:rgba(255,255,255,.6); line-height:1.8; word-break:keep-all; max-width:64rem; }
@media screen and (min-width:1440px) {
  .legal_intro { padding:0 5rem 1rem; max-width:97.5rem; }
}

.legal_page { padding:0 0 6rem; }
.legal_page .inner_wrap { max-width:none; width:84%; margin:0 auto; padding:0 !important; }
@media (min-width:600px) {
  .legal_page .inner_wrap { width:calc(100% - 5rem); }
}
@media (min-width:768px) {
  .legal_page .inner_wrap { width:calc(100% - 6.25rem); }
}
@media (min-width:1025px) {
  .legal_page .inner_wrap { width:100%; max-width:97.5rem; padding:0 5rem !important; }
}

/* Effective date */
.legal_page .effective_date { margin:0 0 1.125rem; font-size:1rem; color:rgba(255,255,255,.75); line-height:1.85; letter-spacing:.01em; }

/* Section */
.legal_page .legal_section { margin:0 0 3rem; }
.legal_page .legal_section h2 { margin:0 0 1.25rem; padding-bottom:.75rem; border-bottom:.0625rem solid rgba(255,255,255,.1); font-size:1.375rem; font-weight:700; color:#fff; line-height:1.5; letter-spacing:-.01em; }
.legal_page .legal_section h3 { margin:2rem 0 1rem; font-size:1.125rem; font-weight:600; color:rgba(255,255,255,.95); line-height:1.5; }
.legal_page .legal_section h4 { margin:1.5rem 0 .75rem; font-size:1rem; font-weight:600; color:rgba(255,255,255,.9); line-height:1.5; }

/* Text */
.legal_page .legal_section p { margin:0 0 1.125rem; font-size:1rem; color:rgba(255,255,255,.75); line-height:1.85; word-break:keep-all; letter-spacing:.01em; }
.legal_page .legal_section strong { color:rgba(255,255,255,.95); font-weight:600; }

/* Lists */
.legal_page .legal_section ul,
.legal_page .legal_section ol { margin:.5rem 0 1.25rem; padding-left:1.5rem; }
.legal_page .legal_section li { margin:0 0 .75rem; font-size:1rem; color:rgba(255,255,255,.75); line-height:1.85; word-break:keep-all; letter-spacing:.01em; }
.legal_page .legal_section ul li { list-style:disc; }
.legal_page .legal_section ol li { list-style:decimal; }
.legal_page .legal_section ul ul { margin:.5rem 0 .5rem; }
.legal_page .legal_section ul ul li { list-style:circle; font-size:.9375rem; }

/* Table — override common.css global reset (th,td { display:inline-block }) */
.legal_page .legal_table { width:100%; margin:1.25rem 0 1.75rem; border-collapse:collapse; table-layout:fixed; }
.legal_page .legal_table thead { display:table-header-group; }
.legal_page .legal_table tbody { display:table-row-group; }
.legal_page .legal_table tr { display:table-row; }
.legal_page .legal_table th,
.legal_page .legal_table td { display:table-cell; padding:1.25rem 1.5rem; font-size:1rem; color:rgba(255,255,255,.75); line-height:1.8; border:.0625rem solid rgba(255,255,255,.12); text-align:left; word-break:break-word; vertical-align:top; }
.legal_page .legal_table th { background:rgba(255,255,255,.06); color:rgba(255,255,255,.95); font-weight:600; }
.legal_page .legal_table td:first-child { font-weight:600; color:rgba(255,255,255,.9); }

/* Divider */
.legal_page .legal_divider { margin:3.5rem 0; border:0; border-top:.0625rem solid rgba(255,255,255,.12); }

/* Contact block */
.legal_page .contact_block { margin:1.25rem 0; padding:1.5rem 1.75rem; border-radius:.5rem; background:rgba(255,255,255,.04); border:.0625rem solid rgba(255,255,255,.08); }
.legal_page .contact_block p { margin:0 0 .5rem; font-size:.9375rem; line-height:1.7; }
.legal_page .contact_block p:last-child { margin:0; }

/* Links inside legal pages */
.legal_page a { color:#7a7eff; text-decoration:none; }
.legal_page a:hover { color:#9d9fff; }

/* Responsive */
@media screen and (max-width:768px) {
  .legal_page { padding:0 0 4rem; }
  .legal_intro { font-size:.9375rem; }
  .legal_page .legal_section h2 { font-size:1.1875rem; }
  .legal_page .legal_section h3 { font-size:1.0625rem; }
  .legal_page .legal_section p,
  .legal_page .legal_section li { font-size:.9375rem; line-height:1.8; }
  .legal_page .legal_table th,
  .legal_page .legal_table td { padding:.625rem .75rem; font-size:.875rem; }
}
