/* certificates_ui.css */
:root {
  --atxback: #051F40;
  --atxgreen: #B7FE03;
  --certback: #461E64;
  --certgold: #FFC000;
  --backco: #F4F2EE;
  --white: white;
}    

@font-face {
    font-family: 'OpenSans';
    src: url('/static/OpenSans-Regular.ttf');
}
body {
  margin: 0;
  display: flex;
  flex-direction: column;
  font-family: "OpenSans";
  background: var(--backco);
  color: var(--certback);
  font-size: 1rem;
  height: auto;
  text-align: center;
}
* {
    font-family: "OpenSans";
}
h1 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-top:0rem;
  margin-bottom:0rem;
}
h2 {
  font-size: 1.5rem;
  text-align: center;
  margin-top:0rem;
  margin-bottom:0rem;
}
h3 {
  font-size: 1.25rem;
  text-align: center;
  margin-top:0rem;
  margin-bottom:0rem;
}
p {
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: break-word;
  text-align: left;
}
.logo-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--certback);
  padding: 0.5rem 2rem;
  margin: 0;
  border-bottom: 0.1rem solid var(--certgold);
}
.logo-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
}
.logo-title {
  color: var(--certgold);
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.1;
  text-align: left;
  display: block;
}
.logo-title a {
  color: var(--certgold);
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.1;
  text-align: left;
  display: block;
  text-decoration: none;
}
.logo-tagline{
  color: var(--certgold);
  font-size: 1.25rem;
  text-align: left;
  margin-top: 0.2rem;
  display: block;
}
.logo-img {
  vertical-align: middle;
  margin-right: 0.5rem;
  width: 5rem;
  height: 5rem;
}
.btn, .btn-reverse {
  border-radius: 2rem;
  padding: 0.5rem 0.5rem;
  font-weight: bold;
  font-size: 1rem;
  cursor: pointer;
  margin: 0;
  display: inline-block;
  transition: background 0.2s, color 0.2s, border 0.2s;
  text-align: center;
  text-decoration: none;
  background: var(--certgold);
  color: var(--certback);
  border: 0.15rem solid var(--certback);
  width: fit-content;
  min-width:10rem;
}
.btn-reverse {background: var(--certback); color: var(--certgold); margin-top:0.5rem; border:none;}
.btn-rev {
  border-radius: 2rem;
  padding: 0.5rem 0.5rem;
  font-size: 1rem;
  cursor: pointer;
  margin: 0;
  display: inline-block;
  transition: background 0.2s, color 0.2s, border 0.2s;
  text-align: left;
  text-decoration: none;
  background: var(--backco);
  color: var(--certback);
  width: 100%;
  border:none;
}
.btn-rev-active{color:var(--certgold); font-weight:bold;}
.btn-rev:disabled { opacity: 0.4; cursor: not-allowed; }
.btn-rev-watched { color: var(--certback)}
.button-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin: 0.5rem auto;
}



.certificate-layout{display:flex; gap:1rem; width:100%; margin:0 auto; margin-top:0rem;}
.certificate-sidebar{width:15%;padding:1rem;border-right:0.1rem solid var(--certgold);}
.certificate-section{font-weight:bold; margin-top:1rem; text-align:left;}
.main-content {
  padding: 1rem 1rem;
  margin: 0 auto;
  text-align: center;
  min-height: auto;
  box-sizing: border-box;
  justify-content: flex-start;
  /* outline: 0.125rem solid var(--whiteco);  */
  width:85%; 
  background:var(--backco);
}
.video-wrapper {
  width: 100%;
  overflow: hidden;
  border-radius: 2rem;
  border: 0.15rem solid var(--certback);
}
#video_area {width: 100%;}
#video_area > div {width: 100%;}
.video-fullscreen {
    position: fixed;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    background: black;
    padding: 0;
}
.video-fullscreen iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0; top: 0;
}
.certificate-bottom{display:flex; flex-direction: column;}
.card2, .card {
  background: var(--backco);
  border-radius: 2rem;
  padding: 0.5rem 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: left;
  min-width: 0;
  box-sizing: border-box;
  transition: transform 0.3s ease;
  color:var(--certback);
  position: relative;
  text-align: left;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  max-width: 100%;
}
.card2 p{font-size:1.125rem;}
.card {width:60%; margin:0 auto;}
.card p{line-height: 1rem;margin-top:0.25rem; margin-bottom:0.25rem;}
.certificate-notes{height:10rem; overflow-y:auto;}
.certificate-slide{
  width:100%;
  border-radius:2rem;
  border: 0.15rem solid var(--certback);
}
.certificate-slide-controls{
  display:flex;
  justify-content:space-between;
  margin-top:1rem;
}
ul, .ul2 {
  display: inline-block;
  list-style-type: none;
  margin: 0 auto 1.2rem auto;
  padding-left: 1.2rem;
  text-align: left;
  font-size: 1rem;
  color: var(--certback);
  line-height: 1.7;
  max-width: 50%;
  width: 100%;
  box-sizing: border-box;
  overflow-wrap: break-word;
}
.ul2 {max-width:70%; font-size:1rem; display:block;}
.ul2 li {font-size: 1rem;}
.card2 label {
    display: block;
    margin-bottom: 0.5rem;
}
.cert-input {
    border: 0.15rem solid var(--certback);
    border-radius: 2rem;
    padding: 0.5rem 1.2rem;
    font-size: 1rem;
    outline: none;
    width: 60%;
}
.certificate-preview {
  width: 60%;
  margin: 0 auto;
  border: 0.15rem solid var(--certback);
  display: block;
}



.form-container {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin:2rem auto;
  text-align: center;
}
.form-container p {
  font-size: 0.75rem;
  margin: 0.25rem 0;
  color: var(--certback);
  align-self: center;
  cursor: pointer;
  user-select: none;
}
.social-buttons {
  display: inline-flex;
  align-items: center;
  background-color: var(--white);  /* white background pill */
  border-radius: 2rem;             /* large pill shape */
  padding: 0.5rem 1rem;            /* padding inside pill */
  gap: 1.5rem;                    /* space between icons */
  justify-content: center;
  width: fit-content;
  align-self: center;
  margin: 0 auto;
}
.icon-small {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 1.5rem;
  margin: 0; /* no margin needed since icon centered */
  display: block; /* better control */
}
.header-container-main {
  display:flex; 
  align-items:center; 
  justify-content:center; 
  gap: 1rem; 
  width: 50%; 
  text-align: center; 
  margin: 1rem auto;
}
.header-container-main > * {flex-shrink: 0; margin: 0; vertical-align: middle;}
.header-container-main a {display: flex;align-items: center;gap: 1rem;text-decoration: none;color: inherit;}
.header-container-main h3 {color:var(--certback)}
html {font-size: 16px;}

@media (max-width: 1365px) {html {font-size: 14px;}}
@media (max-width: 1000px) {
html {font-size: 12px;}
.certificate-layout {flex-direction: column;gap: 0.5rem;}
.certificate-sidebar, .main-content {width: 100%; padding: 0.5rem; box-sizing: border-box;}
.logo-section {flex-direction: column; gap: 0.75rem; padding: 0.75rem;}
.logo-row {flex-wrap: wrap; justify-content: center;}
}