@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@100;200;300;400;500;600;700&family=Noto+Sans:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans&family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

* {
    box-sizing: border-box;
}

html {
    --hero-fade-duration: 10s;
    --danger-color: #dc3545;
    --purple: #92278F;
    --orange: #f7941d;
    --light-black: #2c2a2c;
    --light-purple: #FFF0FFB2;
    --light-orange: #FFF2E499;
    --light-pink: #fffbf7;
    --dark-purple: #330331;
    --light-gray: #FFF8FF;
    --medium-gray: #F6F5F0;
    --title-font: 'Josefin Sans', sans-serif !important;
    --para-font: 'Noto Sans JP', sans-serif !important;
}

body {
    font-family: var(--para-font);
}

::-moz-selection {
    /* Code for Firefox */
    color: white;
    background: var(--purple);
}

::selection {
    color: white;
    background: var(--purple);
}

a {
    text-decoration: none !important;
}

/* Fixed width container */
.fixed-width-container {
    max-width: 1600px;
    margin: 0 auto;
}

/* Font Families */

.title-font {
    font-family: var(--title-font);
}

p,
.para-font {
    font-family: var(--para-font);
    text-align: justify;

}

/* Text alignment Utitlities */

.text-nowrap {
    white-space: nowrap;
}

.text-align-start {
    text-align: start !important;
}

.text-align-center {
    text-align: center !important;
}

.text-align-end {
    text-align: end !important;
}

.icon-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    width: 80px;
    padding: 4px;
    border-radius: 300px;
    background-color: var(--orange);
    box-sizing: border-box;
    margin: 0px auto 1.2rem;

}

.icon-circle img {
    vertical-align: bottom;
    width: 40px;
    height: auto;
}

ul.checklist li {
    position: relative;
    list-style-type: none;
    margin-bottom: 0.6rem;
}

ul.checklist li i {
    position: absolute;
    left: -16px;
    /* color: var(--orange); */
}

.bg-image {
    position: relative;
}

.bg-image::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    /* background-image: url(); */

    background-position: center;
    background-size: cover;

}

.home-about.bg-image::before {
    background-image: url(../images/cb-bg-1.jpg);
    mix-blend-mode: luminosity;
    opacity: 0.6;
    z-index: -1;
}

@media only screen and (max-width: 992px) {
    .text-align-md-start {
        text-align: start !important;
    }

    .text-align-md-center {
        text-align: center !important;
    }

    .text-align-md-end {
        text-align: end !important;
    }
}

@media only screen and (max-width: 576px) {
    .text-align-sm-start {
        text-align: start !important;
    }

    .text-align-sm-center {
        text-align: center !important;
    }

    .text-align-sm-end {
        text-align: end !important;
    }
}

/* Font weights */

.fweight-thin {
    font-weight: 100;
}

.fweight-extra-light {
    font-weight: 200
}

.fweight-light {
    font-weight: 300
}

.fweight-regular {
    font-weight: 400;
}

.fweight-medium {
    font-weight: 500;
}

.fweight-semi-bold {
    font-weight: 600;
}

.fweight-bold {
    font-weight: 700;
}

/* Font Sizes */

.ftitle-1 {
    font-size: 52px;
}

.ftitle-2 {
    font-size: 40px;
}

.fsize-1 {
    font-size: 28px;
}

.fsize-2 {
    font-size: 22px;
}

.fsize-3 {
    font-size: 18px;
}

.fsize-4 {
    font-size: 16px;
}

/* Paragraph Font Size */
.fsize-4-half {
    font-size: 14px;
}

.fsize-5 {
    font-size: 12px;
}

@media only screen and (max-width: 1024px) {
    .ftitle-1 {
        font-size: 48px;
    }

    .ftitle-2 {
        font-size: 36px;
    }

    .fsize-1 {
        font-size: 26px;
    }

    .fsize-2 {
        font-size: 22px;
    }

    .fsize-3 {
        font-size: 16px;
    }

    .fsize-4 {
        font-size: 14px;
    }

    .fsize-4-half {
        font-size: 13px;
    }

    .fsize-5 {
        font-size: 12px;
    }
}

