:root {
    --blue-primary: #0d244b;

    --primary-gold: #ecbb57;

    --white: #fff;

    --black: #000;

    --gray-text: #aaadae;
}

* {
    margin: 0;

    padding: 0;

    box-sizing: border-box;

    font-family: "IRANSans";

    font-weight: normal;

    font-size: 16px !important;
}

body {
    background-color: var(--white);
}

a {
    text-decoration: none;
}

a:hover {
    color: var(--primary-gold);

    text-decoration: none;
}

li {
    list-style: none;
}

.row {
    margin-left: 0;

    margin-right: 0;
}

.pl-15 {
    padding-left: 1.5rem;
}

.px-2 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}

p.developer a {
    font-size: 0.6rem !important;
}

.navbar-brand img {
    width: 80px;

    margin-top: 10px;

    cursor: pointer;
}

.navbar-light .navbar-nav {
    width: 100%;
}

.navbar-light .navbar-nav .nav-link {
    font-size: 0.8rem;

    color: var(--black);

    transition: all 200ms ease-out;
}

.navbar-light .navbar-nav .nav-link:hover {
    color: var(--primary-gold);
}

.container-fluid > .navbar-collapse,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container > .navbar-header {
    margin-right: 0;

    margin-left: 0;
}

.nav-item .sub-menu {
    position: absolute;

    opacity: 1;

    visibility: hidden;

    background-color: var(--white);

    padding: 20px;

    width: 150px;

    border-radius: 2px;

    line-height: 40px;

    top: 30px;

    right: 0;

    transition: all 200ms ease-out;

    z-index: -1;
}

.nav-item .sub-menu li,
.nav-item .sub-menu li .nav-link {
    padding: 0;
}

.nav-item:hover .sub-menu {
    z-index: 1;

    opacity: 1;

    visibility: visible;

    top: 30px;
}

.navbar-light .navbar-nav .nav-item.last {
    flex-grow: 1;

    direction: ltr;
}

.navbar-light .navbar-nav .nav-item.last a {
    border: none;

    border-radius: 8px;

    color: var(--white);

    background-color: var(--blue-primary);

    width: 150px;

    padding: 6px;

    cursor: pointer;

    transition: all 200ms ease-out;

    text-align: center;
}

.navbar-light .navbar-nav .nav-item.last a:hover {
    transform: scale(1.05);
}

.section {
    text-align: right;
}

.section-carousel {
    max-height: 90vh;

    overflow: hidden;
}

ol.carousel-indicators {
    margin-left: auto;

    margin-right: auto;
}

.section-carousel img {
    max-height: 90vh !important;

    width: 100%;
}

.section-carts .buttons {
    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    margin: 1rem 0 2.5rem 0;
}

.section-carts .buttons .button {
    all: unset;

    background-color: var(--primary-gold);

    color: var(--black);

    font-weight: 400;

    font-size: 0.8rem;

    border-radius: 50px;

    padding: 1rem;

    transition: all 250ms ease;

    cursor: pointer;
}

.section-carts .buttons .button:hover {
    opacity: 0.7;
}

.cart-box-container {
    margin-bottom: 1rem;
}

.cart-box {
    margin-top: 1rem;

    padding: 1rem;

    text-align: justify;

    height: 350px !important;

    box-shadow: 0 0 25px rgba(0, 0, 0, 0.116) !important;

    transition: all 300ms ease-out;
}

.cart-box:hover {
    transform: translateY(-0.5rem);
}

.cart-box h4 {
    text-align: center;

    font-size: 1.5rem;
}

.cart-box img {
    width: 80px !important;
}

.cart-box p {
    font-size: 1rem;

    font-weight: 200;

    margin-top: 1.4rem;
}

.section-intro {
    background-color: #f7f7f7;

    margin: 2rem 0 0 0;
}

.section-intro h2,
.section-levels h2 {
    text-align: center;

    font-size: 1.5rem !important;

    font-weight: 500;

    padding: 2rem 1rem;
}

.section-intro img.img {
    background-size: cover;

    width: 100%;

    max-height: 30rem;
}

.section-intro li {
    list-style-type: square;

    margin-top: 1rem;

    text-align: right;
}

.section-images {
    background-color: var(--white);
}

.section-images .image-wrapper {
    display: flex;
}

.section-images .image-container {
    display: flex;

    justify-content: center;

    margin-bottom: 1rem;
}

