/*
 * Basic Framework 
*/

.m-auto {
    margin: 0 auto;
}

.mobile {
    display: none;
}

.text-center {
    text-align: center
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.relative {
    position: relative
}

.absolute {
    position: absolute;
}

/* ----- Padding ----- */

.p-tb-s {
    padding: 4rem 0
}

.p-tb-d {
    padding: 8rem 0
}

/* ----- Flex ----- */

.flex {
    display: flex;
}

.column {
    flex-direction: column;
}

.row {
    flex-direction: row;
}

/* ----- Gaps ----- */

.gap-1 {
    gap: 1rem
}

.gap-2 {
    gap: 2rem
}

.gap-3 {
    gap: 3rem
}

.gap-4 {
    gap: 4rem
}

.gap-5 {
    gap: 5rem
}

.gap-6 {
    gap: 6rem
}

.gap-7 {
    gap: 7rem
}

.gap-8 {
    gap: 8rem
}

/* ----- Align ----- */

.align-i-c {
    align-items: center;
}

/* ----- Justify ----- */

.justify-c-sb {
    justify-content: space-between
}

.justify-c-c {
    justify-content: center
}

/* ---- Border radius ----- */

.circle {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.rounded-4 {
    -webkit-border-radius: .5rem;
    -moz-border-radius: .5rem;
    border-radius: .5rem;
}

.rounded-8 {
    -webkit-border-radius: .8rem;
    -moz-border-radius: .8rem;
    border-radius: .8rem;
}

.rounded-10 {
    -webkit-border-radius: 1rem;
    -moz-border-radius: 1rem;
    border-radius: 1rem;
}

.rounded-12 {
    -webkit-border-radius: 1.2rem;
    -moz-border-radius: 1.2rem;
    border-radius: 1.2rem;
}

/* ----- Grid Templates ----- */

.grid {
    display: grid
}

/* Define the grid template for one column */
.grid-template-1 {
    grid-template-columns: 1fr;
}

/* Define the grid template for two columns */
.grid-template-2 {
    grid-template-columns: repeat(2, 1fr);
}

/* Define the grid template for three columns */
.grid-template-3 {
    grid-template-columns: repeat(3, 1fr);
}

/* Define the grid template for four columns */
.grid-template-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Define the grid template for five columns */
.grid-template-5 {
    grid-template-columns: repeat(5, 1fr);
}

/* Define the grid template for six columns */
.grid-template-6 {
    grid-template-columns: repeat(6, 1fr);
}

/* Define the grid template for seven columns */
.grid-template-7 {
    grid-template-columns: repeat(7, 1fr);
}

/* Define the grid template for eight columns */
.grid-template-8 {
    grid-template-columns: repeat(8, 1fr);
}

/* Define the grid template for nine columns */
.grid-template-9 {
    grid-template-columns: repeat(9, 1fr);
}

/* Define the grid template for ten columns */
.grid-template-10 {
    grid-template-columns: repeat(10, 1fr);
}

/* Define the grid template for eleven columns */
.grid-template-11 {
    grid-template-columns: repeat(11, 1fr);
}

/* Define the grid template for twelve columns */
.grid-template-12 {
    grid-template-columns: repeat(12, 1fr);
}

.shadow {
    box-shadow: 0px .5rem .5rem #c9c9c9
}

/* ----- Efeitos ao passar o mouse  ----- */

.scale-on-hover {
    transform: scale(100%);
    transition: all 0.1s ease-in-out;
}

.scale-on-hover:hover {
    transform: scale(105%);
    filter: brightness(120%);
}