@font-face {
    font-family: 'Roboto';
    src: url('./assets/fonts/Roboto-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto_bold';
    src: url('./assets/fonts/Roboto-Bold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: 'RobotoCondesed';
    src: url('./assets/fonts/Roboto_Condensed-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'RobotoCondesed_bold';
    src: url('./assets/fonts/Roboto_Condensed-Bold.ttf') format('truetype');
    font-weight: bold;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--roboto);
}

a{
    text-decoration: none;
    color: inherit;
}

.bg__circle_gradient_blue{
    background: radial-gradient(ellipse 80% 60% at 50% 53%,#fff -10%, #25AAE1 30%, #0A3281 80%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: bottom;
}

.bg__blue{
    background: #0A3281;
}

.page{
    min-height: 100dvh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    z-index: 10;
    visibility: visible;
    pointer-events: auto;
}

.page__viewer{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100dvh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    visibility: visible;
    pointer-events: auto;
}

main{
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    gap: 30px;
    color: #fff;
    padding: 30px 40px;
}

.bg__black{
    background: #000000;
}

.mindar-ui-loading {
  display: none !important;
}

.header_home{
    padding: 16px 22px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--color-blue-light);
}

.header_loading{
    padding: 16px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border: none;
}

.page__viewer .header_loading{
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999;
}

.page__viewer .footer__viewer{
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
}

.page__viewer main{
    position: absolute;
    width: 100%;
    height: 100dvh;
    top: 0;
    left: 0;
    overflow: hidden;
}

.footer_home{
    padding: 30px 0px;
    border-top: 1px solid var(--color-blue-light);
    color: #fff;
    text-align: center;
    font-size: 13px;
}

.btn__blue{
    background-color: var(--color-blue-light);
    color: #fff;
    padding: 12px 22px;
    border-radius: 40px;
}

.btn__heart{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 500;
}

.btn__heart--r{
    border-radius: 30px 0 0 30px;
    padding: 14px 18px 14px 16px;
}

.btn__heart::before{
    content: '';
    display: inline-block;
    width: 14px;
    height: 12px;
    background-image: url('./assets/img/heart.svg');
    background-size: cover;
}

.btn__heart--r::before{
    content: '';
    width: 18px;
    height: 16px;
}

.btn__white{
    background-color: #fff;
    color: var(--color-blue);
    padding: 15px 10px;
    border-radius: 40px;
    font-size: 14px;
    border: none;
    font-weight: 600;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn__white span{
    padding-top: 4px;
}

.ios::before{
    content: '';
    display: inline-block;
    width: 14px;
    height: 17px;
    background-image: url('./assets/img/ios.svg');
    background-size: cover;
}

.android::before{
    content: '';
    display: inline-block;
    width: 14px;
    height: 17px;
    background-image: url('./assets/img/android.svg');
    background-size: cover;
}

.btns{
    display: flex;
    flex-direction: row;
    gap: 10px;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#title{
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#title h1{
    font-family: var(--roboto-condensed);
    font-size: 26px;
    font-weight: 500;
}

#title p{
    font-family: var(--roboto-condensed);
    line-height: 25px;
    font-size: 16px;
    font-weight: 400;
}

.img__portada{
    width: 100%;
    position: relative;
}
.backdrop{
    position: absolute;
    top: -5px;
    left: 10px;
    width: 93%;
    height: 90%;
    background-color: #359EC9;
    opacity: 0;
    transform: rotate(-3deg);
}

html.a-fullscreen:has(#page__viewer.hidden_page) {
    position: initial !important;
}

.img__portada img{
    width: 100%;
    position: relative;
    z-index: 2;
}

.text__portada{
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    text-align: center;
    text-wrap: balance;
    font-size: 14px;
    line-height: 18px;
}

.hidden{
    display: none;
}

.hidden_page{
    visibility: hidden;
    pointer-events: none;
}

.logo__loading{
    padding-inline: 22px;
}

.loading__container{
    position: relative;
    display: flex;
    justify-content: end;
}

.loading_text{
    margin-bottom: 60px;
}

.timer{
    color: white;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: 13px;
    margin-right: 30px;
    background-color: #00000033;
    font-weight: 600;
}

.title__video{
    color: white;
    padding: 5px 20px;
    border-radius: 50px;
    font-size: 13px;
    background-color: #00000033;
    font-weight: 600;
}

.btn__record{
    width: 60px;
    height: 60px;
    background-color: transparent;
    border: 3px solid white;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
}

.btn__record::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 47px;
    height: 47px;
    background-color: #FF0000;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}

.btn__record--stop{
    width: 60px;
    height: 60px;
    background-color: transparent;
    border: 3px solid white;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
}

.btn__record--stop::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    background-color: #FF0000;
    transform: translate(-50%, -50%);
    border-radius: 4px;
}

.footer__viewer{
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    align-items: center;
    padding-block: 30px;
}

.logo__viewer{
    margin-top: 10px;
}

#recordingCanvas {
    position: absolute;
    width: 1px;
    height: 1px;
    top: -9999px;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

.mindar-ui-overlay{
    height: fit-content !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.video__container__btns{
    position: relative;
    width: 60px;
    height: 60px;
}


/* ========================= Fish Animation ======================= */

svg#fish {
  top: 50%;
  transform: translateY(-50%);
}

svg.fish{
  overflow: hidden;
}

@-webkit-keyframes swim
{
	0% {margin-left: -265px}
	90% {margin-left: 100%;}
	100% {margin-left: 100%;}
}

@keyframes swim
{
	0% {margin-left: -265px}
	70% {margin-left: 100%;}
	100% {margin-left: 100%;}
}

.fish{
	width: 265px;
	height: 134px;
	margin-left: -265px;
    scale: 1.5;
	position: absolute;	
	animation: swim 8s;
	-webkit-animation: swim 8s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	animation-timing-function: linear;
	-webkit-animation-timing-function: linear;
}

svg #fish1,
svg #fish2,
svg #fish3,
svg #fish4,
svg #fish5,
svg #fish6 {
fill:#186FB1;
  
    -moz-animation: bounce 2s infinite;
  -webkit-animation: bounce 2s infinite;
  animation: bounce 2s infinite;
}

