/*.smooth_scrolling.wrapper {
    width: 100%;
    height: 100svh;
    overflow: hidden;
    position: relative;
    padding: 0;
}
  
.smooth_scrolling .scroll_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transform: translate3d(0, 0, 0);
    transition: transform 0.15s ease-out;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    min-height: 100svh;
}

.smooth_scrolling .scroll_wrapper > .content {
    flex: 1 1 0;
    width: 100%;
}
.smooth_scrolling .scroll_wrapper > .footer {
    flex: 0 0 auto;
    width: 100%;
}
*/
/*
.typo_counter {
    display: inline-block;
}
    */


.anim_item {opacity: 0; transition: all 1.25s ease; transform: translate(0,3em);}
.anim_item.start_anim {opacity: 1;}

@media screen and (min-width:40em){
    .anim_item {transform: translate(0,5em);}
}
@media screen and (min-width:64em){
    .anim_item {transform: translate(0,6em);}
}
@media screen and (min-width:90em){
    .anim_item {transform: translate(0,8em);}
}
@media screen and (min-width:120em){
    .anim_item {transform: translate(0,10em);}
}

.wrapper .anim_item.start_anim { transform: translate(0,0) scale(1); }
.wrapper .start_anim.end_anim { transition: all 0s ease; }



[class*="anim_border_"]{
    position: relative;
}
.anim_border_bottom:after {
    content: ''; position: absolute;
    bottom: 0; left: 0; width: 0; height: 1px;
    background-color: currentColor;
    transition: all 1.25s ease;
}
.start_anim .anim_border_bottom:after,
.anim_border_bottom.start_anim:after,
.anim_border_bottom:has(.start_anim):after {
    width: 100%;
    transition-delay: 1s;
}