.section-images .image {
    background-size: cover;

    background-position: top;

    width: 280px;

    height: 350px;

    box-shadow: 0 0 25px rgba(0, 0, 0, 0.212);

    filter: brightness(0.9);
}

.section-images .img-odd {
    transform: translateY(2rem);
}

.section-images .img-even {
    transform: translateY(6rem);
}

.section-images .img1 {
    background-image: url(../images/img1.jpg);
}

.section-images .img2 {
    background-image: url(../images/img2.jpg);
}

.section-images .img3 {
    background-image: url(../images/img3.jpg);
}

.section-images .img4 {
    background-image: url(../images/img4.jpg);
}

.section-levels {
    display: flex;

    justify-content: center;

    gap: 25px;

    padding-top: 7rem;

    padding-bottom: 1rem;

    background-image: url(../images/motif2-01.png);

    background-size: cover;
}

.section-levels .box {
    display: flex;

    flex-direction: column;

    align-items: center;

    background-color: var(--white);

    border-radius: 10px;

    padding: 1rem;

    margin-bottom: 1rem;
}

.section-levels .box .logo-box {
    background-color: var(--primary-gold);

    display: flex;

    justify-content: center;

    width: 80px;

    height: 80px;

    border-radius: 50%;

    padding: 15px;
}

.section-levels .logo-box img {
    width: 30px;
}

.section-levels .box h4 {
    font-size: 1.5rem;

    padding: 0.8rem;

    font-weight: 800;
}

.section-levels .box h5 {
    font-size: 1rem;

    font-weight: 200;

    padding-bottom: 2rem;
}

.section-levels .box p {
    text-align: center;
}

.section-projects {
    margin: 3rem 0;
}

.section-projects .boxes {
    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    margin-top: 20px;

    gap: 25px;
}

.section-projects .box {
    display: flex;

    flex-direction: column;

    align-items: center;

    width: 200px;

    border-radius: 5px;
}

.section-projects .boxes h5 {
    font-size: 2rem;

    font-weight: 500;
}

.section-projects .boxes p {
    font-weight: 200;
}

.section-projects .box {
    display: flex;

    flex-direction: column;

    align-items: center;

    width: 200px;

    border-radius: 5px;
}

.section-offers .projects {
    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    margin-top: 20px;

    gap: 25px;
}

.section-offers .project {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    width: 250px;

    height: 500px;

    overflow: hidden;

    border-radius: 5px;

    border: 1px solid #e7e7e7;
}

.section-offers .project div {
    width: 100%;
}

.section-offers .project p {
    margin: 0;
}

.section-offers .project .header img {
    height: 150px;

    width: 100%;
}

.section-offers .project div.investee p {
    font-size: 0.7rem !important;

    text-align: left;

    flex: 1;

    padding-left: 0.8rem;
}

.section-offers .project div.investee img {
    width: 40px;

    height: 40px;

    border-radius: 50%;

    position: relative;

    top: -20px;

    z-index: 1000;
}

.section-offers .project div.investee {
    display: flex;

    flex-direction: row;
}

.section-offers .project div.container {
    position: relative;

    top: -15px;

    flex: 1;
}

.section-offers .project div.title {
    margin-bottom: 1rem;
    height: 4rem;
    overflow: hidden;
}

.section-offers .project div.title h5 {
    font-size: 1rem;
}

.section-offers .project div.title p {
    font-size: 0.7rem !important;
    opacity: 0.7;
    max-height: 2.4rem;
    line-height: 1.2rem;
    overflow: hidden;
}

.section-offers .project div.top-progress {
    display: flex;

    flex-direction: row;

    justify-content: space-between;

    margin-bottom: 0.2rem;
}

.section-offers .project div.progressbar {
    background-color: #0285b1;

    height: 10px;

    display: flex;

    justify-content: flex-end;
}

.section-offers .project div.progress-value {
    background-color: #90c8e9;

    height: 10px;
}

.section-offers .project div.bottom-progress {
    display: flex;

    flex-direction: row;

    justify-content: space-between;

    margin-top: 0.2rem;
}

.section-offers .project div.bottom-progress p {
    font-size: 0.7rem;
    opacity: 0.7;
}

.section-offers .project div.project-row-wrapper {
    padding: 1rem 0;
}

.section-offers .project div.project-row {
    display: flex;
    flex-direction: row;
}

