/* CSS Reset */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
    overflow: hidden;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1.35;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Page Styles */

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Thin.ttf') format('truetype');
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-ExtraLight.ttf') format('truetype');
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
}


.template-container {
    width: 100vw;
    height: 100vh;
    position: relative;
}

.footer-container {
    background-color: rgba(255, 255, 255, 0.89);
    backdrop-filter: blur(.5vmax);
    overflow: unset;
}

.template-media {
    width: 100%;
    height: 100%;
    position: absolute;
}

.template-media img, video {
    width: -webkit-fill-available;
    height: -webkit-fill-available;
    object-fit: cover;
}


.information-bar-container {
    position: relative;
    display: flex;
    overflow: unset;
    padding: 0 1vmax;
}

.information-bar-container .brand {
    width: 10vmax;
    height: 10vmax;
    box-shadow: rgb(0 0 0 / 18%) 0 0 2vmax;
    background-color: white;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: relative;
    z-index: 9;
    margin-top: -.75vmax;
}

.information-bar-container .brand img{
    width: 9vmax;
    height: 9vmax;
}


.information-bar-container .texts {
    position: relative;
    overflow: unset;
    padding: 2.5vmax 2vmax 1.75vmax;
}


.information-bar-container .title {
    font-family: Montserrat;
    font-weight: 600;
    color: white;

    text-transform: uppercase;

    width: max-content;

    margin-top: -2.5vmax;
    max-width:50%;

    font-size: 1.5vmax;
    line-height: 1;
    padding: 0.75vmax 1vmax;
    border-radius: 0 0 .5vmax .5vmax;
    overflow: unset;

    letter-spacing: 1.25px;

}

.information-bar-container .description {
    margin-top: .75vmax;
    font-size: 2.5vmax;
    font-family: Montserrat;
    font-weight: 700;
    box-sizing: border-box;
    min-height: 8vmax;
    display: flex;
    align-items: center;
    color: #222;
    line-height: 1.35;
}

.information-bar-container .credits {
    position: absolute;
    top: .75vmax;
    right: .75vmax;
    font-family: Montserrat;
    font-weight: 500;
    opacity: .7;
    font-size: 1vmax;
    text-transform: uppercase;
    color: #555
}

.qr-code-container {
    background-color: rgba(241, 102, 24, .8);
    padding: .5vmax;
   
    border-radius: .9vmax;
    backdrop-filter: blur(1vmax);

    position: absolute
}

.qr-code-container img {
    width: 9vmax;
    height: 9vmax;
    margin: 0;
    padding: 0;
    border: 0;
    display: block;
    border-radius: .5vmax;
}


#progress-bar {
    bottom: .25vmax;
    left: 100%;
    height: .4vmax;
    right: .75vmax;
    background-color: #f16618;
    /* animation-timing-function: linear; */
    border-radius: .2vmax;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.89);
    left: .75vmax;
}

#progress-bar.start-animation {
    animation-name: progress-anim;
    animation-duration: 20s;
    animation-timing-function: linear;
}

@keyframes progress-anim {
    0%   {left: .75vmax;}
    100% {left: 100%;}
}


.ribbon1 {
    position: absolute;
    top: -6.1px;
    left: 20%;
    overflow: unset;
  }
  .ribbon1:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-left: 53px solid transparent;
    border-right: 53px solid transparent;
    border-top: 10px solid #f16618;
  }
  .ribbon1 span {
    position: relative;
    display: block;
    text-align: center;
    background: #f16618;
    font-size: 14px;
    line-height: 1;
    padding: 12px 8px 10px;
    border-radius: 0 8px 8px 8px;
    overflow: unset;
  }
  .ribbon1 span:before, .ribbon1 span:after {
    position: absolute;
    content: "";
  }
  .ribbon1 span:before {
   height: 6px;
   width: 6px;
   left: -6px;
   top: 0;
   background: #f16618;
  }
  .ribbon1 span:after {
   height: 6px;
   width: 8px;
   left: -8px;
   top: 0;
   border-radius: 8px 8px 0 0;
   background: #C02031;
  }

.template-container.horizontal .content-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: flex-end;
}

.template-container.horizontal .content-container .footer-container {
    flex-grow: 1;
    display: flex;
    width: unset;
    max-width: 35%;
}

.template-container.horizontal .content-container .footer-container .information-bar-container .brand {
    position: absolute;
    top: 2.5vmax;
    left: -7.5vmax;
}

