/* Basic Styles */
*, *:before, *:after {
	box-sizing: border-box;
}

html {
    font-size: 18px;
    scroll-behavior: smooth;
    border: 0;
}

body {
	margin: 0;
	padding: 0;
    font-size: 100%;
}

form {
	margin: 0;
	padding: 0;
	border: 0;
}

img {
	border: none;
	-ms-interpolation-mode: bicubic;
	max-width: 100%;
    height: auto;
}

section {
    padding: 2em 0em;
}

 [class*="flex"] {
     display: flex;
     align-items: center;
     justify-content: space-between;
 }
 [class*="flex-right"] {
    display: flex;
    align-items: flex-end;
}
 [class*="flex-center"] {
     justify-content: center;
     text-align: center;
 }
 [class*="flex-even"] {
    justify-content: space-evenly;
    text-align: center;
}
[class*="flex-even-lft"] {
    justify-content: space-evenly;
    text-align: left;
}
 [class*="flex-top"] {
    align-items: flex-start;
}
 [class*="wrap"] {
    flex-wrap: wrap;
}
[class*="stretch"] {
    align-items: stretch;
    align-content: space-around;
 }
 [class*="dir-row"] {
    flex-direction: row;
 }
 .start {
     justify-content: flex-start;
 }
 .flex.items-auto > li {
     flex: 1 1 auto;
 }
 ul {
     list-style: none;
     padding: 0;
     margin: 0;
 }
.ovr-flw {
    overflow: hidden;
}
 .text-center {
     text-align: center;
 }
 .block {
     display: block;
 }
.justify {
    justify-content: center;
}
.r-justify {
    justify-content: right;
}
 .margin-bottom {
     margin-bottom: 2rem;
 }
 .margin-top {
    margin-top: 2rem;
}
 .grid-padding {
    padding: 2rem;
 }
 .sml-v-padding {
     padding: 0em 0em 1.5em 0em;
 }
.sml-top-padding {
    padding-top: 1rem;
}
 .relative {
     position: relative;
 }

.top-padding {
    padding-top: 2.5em;
}

.btn {
    z-index: 1;
    overflow: hidden;
    text-align: center;
    display: inline-flex;
    align-items: center;
    padding: 2em 3em;
    color: var(--text);
    background-color: var(--buttons);
}


a {
    text-decoration: none;
    cursor: pointer;
}

.scale {
    display: block;
    position: relative;
}
.scale-item {
    transition: transform 0.35s ease 0s;
}
.shift-item {
    transition: transform 0.35s ease 0s;
    display: block;
}
.no-pad {
    padding: 0 !important;
}
.main-padding {
    padding-left: 3em;
    padding-right: 3em;
    
}
section.main-padding img.content-1 {
    padding-left: 0;
    padding-right: 0;
}
.lrg-img {
    max-width: 1400px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.crop-img {
    position: relative;
}

.crop-img img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: top;
}


.crop-img::after {
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 100%;
}

.bx-sdw {
    box-shadow: 5px 5px 13px 0px rgb(0 0 0 / 20%);
}

.bdr-rds {
    border-radius: .5rem;
    overflow: hidden;
}

.v-padding {
    padding-top: 4em;
    padding-bottom: 4em;
}   
.home .v-padding.btn-pad {
    padding-top: 10em;
}
.h-padding-1 {
    padding-left: 1em;
    padding-right: 1em;
}
.h-padding-2 {
    padding-left: 0.25em;
    padding-right: 0.25em;
}
.scale:hover .scale-item {
    transform: scale(1.1);
}
.shift:hover .shift-item {
    transform: translateX(3rem);
}
.mosaic .col li + li {
    margin-top: 2rem !important;
}
.mosaic .col li {
    margin: 0;
}
.yt-vids {
    width: 1200px;
    height: 674px;
}
.nxt-prv-btn {
    position: relative;
    background: none;
    display: flex;
    border: none;
    font-size: 4rem;
    z-index: 2;
    color: var(--dark-text);
    opacity: 80%;
    cursor: pointer;
    border-radius: .25rem;
}
svg {
    height: 1em;
    width: 1em;
    fill: currentcolor;
}
@media screen and (min-width: 1025px) {
    .crop-img img {
        position: absolute;
        top: 0;
        left: 0;
        height: 120%;
        width: 100%;
        object-fit: cover;
        object-position: top;
    }
    .margin {
        margin: 1rem;
    }
}
@media screen and (min-width: 1281px) {
    .hide-1281 {
        display: none;
    }
}


@media screen and (max-width:1600px) {

}
@media screen and (max-width:1440px) {
    
}
@media screen and (max-width:1280px) {
    .hide-1280 {
        display: none;
    } 
    .yt-vids {
        width: 800px;
        height: 480px;
    }
    .h-padding-1280 {
        padding: 0em 3em;
    }
}
@media screen and (max-width:1024px) {

    .hide-1024 {
        display: none;
    }
    [class*="blk-1024"] {
        display: block;
    }
    [class*="blk-1024"] > * {
        width: 100% !important;
    }
    [class*="blk-1024-mgd"] > * + * {
        margin-top: 2rem;
    }
    .h-padding-1024 {
        padding: 0em 1.5em;
    }
    .v-padding-1024 {
        padding: .8em 0em;
    }
    .top-padding-1024 {
        padding-top: 2.5em;
    }
    br.none {
        display: none;
    }
    .main-padding-1024 {
        padding-left: 3em;
        padding-right: 3em;
        
    }
    .main-padding-nova-1024 {
        padding-left: 1em;
        padding-right: 1em;
        
    }
    .margin-top-1024 {
        margin-top: 2rem;
    }
    .sml-margin-top-1024 {
        margin-top: 1rem;
    }
    .lrg-mrg-top-1024 {
        margin-top: 4rem;
    }
    .margin-bottom-1024 {
        margin-bottom: 2rem;
    }

    .yt-vids {
        width: 640px;
        height: 400px;
    }
    .home section.pad {
        padding: 1em 0em;
    }
    .home .margin-bottom {
        margin-bottom: 0;
    }
    .bx-sdw-1024 {
        box-shadow: none;
    }
    section.main-padding.about-me {
        padding-left: 0;
        padding-right: 0;
    }
    .text-center-1024 {
        text-align: center;
    }
}
@media screen and (max-width:800px) {
    [class*="blk-800"] {
        display: block;
    }
    [class*="blk-800"] > * {
        width: 100% !important;
    }
    [class*="blk-800-mgd"] > * + * {
        margin-top: 2rem;
    }
    .yt-vids {
        width: 620px;
        height: 380px;
    }
    .hide-800 {
        display: none;
    }
}
@media screen and (max-width:834px) {
    .hide-834 {
        display: none;
    }
}
@media screen and (max-width:540px) {
    .main-padding-540 {
        padding-left: 1.5em;
        padding-right: 1.5em;
    }
}
@media screen and (max-width:500px) {
    .yt-vids {
        width: 560px;
        height: 320px;
    }
}