@media only screen and (max-width: 992px) {
    .ftitle-1 {
        font-size: 44px;
    }

    .ftitle-2 {
        font-size: 32px;
    }

    .fsize-1 {
        font-size: 24px;
    }

    .fsize-2 {
        font-size: 20px;
    }

    .fsize-3 {
        font-size: 14px;
    }

    .fsize-4 {
        font-size: 13px;
    }

    .fsize-4-half {
        font-size: 12px;
    }

    .fsize-5 {
        font-size: 11px;
    }
}

@media only screen and (max-width: 576px) {
    .ftitle-1 {
        font-size: 36px;
    }

    .ftitle-2 {
        font-size: 26px;
    }

    .fsize-1 {
        font-size: 22px;
    }

    .fsize-2 {
        font-size: 18px;
    }

    .fsize-3 {
        font-size: 14px;
    }

    .fsize-4 {
        font-size: 13px;
    }

    .fsize-4-half {
        font-size: 11px;
    }

    .fsize-5 {
        font-size: 10px;
    }
}

/* Colors */
.color-purple {
    color: var(--purple);
}

.color-dark-purple {
    color: var(--dark-purple);
}

.color-orange {
    color: var(--orange);
}

.bg-purple {
    background-color: var(--purple);
}

.bg-orange {
    background-color: var(--orange);
}

.bg-light-purple {
    background-color: var(--light-purple);
}

.bg-light-orange {
    background-color: var(--light-orange);
}

.bg-light-pink {
    background-color: var(--light-pink);
}

.bg-light-black {
    background-color: var(--light-black);
}

.bg-medium-gray {
    background-color: var(--medium-gray);
}

.bg-light-gray {
    background-color: var(--light-gray);
}

/* Links */
.section-link {
    position: relative;
    display: inline-block !important;
    color: var(--purple);
}

.section-link:hover {
    color: var(--purple);
}

.section-link img {
    transition: transform 0.4s ease;
    margin-bottom: 3px;
}

.section-link:hover img {
    transform: translate(10px, 0px);
}

.section-link:hover .down-arrow {
    transform: translateY(5px);
}

.section-link:hover .up-arrow {
    transform: translateY(-5px);
}

/* SHADOWS */
.drop-shadow {
    box-shadow: 0px 0px 40px #00000019;
}

/* Rounded corners */
.rounded-4 {
    border-radius: 10px;
}

.rounded-5 {
    border-radius: 12.5px;
}

.rounded-6 {
    border-radius: 15px;
}

.rounded-7 {
    border-radius: 20px;
}

.rounded-8 {
    border-radius: 25px;
}

.rounded-9 {
    border-radius: 30px;
}

/* Animations */
@keyframes title-fade {
    0% {
        opacity: 0
    }

    10% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        opacity: 0
    }
}

@-webkit-keyframes title-fade {
    0% {
        opacity: 0
    }

    10% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        opacity: 0
    }
}

.title-fade {
    -webkit-animation-name: title-fade;
    -webkit-animation-duration: var(--hero-fade-duration);
    animation-name: title-fade;
    animation-duration: var(--hero-fade-duration);
    transition: opacity var(--hero-fade-duration);
}

@keyframes subtitle-fade {
    0% {
        opacity: 0
    }

    40% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        opacity: 0
    }
}

@-webkit-keyframes subtitle-fade {
    0% {
        opacity: 0
    }

    40% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        opacity: 0
    }
}

.subtitle-fade {
    -webkit-animation-name: subtitle-fade;
    -webkit-animation-duration: var(--hero-fade-duration);
    animation-name: subtitle-fade;
    animation-duration: var(--hero-fade-duration);
    transition: opacity var(--hero-fade-duration);
}

@keyframes fade-in {
    0% {
        opacity: 0.4
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes fade-in {
    0% {
        opacity: 0.4
    }

    100% {
        opacity: 1
    }
}

.fade-in {
    -webkit-animation-name: fade-in;
    -webkit-animation-duration: 1.5s;
    animation-name: fade-in;
    animation-duration: 1.5s;
}