.section-offers .project div.project-row.first {
    border-bottom: 1px dashed #a5a5a5;
}

.section-offers .project div.project-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 0.5rem;
    padding-top: 0.5rem;
}

.section-offers .project div.project-col.first {
    border-left: 1px dashed #a5a5a5;
}

.section-offers .project div.project-col p.key {
    font-size: 0.6rem !important;
    opacity: 0.7;
}

.section-offers .project div.project-col p.value {
    font-size: 0.7rem !important;
    font-weight: bold;
    direction: ltr;
    padding-bottom: 0.5rem;
}

.section-offers .project div.project-status {
    height: 3rem;
    position: relative;
    top: -25px;
}

.section-offers .project div.project-status div {
    background-color: #347ab6;

    border-radius: 3px;

    display: flex;

    flex-direction: row;

    justify-content: center;

    align-items: center;

    margin: 5px 10px;

    flex: 1;

    width: auto;

    height: 2rem;
}

.section-offers .project div.project-status p {
    color: #fff;
}

.section-offers .boxes {
    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    margin-top: 20px;

    gap: 25px;
}

.section-offers .box {
    color: var(--white);

    background-color: var(--blue-primary);

    padding: 25px;

    width: 250px;

    height: 250px;

    border-radius: 5px;
}

.section-blog {
    background-color: var(--primary-gold);

    margin-top: 330px;

    height: 200px;
}

.section-blog .box {
    height: 300px;

    display: flex;

    flex-direction: column;
}

.section-blog img {
    max-width: 100%;

    max-height: 150px;

    border-radius: 5px;

    align-self: center;

    margin: 1rem 0;
}

.section-blog .container {
    transform: translateY(-280px);
}

.section-blog .container .boxes {
    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    margin-top: 20px;

    gap: 25px;
}

.section-blog .container .box {
    background-color: #f2f2f2;

    padding: 25px;

    width: 300px;

    border-radius: 20px;
}

.section-blog .container .box h2 {
    font-weight: 100;
}

.section-blog .box p {
    font-size: 0.8rem !important;

    overflow: hidden;
}

.section-blog .container h2,
.section-blog .container .boxes .box h2,
.section-blog .container .boxes .box p {
    margin: 0;
}

.section-newsletter {
    display: flex;

    justify-content: center;

    background-image: url(../images/motif2-01.png);

    background-size: cover;
}

.section-newsletter .contact-box {
    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 50px;

    background-color: var(--white);

    padding: 50px;

    border-radius: 10px;

    transform: translateY(-100px);
}

.section-newsletter .contact-box div {
    text-align: right;

    width: 225px;
}

.section-newsletter .contact-box div p {
    text-align: justify;
}

.section-newsletter .contact-box input {
    border: none;

    background-color: #f2f2f2;

    border-radius: 5px;
}

.section-newsletter .contact-box input:focus {
    box-shadow: none;
}

.section-newsletter .contact-box button {
    width: 100%;

    margin-top: 20px;

    padding: 10px;

    border-radius: 5px;

    background-color: var(--blue-primary);

    color: var(--white);

    border: none;

    transition: all 150ms ease-out;

    cursor: pointer;
}

.section-newsletter .contact-box button:hover {
    background-color: #182131;
}

.section-location {
    margin: 3rem 0;
}

.section-faq-page,
.section-about-page,
.section-guide-page {
    margin-bottom: 150px;
    text-align: right;
}

.section-faq-page .header,
.section-guide-page .header {
    padding: 1rem 1rem 2rem 1rem;
}

.section-faq-page .header h2,
.section-guide-page .header h2 {
    font-size: 2rem !important;
}

.section-faq-page .accordion-button {
    text-align: right;
}

.accordion-button::after {
    margin-right: auto;

    margin-left: initial;
}

.section-faq-page .btn.btn-link span.faq-q {
    overflow-x: auto;

    display: inline-block;

    max-width: 100%;

    padding-bottom: 1rem;
}

.section-faq-page .card-body {
    text-align: justify;
}

.section-guide-page h5 {
    margin: 4rem 2rem 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eeee;
}

.section-guide-page h5:first-child {
    margin: 1rem 2rem 2rem;
}