.template-container.horizontal .content-container .footer-container .information-bar-container .texts {
    margin-left: 2.5vmax;
}

.template-container.horizontal .qr-code-container {
    bottom: 2vmax;
    left: 2vmax;
}

.template-container.vertical .qr-code-container {
    top: 2vmax;
    right: 2vmax;
}

.template-container.vertical .content-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: unset;
}

.template-container.vertical .content-container .footer-container {
    position: absolute;
    bottom: 0;
    overflow: unset;
    width: 100%;
}

@media (orientation: portrait) {
    .information-bar-container {
        flex-direction: column;
    }
    .information-bar-container {
        padding: 0;
    }
    .information-bar-container .brand {
        
        margin-bottom: .5vmax;
        margin-top: unset;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .information-bar-container .brand {
        width: 100%;
        height: auto;
        box-shadow: unset;
        background-color: transparent;
        margin-top: unset;
        border-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        position: relative;
        padding-top: .5vmax;
    }

    .information-bar-container .brand img {
        height: 90%;
        width: auto;
        margin-bottom: .5vmax;
        margin-top: .5vmax;
        margin-top: unset;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .information-bar-container .texts .title {
        border-radius: .5vmax;
    }

    .template-container.vertical .content-container {
        position: absolute;
        top: unset;
        bottom: 0;
        left: 0;
        right: 0;
        overflow: unset;
    }
    
    .template-container.vertical .content-container .footer-container {
        position: unset;
        width: unset;
    }

    .template-container.vertical .qr-code-container {
        top: unset;
        bottom: calc(100% + 2vmax);
        right: 2vmax;
    }

}

@media (min-aspect-ratio: 4/2) {
    /*16:9 = uma tela, 16:6 = duas telas, 16:3 = três telas, logo 16:4 = mais de duas telas e menos que três, não usar o número exato de telas e sim um valor intermediário.*/
    /*.template-container.horizontal .qr-code-container {
        bottom: 10vmin;
        left: 1vmax;
    }
    .information-bar-container .credits {
        top:unset;
        bottom: .75vmax;
    }
    .information-bar-container .description{
        font-size: 6vmin;
    }*/
}

@media (min-aspect-ratio: 16/7) {
    /*16:9 = uma tela, 16:6 = duas telas, 16:3 = três telas, logo 16:4 = mais de duas telas e menos que três, não usar o número exato de telas e sim um valor intermediário.*/
    
    .template-media {
        width: 66.77%;
    }

    .template-container.horizontal .content-container .footer-container .information-bar-container .brand {
        position: absolute;
        top: 1.5vmax;
        left: unset;
        right: 1vmax;
        width: 6vmax;
        height: 6vmax;
    }
    
    .template-container.horizontal .content-container .footer-container .information-bar-container .brand img{
        width: 5.5vmax;
        height: auto;
    }

    .template-container.horizontal .content-container .footer-container .information-bar-container .description {
        margin-top: .75vmax;
        font-size: 1.5vmax;
        font-family: Montserrat;
        font-weight: 700;
        box-sizing: border-box;
        min-height: 8vmax;
        display: flex;
        align-items: center;
        color: #222;
        line-height: 1.35;
        max-width: 80%;
    }

    .template-container.horizontal .content-container .footer-container {
        width: unset;
        display: flex;
        flex-grow: 1;
        max-width: 33.33%;
    }

    .template-container.horizontal .content-container .footer-container .information-bar-container {
        margin-left: unset;
        max-width: 95%;
    }  

    .template-container.horizontal .content-container .footer-container .information-bar-container .texts {
        margin-left: unset;
        max-width: 100%;
    }
    
    .template-container.horizontal .content-container .footer-container .information-bar-container .credits {
        top: unset;
        left: unset;
        bottom: .75vmax;
        right: unset;
    }

    .template-container.horizontal .qr-code-container {
        bottom: 1vmax;
        left: 1vmax;
    }

   .template-container.horizontal .qr-code-container img {
        width: 7vmax;
        height: 7vmax;
        border-radius: .4vmax;
    }
  }

.reveal {
    margin-bottom: -.5vmax;
    opacity: 0;
    visibility: hidden;
    transition: all 150ms ease-in-out;
}

.reveal.show {
    margin-bottom: 0;
    visibility: visible;
    opacity: 1;
}

.scale {
    transform: scale(.9);
    opacity: 0;
    visibility: hidden;
    transition: all 150ms ease-in-out;
}

.scale.show {
    transform: scale(1);
    visibility: visible;
    opacity: 1;
}