/* CSS Document */
@font-face {
  font-family: 'Helvetica';
  src: url('/assets/fonts/Helvetica.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Helvetica';
  src: url('/assets/fonts/Helvetica-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Helvetica';
  src: url('/assets/fonts/Helvetica-Oblique.woff') format('woff');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'Helvetica';
  src: url('/assets/fonts/Helvetica-BoldOblique.woff') format('woff');
  font-weight: bold;
  font-style: italic;
}

/* Optional: Add custom names for the special variants */
@font-face {
  font-family: 'Helvetica Compressed';
  src: url('/assets/fonts/helvetica-compressed-587d14b6903a.woff') format('woff');
}

@font-face {
  font-family: 'Helvetica Light';
  src: url('/assets/fonts/helvetica-light-587ebe5a59211.woff') format('woff');
}

@font-face {
  font-family: 'Helvetica Rounded Bold';
  src: url('/assets/fonts/helvetica-rounded-bold-5871d05ead8de.woff') format('woff');
}
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn,img, ins, kbd, q, s, samp,small, strike, center,dl, dt, dd, ol, fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;}article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}body{line-height: 1;}ol, ul {	list-style: none;}blockquote, q {	quotes: none;}blockquote:before, blockquote:after,q:before, q:after {	content: '';content: none;}table {	border-collapse: collapse;	border-spacing: 0;}a{text-decoration:none;color:inherit;}
html,body{margin:0;padding:0;width:100%;height:100%;}
ul,li{margin:0;padding:0;}
a{text-decoration:none;color:inherit;}
button{cursor:pointer;}
body{font-family: 'Helvetica', sans-serif!important;font-size: 16px;line-height: 1.4em;font-weight: 400;letter-spacing: 0.024em;color: #2d2d2d;background:#f6f8fb;overflow-x: hidden;}
body.active{overflow:hidden;}
h1,h2,h3,h4,h5{margin:8px 0;line-height:1.3em;}
h1 {margin: 8px 0 20px;font-size: 28px;font-weight: 700;}
h2{font-size:24px;}
h3{font-size:20px;}
h4{font-size:18px;}
pre{padding:10px;background:#B39C8E;    position: relative;width: 100%;z-index: 9999999999999999;}
ul{margin:0;}


html,body{margin:0;padding:0;width:100%;height:100%;}
body{color:#fff;}
.bg_wrapper{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url('../imgs/bg_3.jpg');background-size:cover;background-position:center;filter:blur(2px);z-index:0;}
.bg_wrapper::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom, rgb(236 201 119 / 40%), rgb(107 32 18 / 72%));z-index:1;}
#main_content{width:900px;height:calc(100vh - 92px);position: relative;align-items: center;justify-content: center;z-index: 2;}
.container {height: 100%;display: flex;position: relative;align-items: center;text-align:center;justify-content: center;}
a{color:inherit;text-decoration:none;}
.main_heading{font-size:2rem;font-weight:600;margin-bottom:5px;}
#back_to_menu{width:100%;position:absolute;left:0;bottom:30px;text-align:center;color:#fff;text-decoration:none;font-weight:600;text-transform:uppercase;}
.success_message {width: 100%;text-align: center;font-size: 16px;}
.success_message > p > strong {margin: 30px 0 0;display: block;font-size: 30px;}
.success_message i{margin:0 auto;width:100%;display:block;}
.try_again_btn {font-weight: 600;text-align: center;display: block;font-size:18px;}
button {padding: 15px 40px;background: #49afd7;border: none;border-radius: 40px;color: #fff;font-weight: 600;text-transform: uppercase;letter-spacing: 1px;}
.btn_container {margin-top: 20px;}
.btn_container a.btn{padding:15px 25px;border:none;border-radius:30px;background:#fff;color:#1c2f4d;font-weight:600;font-size:0.9rem;cursor:pointer;transition:all 0.3s ease;}
.btn_container a.btn:hover{background:#e0e0e0;}
a.home_btn {padding: 15px 25px;border: none;border-radius: 30px;background: none;color: #fff;font-weight: 600;font-size: 20px;cursor: pointer;transition: all 0.3s ease;}
#footer {padding: 0;position: absolute;bottom: 0;left: 0;width: 100%;height: 92px;display: flex;text-align: center;background: rgb(0 0 0 / 30%);color: #fff;z-index: 2;align-items: center;}
.logo_container {width: 100%;position: relative;bottom: 0;left: 0;display: flex;text-align: center;justify-content: space-between;align-items: center;flex-direction: column;}
.logo_container img {width: 40px;filter: saturate(1) hue-rotate(395deg) brightness(1.5);}
.logo_container h1{margin: 8px 0 0;padding:0 0 0 4.5px;font-family: "Poppins", sans-serif;font-size: 12px;font-weight: 400;letter-spacing: 9px;text-transform: uppercase;}

/*HOMEPAGE*/
/* #mode_selection{display:flex;flex-direction:column;align-items:center;gap:20px;} */
.mode_buttons{margin:20px 0 0;display:flex;flex-direction:column;gap:20px;justify-content:center;}
.mode_button {padding: 25px 25px;border: none;border-radius: 10px;background: #fff;color: #1c2f4d;font-weight: 600;font-size: 1.1rem;cursor: pointer;transition: all 0.3s ease;display: flex;gap: 18px;align-items: center;border-left: 5px solid #FCDD07;}
.mode_button:hover{background:#e0e0e0;}
.mode_buttons.fa-solid, .fas{color:#006600;}
#mode_selection .mode_button span{display:block;text-align:left;}
#mode_selection .mode_description{font-size:0.9rem;color:#666;font-weight:400;}
/*LEVEL SELECT*/
.selection_form{display:flex;flex-direction:column;align-items:center;gap:20px;}
.form_select{padding:10px 15px;border-radius:8px;border:none;font-size:1rem;color:#1c2f4d;width:220px;}

/*QUIZ*/
#title_container {width: 100%;position: absolute;top: 40px;left: 0;display: flex;text-align: center;border-bottom: 1px solid #fff;padding-bottom: 10px;justify-content: space-between;align-items: center;}
#title_container h2{font-size: 14px;font-weight: 400;color: #fff;text-transform: uppercase;letter-spacing: 3px;}
#title_container .card_counter{font-size:20px;font-weight:900;color:#fff;letter-spacing:3px;}

/*FLASHCARDS*/
.card_heading{text-align:center;margin-bottom:20px;}
.flashcard_container{display:flex;flex-direction:column;align-items:center;justify-content:center;}
.success_message p {font-weight: 600;line-height: 1.4em;}
.next_card_link{margin-top:60px;display:inline-block;background:#fff;color:#1c2f4d;font-weight:600;padding:10px 20px;border-radius:30px;text-decoration:none;transition:all 0.2s ease;}
.next_card_link:hover{background:#e0e0e0;}
.next_card_link.disabled{opacity:0;cursor:not-allowed;}
.flashcard_wrapper{position:relative;display:flex;justify-content:center;align-items:center;perspective:1000px;margin-top:40px;}
.flip_card{width:400px;height:350px;position:relative;cursor:pointer;  transform-style: preserve-3d;transform-origin: center;}
.flip_card_inner{position:relative;width:100%;height:100%;transition:transform 0.6s;transform-style:preserve-3d;}
.flip_card_inner.flipped{transform:rotateY(180deg);}
.flip_card_front,.flip_card_back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,0.2);background:#fff;padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;}
.flip_card_back{transform:rotateY(180deg);}
.flashcard_header{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px;color:#666;margin-bottom:10px;}
.flashcard_lang{font-weight:700;color:#999;font-size:0.9rem;}
.flashcard_meta{font-size:0.75rem;color:#bbb;}
.flashcard_content{flex-grow:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 10px;}
.flashcard_phrase,.flashcard_answer{font-size:1.5rem;font-weight:600;color:#1c2f4d;margin:0;}
.flashcard_answer{color:#002e63;}
.flashcard_footer{text-align:center;font-size:12px;color:#888;margin-top:10px;}
.tap_hint{font-size:0.75rem;color:#ccc;}
.success_message h3{font-size: 2rem;font-weight: 600;}
.success_message h4{font-size: 1rem;font-weight: 400;}
.success_message i{font-size:3rem;color:#ffd602;animation:trophy-pulse 2s infinite ease-in-out;position:relative;}
@keyframes trophy-pulse{
  0%{text-shadow:0 0 10px rgba(255,214,2,0.2);}
  50%{text-shadow:0 0 25px rgba(255,214,2,0.8);}
  100%{text-shadow:0 0 10px rgba(255,214,2,0.2);}
}
/* Optional: Add a subtle rotating halo effect */
.message.flashcard_message i:after{content:'';position:absolute;top:-15px;left:-15px;right:-15px;bottom:-15px;border-radius:50%;background:radial-gradient(circle, rgba(255,214,2,0.4) 0%, rgba(255,214,2,0) 70%);z-index:-1;animation:halo-rotate 4s infinite linear;}

@keyframes halo-rotate{
  0%{transform:rotate(0deg);opacity:0.3;}
  50%{opacity:0.7;}
  100%{transform:rotate(360deg);opacity:0.3;}
}

.animate_out {
  animation: slideOutLeft 0.5s ease forwards;
}

@keyframes slideOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-100px);
  }
}

/*MULTIPLE CHOICE*/
#multiple_choice{width: 100%;}
#multiple_choice .phrase{margin:0 0 45px;font-size:26px;text-align:center;}
#multiple_choice form{width:600px;margin:0 auto;}
#multiple_choice form > div{padding:20px;margin: 0 0 10px;width: 100%;text-align:left;font-size: 16px;letter-spacing:0.3px;background: #fff;color: #000;box-sizing:border-box;}
.choice_item{margin-bottom:10px;padding:10px;border-radius:5px;border:1px solid #ddd;position:relative;cursor:pointer;}
.choice_result{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:bold;}
.correct{background-color:#d4edda;border-color:#c3e6cb;}
.correct .choice_result:after{content:"✅";}
.incorrect{background-color:#f8d7da;border-color:#f5c6cb;}
.incorrect .choice_result:after{content:"❌";}
.fadeOut{opacity:0;transition:opacity 0.3s ease;}
.fadeIn{opacity:1;transition:opacity 0.3s ease;}
#question_container{min-height:300px;}
#score_display{margin-bottom:15px;font-size:18px;font-weight:bold;}
.choice_item{position:relative;margin-bottom:10px;cursor:pointer;border:1px solid #ddd;border-radius:4px;padding:10px 15px;transition:all 0.3s ease;}
.choice_item:hover{background-color:#f5f5f5;}
.choice_item input[type="radio"]{position:absolute;opacity:0;}
.choice_item label{display:block;cursor:pointer;width:100%;}
.choice_text{display:block;}
.correct{background-color:#dff0d8;border-color:#d6e9c6;}
.incorrect{background-color:#f2dede;border-color:#ebccd1;}
.fadeOut{opacity:0;transition:opacity 0.3s ease;}
.fadeIn{opacity:1;transition:opacity 0.3s ease;}

.success_message.multiple_choice h4 {margin: 0 0 60px;font-size: 20px;font-weight: 600;display: flex;flex-direction: column;gap: 10px;}
.success_message.multiple_choice h4 b {display: block;font-size: 40px;}
.success_message.multiple_choice p {font-weight: 400;}
.success_message.multiple_choice p bold{font-weight:900;}
/* .flashcard_message{text-align:center;max-width:500px;margin:30px auto;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);}
.flashcard_message i{font-size:48px;color:#28a745;margin-bottom:20px;}
.flashcard_message i.fa-circle-exclamation{color:#dc3545;}
.flashcard_message h3{font-size:24px;margin-bottom:10px;}
.flashcard_message h4{font-size:18px;margin-bottom:20px;color:#666;}
.flashcard_message p{margin-bottom:20px;font-size:16px;} */
.btn_container{display:flex;justify-content:center;gap:15px;margin-top:25px;}
.btn{display:inline-block;padding:10px 20px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px;font-weight:bold;transition:background-color 0.3s ease;}
.btn:hover{background-color:#0069d9;}

/*TYPE IT OUT*/
#type_it_out{text-align:center;}
#type_it_out input[type="text"]{padding:15px;width:100%;border:none;border-radius:4px;box-sizing:border-box;}

/*STEP SELECTION*/



/* #direction_selection .selection_button{padding: 18px 30px;border:none;border-radius:42px;background:#fff;color:#1c2f4d;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all 0.3s ease;min-width:180px;} */


@keyframes fadeIn{
  0%{opacity:0;transform:translateY(20px);}
  100%{opacity:1;transform:translateY(0);}
}
@media(max-width:960px){
#main_content{width:600px;}
}
@media(max-width:2000px){
  body{justify-content: center;flex-direction: column;align-items:stretch;}
  #main_content{margin: 0 auto;width: 80%;}
  .container{padding:0;width:100%;box-sizing:border-box;}
  h2{font-size: 18px;}
  .main_heading{font-size:1.5rem;}
  .btn_container{margin-top:30px;}
  .btn_container a.btn{padding:15px 25px;font-size:0.9rem;}
  .btn_container a.btn:hover{background:#e0e0e0;}
  .selection_container{width:100%;max-width:600px;margin:0 auto;position:relative;}
  .selection_buttons{display: flex;flex-wrap: wrap;gap: 15px;justify-content: center;margin: 30px 0;}
  /* .selection_button {padding: 12px 20px;border: none;border-radius: 10px;background: rgb(255 255 255 / 20%);color: #fff;font-weight: 600;font-size: 16px;border: 1px solid #fff;cursor: pointer;transition: all 0.3s ease;min-width: 180px;} */
  .selection_button {padding:20px 15px;width:100%;border: none;border-radius: 10px;background: #fff;color: #1c2f4d;font-weight: 600;font-size: 0.9rem;cursor: pointer;transition: all 0.3s ease;}
  .selection_button:hover{background:rgb(255 255 255 / 40%);transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,0.1);}
  .selection_step{display:none;text-align:center;animation:fadeIn 0.5s ease-in-out;}
  .selection_step.active{display:block;}
  #mode_selection .mode_button span{font-size:0.8rem;line-height:1.4em;}
  #mode_selection .mode_button{padding:15px;}
  #mode_selection .mode_button .mode_description{font-size:0.6rem;}
  .mode_buttons{padding:15px;gap:10px;}
  
  #level_selection .selection_button {padding: 0;width: 60px;height: 60px;min-width: auto;font-size: 26px;display: flex;justify-content: center;background: none;border: 1px solid #fff;color: #fff;font-weight: 600; border-radius: 50%;align-items: center;transition: all 0.3s ease;cursor: pointer; }
  #level_selection .selection_button:hover{background:rgba(255,255,255,0.1);}
     
  #category_selection .selection_buttons {display: flex;flex-wrap: wrap;gap: 5px;}
  #category_selection .selection_button {padding-left: 30px;position:relative;text-align: left;background: rgb(255 255 255 / 15%);color: #fff;text-shadow: 0 0 2px rgb(0 0 0 / 60%);}  
  #category_selection .selection_button::before {content: '';width: 10px;position: absolute;top: 50%;left: 12px;width: 7px;height: 7px;border: 1px solid #fff;border-radius: 100%;transform: translateY(-50%);}
  #direction_selection .selection_button span {font-size: 0.8rem;color: #9b9b9b;font-style: italic;font-weight: 600;text-transform: none;}
  
  .back_button{padding:12px 25px;background:transparent;border:2px solid rgba(255,255,255,0.3);color:#fff;border-radius:30px;margin-top:30px;font-weight:500;cursor:pointer;transition:all 0.3s ease;}
  .back_button:hover{background:rgba(255,255,255,0.1);}


  #multiple_choice form{width:100%;}
  #multiple_choice form > div{padding: 10px 20px;}
  #multiple_choice .phrase{margin: 0 0 25px;font-size:1.2rem;}
  #multiple_choice .choice_item {padding: 10px 20px;font-size: 14px;}
  #multiple_choice .choice_result{font-size:1.2rem;}

}

@media(max-width:600px){
  div#main {margin: -140px 0 0 0;}
  .flashcard_container{width:300px;}
  .flashcard_wrapper{width:100%;}
  .flip_card{width:100%;height:260px;}
  .flashcard_phrase, .flashcard_answer{font-size: 1.3rem;}

}

@media(max-width:440px){
  .flashcard_lang{font-size: 10px;}
  .flashcard_meta{font-size: 10px;}
  .next_card_link {font-size: 12px;padding: 5px 15px;}
  #title_container h2{font-size: 10px;}
  #title_container .card_counter{font-size:14px;}
  .flashcard_meta{font-size: 10px;color: #bbb;}

  #category_selection .selection_button {padding:15px;padding-left: 30px;position:relative;text-align: left;background: rgb(255 255 255 / 15%);color: #fff;text-shadow: 0 0 2px rgb(0 0 0 / 60%);}  
}

























.flashcard_phrase,
.flashcard_answer {
  color: #3b1d0d;
}

.flashcard_wrapper .flip_card_front,
.flashcard_wrapper .flip_card_back
{
  background-color: #fff4e6;
}

.choice_item {
  background: #fff4e6;
  color: #3b1d0d;
}

.choice_item:hover {
  background-color: #ffd7b5;
}

.card_counter {
  color: #fff8dc;
}

#back_to_menu,
h1, h2, h3, h4 {
  color: #fff;
}