svg #fish2{
	animation-delay: 0.5s;
	-webkit-animation-delay: 0.5s;
}

svg #fish3{
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}

svg #fish4{
	animation-delay: 0.4s;
	-webkit-animation-delay: 0.4s;
}

svg #fish5{
	animation-delay: 0.1s;
	-webkit-animation-delay: 0.1s;
}

svg #fish6{
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.3s;
}

/**/
@-moz-keyframes bounce {
  0%, 50%, 100% {
    -moz-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -moz-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  75% {
    -moz-transform: translateY(-3px);
    transform: translateY(-3px);
  }
}
@-webkit-keyframes bounce {
  0%, 50%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  75% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
  }
}
@keyframes bounce {
  0%, 50%, 100% {
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -moz-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  75% {
    -moz-transform: translateY(-3px);
    -ms-transform: translateY(-3px);
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
  }
}

body, html {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

body:has(.modal__loading:not(.hidden)) {
  overflow-y: hidden;
  max-height: 100dvh;
}

.page {
  overflow: hidden;
  position: relative;
}


.a-loader-title{
    display: none !important;
}

.modal__loading{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0000009f;
    z-index: 9999;
    color: black;
}

.modal__loading_inner{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background-color: #ffffffbb;
    width: 220px;
    border-radius: 5px;
    padding: 20px;
}

.modal__loading_text{
    font-size: 15px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-family: var(--roboto-bold);
}

#modal__loading_number{
    font-size: 20px;
    font-family: var(--roboto-bold);
}

:root{
    --color-blue-light: #25aae2;
    --color-blue: #0E438F;
    --roboto: 'Roboto', sans-serif;
    --roboto-bold: 'Roboto_bold', sans-serif;
    --roboto-condensed: 'RobotoCondesed', sans-serif;
    --roboto-condensed-bold: 'RobotoCondesed_bold', sans-serif;
}