/*Global color : #AB3415, #832710, #333333*/
#generate-section .elementor-widget-container {
    overflow: auto;
}
.covert-btn-container {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    z-index: 99;
    background: white;
}
.yf-mj92za thead th:nth-child(4),
.yf-mj92za thead th:nth-child(5),
.yf-mj92za tbody td:nth-child(4),
.yf-mj92za tbody td:nth-child(5) {
    display: none;
}

.spacer {
    width: 100%;
    margin: 0;
    /*height: 15px;*/
    height: 25px;
}
.pd-top {
    padding-top: 15px;
}
.uppercase {
    text-transform: uppercase;
}
.generate-warning {
    font-size: 20px;
    text-align: center;
    margin: auto;
}
.generate-warning a {
    color: #AB3415;
    font-size: 20px;
}

/*Yahoo Finance Earning Chart*/
/* General Card Styling */
.card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 16px;
    max-width: 600px;
    margin: auto;
    position: relative;
}
.card .card-link{
    display: none;
}

/* Header Styling */
.card header {
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 8px;
    margin-bottom: 12px;
}

.card h3 {
    font-size: 15px;
    font-weight: bold;
    color: #333;
}

/* Overview (Revenue & Earnings Labels) */
.overview {
    display: flex;
    justify-content: space-around;
    margin-bottom: 16px;
}
.overview *, .overview span {
    font-size: 14px;
}
.item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.color {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.revenue {
    background-color: #AB3415; /* Green for revenue */
}

.earnings {
    background-color: #333333; /* Blue for earnings */
}

.label {
    font-weight: bold;
    color: #555;
}

.price {
    font-size: 16px;
    font-weight: bold;
    color: #222;
}

/* Chart Container */
section.card.yf-ispmdb {
}
.chart {
    position: relative;
    width: 100%;
    height: 160px;
}

/* SVG Container */
.chart svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Axis Labels */
.x-axis .text, .y-axis .text {
    font-size: 12px;
    color: #666;
}

.y-axis {
    position: absolute;
    width: 100%;
    bottom: 0;
    top: 0;
}
.y-axis .tick {
    position: absolute;
    width: 100%;
}

/* Grid Lines */
.gridline {
    stroke: #ccc;
    stroke-dasharray: 3,3;
}

/* Bars in the Chart */
.rect-one {
    fill: #AB3415; /* Green */
    opacity: 0.8;
}

.rect-two {
    fill: #333333; /* Blue */
    opacity: 0.8;
}

/* Hover Effect */
.rect-one:hover, .rect-two:hover {
    opacity: 1;
    cursor: pointer;
    transition: opacity 0.3s;
}

/* X-Axis Labels (Quarter Labels) */
.x-axis {
    position: absolute;
    /*bottom: -20px;*/ /* Adjusts labels to appear below */
    top: calc(100% + 5px);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-evenly;
    width: 100%;
}
.x-axis .tick {
    position: absolute;
}

.x-axis .text {
    font-size: 12px;
    color: #666;
    text-align: center;
    flex: 1;
    margin-left: -20%;
}

.layercake-container {
    height: 100%;
}
.layercake-layout-html {
    position: absolute;
}
.axis.y-axis .tick .gridline {
    border-top: 1px dashed grey !important;
}
.axis.y-axis .tick .text {
    background-color: white;
    margin-left: -30px;
    display: block;
    padding-right: 5px;
}



/* PDF Template CSS */
* {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
    padding: 0;
    margin: 0;
}
body { 
  margin: 0; 
  padding: 0; 
  background: #f8f8f8;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 1.3em;
  font-weight: 500;
}
.btn-container {
  display: flex;
  justify-content: center;
  text-align: center;
  background: white;
}
.wrapper { 
  display: flex; 
  justify-content: center;
  background: #e6e6e6;
  min-width: 824px;
  width: 100%;
  padding: 15px;
}
#pdf-content {
  padding: 0;
  width: 794px;
}
.new-page { 
  width: 794px; 
  min-height: 1123px;
  height: 1123px; 
  background: white; 
  padding: 0px; margin-bottom: 10px; 
  position: relative; 
  transform: scale(2);
  transform-origin: top left;
}
header { 
  /*background: lightblue; */
  display: flex;
  padding: 15px; 
  text-align: center; 
  justify-content: space-between;
  font-size: 16px; 
  font-weight: bold;
  align-items: center;
  padding: 12px 20px 8px 40px; 
}
.pdf-logo img {
  height: 50px;
}
header .pdf-header-info {
  width: 60%;
  text-align: right;
  font-size: 13px;
  display: block;
}
header .pdf-header-text {
  text-align: right;
  font-size: 13px;
  display: block;
}
/*header .pdf-header-date {
  text-align: right;
  font-size: 10px;
  display: inline-block;
  font-weight: 500;
  color: grey;
}*/
aside.pdf-aside {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background: #AB3415;
  padding: 30px 3px;
  z-index: 2;
}
aside span {
  display: block;
  margin: 0;
  padding: 0;
  color: white;
  font-size: 13px;
  font-weight: 600;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  letter-spacing: 0.15em;
}
aside span.pdf-site-address {
  font-size: 12px;
  font-weight: 500;
}
aside span.pdf-symbol {
  font-size: 13px;
  font-weight: 600;
}
aside span.pdf-aside-version {
  height: 180px;
}
footer { 
  position: absolute; 
  bottom: 0; 
  background: #333333; 
  padding: 0; 
  text-align: center; 
  width: 100%; 
}
footer .pdf-footer-date {
  font-size: 10px;
  font-size: 600;
  color: white;
  letter-spacing: 0.25em;
}
main { 
  padding: 10px 20px 10px 40px;
}
section { 
  padding: 0 0 10px 0;
  border: 1px solid transparent;
  box-sizing: border-box;
}
p {
  margin-top: 0;
  margin-bottom: 8px;
}

