/* Variables CSS */
:root {
    --primary-color: #ff5c00;
    --secondary-color: #4d4d4d;
    --highlight-color: #87CEFA;
    --background-color: #595959;
    --text-color: #e6e6e6;
    --font-family: 'Montserrat', sans-serif;
    --border-radius: 10px;
    --transition-duration: 0.3s;
}


/* Styles généraux */
.square {
    border-radius: var(--border-radius);
}

 .loader {
     height: 32px;
     width: 32px;
 }
 .loader span {
     display: block;
     position: absolute;
     top: 0; left: 0;
     bottom: 0; right: 0;
     margin: auto;
     height: 32px;
     width: 32px;
 }
 .loader span::before,
 .loader span::after {
     content: "";
     display: block;
     position: absolute;
     top: 0; left: 0;
     bottom: 0; right: 0;
     margin: auto;
     height: 32px;
     width: 32px;
     border: 2px solid #FFF;
     border-radius: 50%;
     opacity: 0;
     -webkit-animation: loader-1 1.5s cubic-bezier(0.075, 0.820, 0.165, 1.000) infinite;
             animation: loader-1 1.5s cubic-bezier(0.075, 0.820, 0.165, 1.000) infinite;
 }

/* Article Styles */
article, form{
    width: 95%;
    margin: 1% 0;
    padding: 3px;
    background-color: var(--background-color);
    border-radius: var(--border-radius);
    border: 1px solid transparent;
    transition: background-color var(--transition-duration) ease, border var(--transition-duration) ease;
}

article {
    cursor: pointer;
}

article:hover, form:hover {
    background-color: var(--secondary-color);
    border: 1px solid var(--primary-color);
}

article header, form header {
    margin-top: 3px;
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

article a {
    color: var(--highlight-color);
    text-decoration: none;
}

article a i {
    font-size: 80%;
}

article a:hover {
    text-decoration: underline;
}

article p {
    padding: 2%;
    margin-top: 3px;
    font-family: var(--font-family);
    font-weight: 400;
    text-align: justify;
    color: var(--text-color);
}

/* Layout Styles */
.row {
    width: 100%;
    display: flex;
    justify-content: space-around;
}

.rowButtons {
    padding:1%;
    width: 98%;
    display: flex;
    justify-content: space-between;
}

.rowAccessCardMobile {
    position: absolute;
    bottom: 10vh;
}

.cellForm{
    display:flex;
    justify-content:space-between;
}

.twoWidthsInput{
    width:80%;
}

.titles {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: start;
}

section {
    width: 100%;
}

.itemList {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#welcomeMsg {
    margin-left: 0;
    width: 100%;
    color: #FFFFFF;
    font-weight: 300;
    letter-spacing: 7px;
    text-align: center;
}

/* Button Styles */
#welcomeBtn, #submitBtn, #prevBtn, #nextBtn {
    padding: 5px;
    background-color: var(--primary-color);
    border-radius: var(--border-radius);
    border: 0;
    cursor: pointer;
    transition: background-color 0.5s ease-in-out, transform 0.3s linear;
}

#prevBtn, #nextBtn{
    width:25%;
}

#prevBtn:hover .fa-arrow-left {
    transform: translateX(-5px);
    transition: transform 0.3s linear;
}

#prevBtn .fa-arrow-left {
    transition: transform 0.3s linear;
}

#nextBtn:hover .fa-arrow-right {
    transform: translateX(5px);
    transition: transform 0.3s linear;
}

#nextBtn .fa-arrow-right {
    transition: transform 0.3s linear;
}

#prevBtn:hover, #nextBtn:hover, #submitBtn:hover, #welcomeBtn:hover{
    background-color: #ff7e33;
}

#submitBtn{
    font-size: 105%;
}

#welcomeBtn{
    font-size: 150%;
}

#submitBtn, #welcomeBtn{
    width: 50%;
}

#welcomeBtn:hover, #submitBtn:hover{
    transform: scale(1.1);
}

#welcomeBtn .fa-rocket {
    transform: rotate(45deg);
    transition: transform 0.5s ease;
}

#welcomeBtn:hover .fa-rocket {
    transform: rotate(0deg);
}

/* Photo Styles */
#photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background-image: url("../image/me/me.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#title {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

/* Scrollable Styles */
.scrollable {
    width: 100%;
    overflow: auto;
}

.scrollable::-webkit-scrollbar {
    width: 12px;
}

.scrollable::-webkit-scrollbar-track {
    background-color: #393939;
}

.scrollable::-webkit-scrollbar-thumb {
    border-radius: 50px;
    background-color: var(--primary-color);
}

/* Width Utility Classes */
.quarterWidth {
    width: 20%;
}

.halfWidth {
    width: 40%;
}

.twoWidths {
    width: 90%;
}

/* Tooltip Styles */
.ui-tooltip {
    background: var(--secondary-color);
    color: #FFFFFF;
}

/* Mobile Styles */
@media (max-width: 768px) {
    #welcomeBtn {
        width: 90%;
    }

    .cellForm{
        margin-top:5px;
        width:100%;
    }
}