.section-guide-page div.video-wrapper {
    width: 90%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.section-guide-page video {
    max-width: 70%;
    max-height: 70%;
}

.section-about-page {
    margin-bottom: 4rem;
}

.section-about-page h2,
.section-about-page-carts h2 {
    text-align: center;
}

.section-about-page-carts .cart-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.section-about-page-carts .buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 1rem 0 2.5rem 0;
    background-color: var(--primary-gold);
    transition: all 250ms ease;
    border-radius: 50%;
    width: 200px;
    height: 200px;
}

.section-about-page-carts .buttons:hover {
    opacity: 0.7;
}

.section-about-page p.content {
    text-align: justify;
}

div.info-wrapper h1 {
    font-size: 1.5rem !important;
    margin-bottom: 1rem;
}

div.info-wrapper div.info {
    margin-bottom: 2rem;
}

div.info-wrapper div.info p {
    font-size: 0.8rem !important;
    margin-right: 0.6rem;
}

div.info-wrapper div.info p.risks {
    display: flex;
    flex-direction: row;
    gap: 2rem;
}

div.info-wrapper div.info p.risks span {
    font-size: 0.8rem !important;
}

div.info-wrapper div.info p.risks span.factor {
    font-weight: bold;
}

div.timeline-wrapper {
    text-align: center;
}

div.timeline-wrapper h4 {
    margin-bottom: 2rem;
}

div.timeline {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    position: relative;
    padding-bottom: 1rem;
}

div.timeline span.date {
    text-align: center;
    border: 1px solid var(--blue-primary);
    border-radius: 20px;
    padding: 3px 10px;
    min-width: 90px;
    font-size: 0.8rem !important;
}

div.timeline span.bullet {
    border: 1px solid var(--blue-primary);
    border-radius: 50%;
    background-color: var(--blue-primary);
    width: 15px;
    height: 15px;
    margin: 0 15px;
}

div.timeline span.title {
    text-align: right;
    font-size: 0.8rem !important;
    max-width: 120px;
}

div.timeline div.midline {
    position: absolute;
    height: 100%;
    top: 10px;
    right: 112px;
    width: 1px;
    margin-bottom: 20px;
    background-color: var(--blue-primary);
    z-index: 1000;
}

.loading-wrapper {
    position: fixed;
    left: 10px;
    top: 2px;
    padding: 0.2rem 0.5rem 0.2rem 3rem;
    border: 1px solid #c0eace;
    background-color: #d5f1de;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.loading-wrapper .loading {
    height: 3.2rem;
    width: 3.2rem;
    background: #d5f1de url("../../img/loading.gif") no-repeat center;
    background-size: cover;
}

.loading-wrapper p {
    color: #1c6e37;
    margin: 0;
}

footer {
    background-color: #0d244b;

    color: var(--white);

    font-weight: 200;
}

footer a {
    color: var(--white);

    font-weight: 300;

    font-size: 0.8rem;
}

footer .contact {
    display: flex;

    flex-wrap: wrap;

    justify-content: space-between;

    place-content: center;

    gap: 4rem;

    text-align: center;

    background-color: #f2f2f2;

    color: var(--black);

    margin: 0;

    padding: 2rem;

    width: 100%;
}

footer .contact .box {
    display: flex;

    flex-direction: column;

    flex: 1;

    height: 170px;
}

footer .contact .img {
    flex: 1;

    display: flex;

    align-items: center;

    justify-content: center;
}

footer .contact img {
    height: 100px;
}

footer .contact h4 {
    font-size: 1.1rem;

    font-weight: 400;
}

footer .contact p {
    font-size: 0.8rem;

    font-weight: 100;
}

footer .links {
    padding: 1rem;

    text-align: right;
}

footer .sub-footer {
    padding: 15px;

    text-align: center;

    background-color: #101b2e;
}

footer .sub-footer p {
    margin: 0;

    font-weight: 100;

    font-size: 0.8rem;

    color: var(--white);
}

.form-floating > label {
    right: 0;

    left: inherit;
}

.media-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
}

.media-box {
    padding: 10px;
}

.media-wrapper .media-box img {
    width: 250px;
    max-height: 250px;
}

@media (max-width: 576px) {
    .navbar-light .navbar-nav .nav-item.last {
        direction: rtl;
    }

    .section-images .image-wrapper {
        display: none;
    }

    .section-levels {
        padding-top: 3rem;
    }

    .section-blog {
        margin-top: 300px;

        height: auto;
    }

    .section-newsletter {
        width: 100%;

        padding: 0 12px;
    }

    footer .contact .box {
        width: 100%;

        flex: auto;
    }
}