button { 
  padding: 10px 20px; 
  font-size: 16px; 
  background: #AB3415; 
  color: white; 
  border: none; 
  cursor: pointer; 
  z-index: 3;
}


.cover-container {
  background: radial-gradient(circle, #AB3415, #832710);
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  flex-direction: column;
  align-item: stretch;
  align-content: stretch;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 50px;
  overflow: hidden;
}
.cover-mid {
  margin-top: -15%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  z-index: 2;
}
.cover-mid img {
  height: 80px;
}
.cover-ticker {
  font-size: 56px;
  color: white;
  font-weight: 500;
}
.cover-date {
  background: white;
  color: black;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  min-width: 250px;
  display: flex;
  justify-content: center;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.cover-title {
  color: rgba(255, 255, 255, 0.7);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.4em;
  display: flex;
  flex-wrap: nowrap;
  width: 95%;
}

.cover-effect-container {
  background-color: #832710;
  opacity: 0.4;
  background: 
  linear-gradient(to bottom, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 100%),
  repeating-linear-gradient(-45deg, #AB3415, #AB3415 4px, transparent 4px, transparent 25px);
  background-blend-mode: destination-out;
  z-index: 1;
  position: absolute;
  left: 0px;
  top: 0px;
  padding: 50% 50px;
  width: 100%;
}
.cover-logo-container {
  z-index: 3;
  position: absolute;
  right: 50px;
  top: 50px;
  border-radius: 50%;
  overflow: hidden;
  width: 100px;
  height: 100px;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: white;
}
.cover-logo-container img {
  width: 100%;
}
.cover-version-container {
  z-index: 1;
  position: absolute;
  right: -50px;
  bottom: 60px;
  padding: 60px 50px;
  width: 50%;
  background: #333333;
  transform: skew(-20deg);
}
.cover-version-container span {
  display: block;
  font-size: 80px;
  color: white;
}
.cover-disclaimer {
    font-size: 10px;
    color: #cccccc;
    max-width: 40%;
    margin-bottom: 5px;
    line-height: 1.25em;
}
.cover-rights {
  font-size: 10px;
  font-weight: 500;
  color: white;
}
.pdf-section {
    padding-bottom: 15px;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    column-gap: 30px;
}
.col-4 {
    height: 100%;
    width: 33%;
}
.col-8 {
    height: 100%;
    width: 67%;
}
.col-6 {
    height: 100%;
    width: 50%;
}
.col-12 {
    height: 100%;
    width: 100%;
}
.page-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}
.section-title {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 10px;
}
.pdf-section p {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4em;
}
.pdf-section table {
    width: 100%;
}
.pdf-section table thead tr, .pdf-section table tr th {
    background: #F6C7BD;
}
.pdf-section table th, .pdf-section table td {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25em;
    padding: 5px 4px;
}
.pdf-section table tr th {
    font-weight: 600;
}
.pdf-section table tr:nth-child(even) {
    background: #f2f2f2;
}

.new-page .pdf-section .symbol-heading {
    font-size: 40px;
    color: 333333;
    line-height: 1em;
    border-bottom: 3px solid #AB3415;
    margin: 0 0 7px 0;
    padding: 0 0 7px 0;
}
.new-page .pdf-section .name-heading {
    font-size: 20px;
    color: 333333;
    line-height: 1.3em;
}
.chart-section {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.chart-canvas-container {
    width: 48%;
    margin-bottom: 15px;
}
.chart-canvas-container.full {
    width: 100%;
}
.chart-canvas-container-relative {
    width: 100%;
    position: relative;
    padding-top: 55%;
}
.chart-canvas-container .canvas {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100% !important;
    border: 1px solid grey;
    padding: 0px;
}

/* summary section */
.summary-item > div {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;
}
.summary-item * {
    margin: 0;
    font-size: 12px;
    color: #333333;
}
.summary-item .label {
    font-weight: 700;
}

/* performance */
.performance-container {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.performance-container section {
    border: 1px solid #bfbfbf;
    margin: 0;
    padding: 10px;
    width: 100%;
}
.performance-container section header {
    padding: 0 0 6px 0;
    margin-bottom: 6px;
    font-size: 12px;
}
.performance-container section header h3 {
    padding: 0;
    margin-bottom: 0;
    font-size: 12px;
}
.performance-container section * {
    font-size: 12px;
    line-height: 1.4em;
}
.performance-container section .perf {
    margin-bottom: 5px;
}
.performance-container section div.positive {
    position: relative;
    color: #037B66;
    margin-left: 7px;
}
.performance-container section div.positive::before {
    content: '+';
    position: absolute;
    right: 100%;
    top: 0;
    color: #037B66;
}
.performance-container section div.negative {
    position: relative;
    color: #D60A22;
    margin-left: 7px;
}
.performance-container section div.negative::before {
    content: '-';
    position: absolute;
    right: 100%;
    top: 0;
    color: #D60A22;
}


.crypto-performance-container {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}
.crypto-performance-container * {
    font-size: 12px;
    line-height: 1.2em;
}
.performance-item {
    border: 1px solid #cccccc;
    margin: 0;
    padding: 10px;
    width: 100%;
    border-radius: 6px;
}
.performance-item div {
    padding: 6px 0;
}
.crypto-performance-container .performance-header {
    border-bottom: 1px solid #e6e6e6;
    padding: 6px 0;
    font-weight: 600;
    width: 100%;
    display: flex;
    justify-content: center;
}
.performance-symbol {
    margin-top: 10px;
    text-transform: uppercase;
}
.performance-score.positive {
    color: #037B66;
}
.performance-score.negative {
    color: #D60A22;
}

/* Related Company */
.related-container {
    position: relative;
    height: 100%;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    align-items: stretch;
}
.related-container section {
    flex: 1 1 calc((100% - 40px) / 3);
    max-width: calc((100% - 40px) / 3);
    padding: 10px;
    border: 1px solid #AB3415;
    margin: 0;
}
.related-container section * {
    font-size: 12px;
    margin: 0;
    line-height: 1.7em;
}
.related-container .txt-negative {
    color: #D60A22;
}
.related-container .txt-positive {
    color: #037B66;
}
.related-container .ticker .name {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.related-container .ticker .name * {
    font-size: 12px !important;
    font-weight: 600 !important;
}
.related-container .card-link {
    display: none;
}


/* Holder */
.holder-container .holder-item:nth-child(even) {
    background: #f2f2f2;
}
.holder-item {
    font-size: 12px;
}
.institutional-holder table th, .mutualfund-holder table th, .institutional-holder table td, .mutualfund-holder table td {
}

/* event */
.recent-event-item, .upcoming-event-item {
    margin: 3px 0;
    border-bottom: 1px solid #e6e6e6;
    padding: 3px 0 5px 0;
}
.recent-event-title, .upcoming-event-title {
    font-size: 12px;
    font-weight: 600;
    line-height: 2em;
    color: #832710;
}
.recent-event-date, .upcoming-event-date {
    font-size: 10px;
    line-height: 2em;
}

.news-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: flex-start;
}
.news-item {
    width: calc(50% - 20px);
    padding: 7px 0;
    margin: 0;
}
.news-title {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4em;
    color: #333333;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.news-time {
    font-size: 10px;
    line-height: 2em;
    color: grey;
}
.news-time.limit-2-row {
    line-height: 1.5em;
}
.limit-2-row {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Statistic item */
.stats-item {
    display: flex;
    column-gap: 10px;
    justify-content: flex-start;
}
.stats-item:nth-child(even) {
    background: #f2f2f2;
}
.stats-label {
    font-weight: 600;
}
.stats-label, .stats-value {
    font-size: 12px;
    line-height: 1.4em;
    padding: 5px 0;
}


/* Gemini response */
.gemini-paragraph-response {
    font-size: 12px;
    line-height: 1.45em;
    color: #333333;
    margin-top: 12px;
}


/* Macro Chart */
.money-supply-relative, .cpi-relative, .interest-rate-chart-relative, .gold-relative, .spx-relative, .crypto-price-relative {
    position: relative;
    width: 100%;
    padding-top: 40%;
    border: 1px solid grey;
}
.money-supply-container, .cpi-container, .interest-rate-chart-container, .gold-container, .spx-container, .crypto-price-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
#m2Chart, #cpiChart, #interestChart, #goldChart, #spxChart, #cryptoPriceChart, #volumeChart, #marketcapChart {
    width: 100%;
    height: 100%;
    max-height: 100% !important;
}


/* Glossary */
.glossary {
    padding: 8px;
    border-radius: 8px;
    background: #f2f2f2;
}
.glossary-item {
    font-size: 12px;
    line-height: 1.4em;
    padding-bottom: 6px;
}






/* Crypto */
.people-container {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 15px;
}
.people-item {
    width: calc(50% - 10px);
    border: 1px solid #d9d9d9;
    padding: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
    flex-direction: column;

}
.people-img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
    overflow: hidden;
}
.people-name {
    color: #333333;
    font-size: 14px;
    font-weight: 600;

}
.people-desc {
    font-size: 12px;
    line-height: 1.2em;
}


.organization-item {
    padding-bottom: 15px;
    font-size: 12px;
    line-height: 1.4em;
}
.org-name {
    font-weight: 600;
}
.org-desc {

}


/* Initial Distribution Diagram */
#legendContainer {
  text-align: left;
  margin-top: 20px;
  font-size: 14px;
}
.legend-item {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
.legend-color {
  width: 14px;
  height: 14px;
  margin-right: 8px;
  border-radius: 3px;
  flex-shrink: 0;
}
.sales-chart-container {
    width: 100%;
    padding: 0 10px;
}
.sales-chart-container-relative {
    position: relative;
    width: 100%;
    padding-top: 100%;
}
#salesChart {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
}
.legend-item {
    font-size: 12px;
    font-weight: 500;
}

/* Fear and Greed index */
.fng-container {
    width: 100%;
}
.fng-container-relative {
    position: relative;
    width: 100%;
    padding-top: 100%;
}
.fng-container .gauge-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.fng-container .gauge-bg {
  width: 100%;
}
.fng-container .needle {
  position: absolute;
  top: 75%;
  left: 50%;
  transform-origin: bottom center;
  transition: transform 0.5s ease-in-out;
}
.fng-container img {
    width: 100%;
    height: 100%;
}

.fng-container .gauge-label {
  position: absolute;
  font-size: 12px;
  font-weight: bold;
  color: #222;
  transform: translate(-50%, -50%);
}
.fng-value-container {
    margin-top: -40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.fng-value {
    font-size: 40px;
    font-weight: 800;
    -webkit-text-stroke: 1px black;
}
.fng-classification {
    padding-top: 4px;
    font-size: 13px;
    font-weight: 400;
    color: #333333;
}

.alt-season-container {
    transform: scale(0.6);
    transform-origin: top left;
}
.alt-season-container h3 {
    display: none;
}
.alt-season-container span, .alt-season-container div {
    margin-top: 40px !important;
}

/* BTC rainbow chart */
.btc-rainbow-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.financials-conclusion-container {
    font-size: 12px;
    line-height: 1.3em;
}