

.theme1{
    --color-background: #FFFFFF;
    --color-text: #2D2D2D;
    --color-slider-background: #757575;
    --color-slider-thumb: #FFFFFF;
    --color-part-of-speech: #757575;
    --color-highlight: #A445ED;
    --color-bullet-points: #8F19E8;
    --color-error: #FF5252;
    --color-input-background: #F4F4F4;
    --color-separator: #E9E9E9;
    --color-fonts-shadow: 'tranparent';
    --color-fonts-background: #FFFFFF;
    --color-horizontal-separator: #757575;
}
   
.theme2{
    --color-background: #000000;
    --color-text: #FFFFFF;
    --color-slider-background: #A445ED;
    --color-slider-thumb: #FFFFFF;
    --color-part-of-speech: #757575;
    --color-highlight: #A445ED;
    --color-bullet-points: #8F19E8;
    --color-error: #FF5252;
    --color-input-background:#1F1F1F;
    --color-separator: #E9E9E9;
    --color-fonts-shadow: #8F19E8;
    --color-fonts-background: #1F1F1F;
     --color-horizontal-separator: #757575;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: sans-serif;
    background-color: var(--color-background);
    color: var(--color-text);
}


.container{
    padding: 2rem;
    display: flex;
    flex-direction: column;
    max-width: 1400px;
    margin: 0 auto;
}

header{
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.typo_options_div{
    display: flex;
    flex-direction: column;
    position: relative;
}

.typo_options_div:hover {
    cursor: pointer;
}

.typo_options_div:hover .typo_div{
    display: block;
}

.display_options_div{
    display: flex;
    align-items: center;
}

.options_div{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    min-width: 11rem;
}

.options_paragraph{
    font-weight: 600;
    text-transform: capitalize;
}

.arrow_img{
    width: 1rem;
    height: 1rem;
}

.typo_div{
    background-color: var(--color-fonts-background);
    border-radius: 15px;
    position: absolute;
    bottom: -9rem;
    right: 3rem;
    padding-left: 1.3rem;
    box-shadow: 3px 3px 15px 2px var(--color-fonts-shadow);
    display: none;
}

.typo_list{
    list-style: none;
    min-width: 11rem;
    padding: 0;
    margin: 0;
}

.typo_option_name{
    text-align: start;
    font-weight: 700;
    margin: 1.3rem 0;
}

.sans_serif{
    font-family: sans-serif !important;
    font-size: 1.3rem;
}

.serif{
    font-family: serif !important;
    font-size: 1.1rem;
}

.mono{
    font-family: monospace !important;
     font-size: 1rem;
}


#slider{
    -webkit-appearance: none;
    width: 2.5rem;
    height: 1.3rem;
    background-color: var(--color-slider-background);
    border-radius: 999px;  
    padding: 0.08rem;
}

#slider::-webkit-slider-thumb{
    -webkit-appearance: none; 
    appearance: none;
    background: var(--color-slider-thumb);
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
}


form{
    width: 100%;
}

.input_div{
    background-color: var(--color-input-background);
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
    padding: 0 1.5rem; 
    
}

#form_input{
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--color-input-background) !important;
    border: none;
    outline: none;
    color: var(--color-text);
    font-size: 1.3rem;
    font-weight: 600;
    height: 3rem;
    outline: none;
    width: 80%;
}

#form_input:focus,
#form_input:active{
    background-color: var(--color-input-background) !important;
}

#form_input:-webkit-autofill,
#form_input:-webkit-autofill:hover,
#form_input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--color-text);
    -webkit-box-shadow: 0 0 0 1000px var(--color-input-background) inset;
    box-shadow: 0 0 0 1000px var(--color-input-background) inset;
    transition: background-color 9999s ease-in-out 0s;
}

.form_input_error{
    border: 1px solid var(--color-error);
}

.error{
    color: var(--color-error);
    font-size: 0.8rem;
}

.word_information_section{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2rem;
}

.word{
    text-transform: capitalize;
}

h1{
    font-size: clamp(2rem, 3vw, 2.3rem);
    font-weight: 700;
    margin: 1.5rem 0 1rem 0;
}

.pronunciation_paragraph{
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 500;
    color: var(--color-bullet-points);
}

.word_audio{
    height: 3rem;
    width: 3rem;
}

.cover{
    cursor: pointer;
}

.meanings_container{
    margin: 2rem 0;
}

.part_of_speech{
    font-weight: 700;
    font-size: clamp(1.2rem, 2vw, 1.4rem);
    margin: 1.5rem 0;
    display: block;
    text-transform: capitalize;
}

.horizontal_line{
    border: none;
    background-color: var(--color-horizontal-separator);
    height: 1px;
    margin: 1rem 0;
}

.part_of_speech_meaning{
    font-size: clamp(1.2rem, 3vw, 1.5rem);
    margin-bottom: 1.5rem;
    color: #757575;
}

.part_of_speech_meaning_list{
    color: var(--color-text);
    padding-left: 1rem;
}

.part_of_speech_meaning_item{
    margin: 1.5rem 0;
}

.part_of_speech_meaning_item::marker{
    color: var(--color-bullet-points);
}

.synonyms_paragraph, .examples, .antonyms_paragraph{
    font-size: clamp(1rem, 2vw, 1.4rem);
    margin-bottom: 1.5rem;
    color: #757575;
}

.synonyms, .antonyms{
    font-size: clamp(1rem, 2vw, 1.4rem);
    color: var(--color-bullet-points);
}


.source_anchor{
    color: var(--color-text);
    display: flex;
    gap: 1rem;
    align-items: center;
}

.loader {
    width: 48px;
    height: 48px;
    margin: 0 auto;
    border-radius: 50%;
    position: relative;
    animation: rotate 1s linear infinite
}

.loader::before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    inset: 0px;
    border-radius: 50%;
    border: 5px solid #e70606;
    animation: prixClipFix 2s linear infinite ;
}    

@keyframes rotate {
    100% {transform: rotate(360deg)}
}    

@keyframes prixClipFix {
    0%   {clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}
    25%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}
    50%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
    75%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}
    100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}
}    

.error_div{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.error_title{
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    color: var(--color-text);
    margin-bottom: 1rem;
}

.error_paragraph{
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: var(--color-part-of-speech);
    line-height: 1.2rem;
}
