/* TODO Separar los estilos en archivos distintos para modularizar. Importarlo desde este archivo. */
@import 'partials/sections.css';
@import 'utils/line-surrounded-text.css';
@import 'partials/custom-stripe.css';

/* declarar la tipo de iconos */
@font-face {
    font-family: 'paywall icons';
    src: url('/public/fonts/font-paywall-icons.eot');
    src: url('/public/fonts/font-paywall-icons.eot?#iefix') format('embedded-opentype'),
    url('/public/fonts/font-paywall-icons.woff') format('woff'),
    url('/public/fonts/font-paywall-icons.woff2') format('woff2'),
    url('/public/fonts/font-paywall-icons.svg#paywall-icons') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --font-icons: 'paywall icons';
}

[class^="icon-"], [class*=" icon-"] {
    height: 25px;
    width: 25px;
    display: inline-block;
    fill: currentColor;
    margin: 0 2px 5px 0;
}

/* General Styles*/
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;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

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;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

.body {
    background-size: 100%;
}

.wrapper {
    max-width: 1110px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

main.wrapper {
    margin: 70px auto;
}

main.wrapper .first h1 {
    color: #FFF;
    font: 800 55px/57px "Roboto Slab", serif;
    margin-bottom: 30px;
    text-align: center;
}

main.wrapper .first button {
    background-color: #ff9d00;
    border: 2px solid #b2680b;
    color: #fff;
    border-radius: 6px;
    min-width: 187px;
    font: 600 16px/16px Arial, sans-serif;
    cursor: pointer;
    display: flex;
    height: 40px;
    justify-content: center;
    align-items: center;
    margin: auto;
}

.main-container {
    min-height: 290px;
    width: 100%;
}

.title-page {
    color: #fff;
    font: 800 55px/57px 'Roboto Slab', serif;
    margin-bottom: 30px;
    text-align: center;
}

.lead-page {
    color: #fff;
    font: 400 19px/26px 'Roboto Slab', serif;
    margin-bottom: 30px;
    text-align: center;
}

.title-sections {
    font: 800 35px/38px 'Roboto Slab', serif;
    margin-top: 65px;
    text-align: center;
    color: #505050;
    letter-spacing: -0.05em;
}

.title-item {
    font: 400 21px/25px Arial, sans-serif;
    margin-top: 15px;
    text-align: center;
    color: #505050;
    letter-spacing: -0.05em;
}

.txt-highlight {
    font: 800 25px/29px Arial, sans-serif;
    margin-top: 15px;
    display: block;
    color: #505050;
    letter-spacing: -0.05em;
}

.txt-little {
    font: 400 11px/12px Arial, sans-serif;
}

.link {
    font: 400 17px/20px 'Roboto Slab', serif;
    color: #0065a6;
    letter-spacing: -0.05em;
    text-decoration: none;
}

.link:hover {
    text-decoration: underline;
    color: #000;
}

/* Header */
.navigation-section {
    margin-bottom: 32px;
    background: #fff;
    border-bottom: 10px solid #333;
    height: 75px;
}

.navigation {
    color: #808080;
    max-width: 1120px;
    margin: auto;
    padding: 0;
}

.navigation .navbar-toggler-icon {
    width: 1em;
    height: 1em;
}

.navigation .logo {
    display: inline-block;
    margin: 6px;
    width: 251px;
    height: 33px;
}

.navigation .user-options {
    float: right;
    text-align: right;
    font: 600 12px/13px 'Roboto Slab', serif;
    text-transform: uppercase;
}

.navigation .user-options a {
    color: #505050;
}

.navigation .user-options a:active {
    color: #fff;
    background-color: #000;
}

.navigation .user-options li {
    cursor: pointer;
    display: flex;
    align-items: center;
}

.navigation .dropdown-menu {
    border: 0;
    box-shadow: none;
    text-align: right;
    top: 93%;
}

.navigation .navbar-nav {
    text-align: right;
}

.navigation .user-options .user-options-item {
    font: 400 14px/13px 'Roboto Slab', serif;
    text-transform: none;
}

.lang-dropdown-button {
    font-size: medium;
    text-align: right;
    color: #505050;
}

.lang-dropdown-menu {
    border: 0;
    box-shadow: none;
    min-width: 15px !important;
}

/* Menu Styles */
.menus-bar {
    margin: -20px auto 0 auto;
    position: sticky;
    z-index: 100;
    left: 0;
    right: 0;
    top: 50px;
    border-radius: 10px;
    width: max-content;
    height: 50px;
    box-shadow: 0 5px 5px -3px rgba(26, 26, 26, 0.9);
    background-color: #fff;
}

.menus-bar ul {
    text-align: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: center;
    height: 100%;
}

.menus-bar .menus-bar-item {
    color: #505050;
    font: 400 14px/13px 'Roboto Slab', serif;
    padding: 0 40px;
}

.menus-bar .menus-bar-item:hover {
    color: #000;
    font-weight: 700;
}

.menus-register {
    position: relative;
    max-width: 1110px;
    width: 100%;
    height: 125px;
}

.menus-register .register {
    position: relative;
    height: 23px;
}

.menus-register #toggle:checked ~ ul {
    height: 0%;
}

.menus-register ul {
    position: absolute;
    z-index: 100;
    right: 0;
    text-align: right;
    transition: all 0.4s ease-out;
    width: 165px;
    overflow: hidden;
    background-color: #fff;
    border-radius: 8px;
}

.menus-register ul .menus-register-link {
    color: #505050;
    font: 400 14px/13px 'Roboto Slab', serif;
    padding: 10px 20px;
    display: block;
    cursor: pointer;
}

.menus-register ul .menus-register-link:hover {
    color: #000;
    font-weight: 600;
}

/* Footer */

.footer .title-sections {
    padding-bottom: 150px;
    margin-top: 0;
    padding-top: 35px;
}

.footer .contact .contact-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width: 700px;
    width: 100%;
    margin: 15px auto 0;
}

.footer .contact .contact-container .contact-container-box {
    margin: 0 auto 50px;
}

/* Custom footer*/
footer.footer {
    background-color: #ececec;
    font: 400 16px/20px Arial, sans-serif;
    text-align: center;
    padding: 20px 15%;
    min-height: 198px;
}

.footer .contact {
    background-color: #fff;
    text-align: center;
    width: 100%;
}

.footer .contact:after {
    content: '';
    width: 183px;
    height: 11px;
    display: block;
    background-color: #c3dcf1;
    margin: auto;
}

.footer .contact .contact-container .contact-container-box.care:before {
    content: '';
    background: #fff url(/public/images/ico-atencion-cliente.png) no-repeat center center;
    width: 120px;
    height: 120px;
    border-radius: 100%;
    margin: -90px auto -20px;
    display: block;
    padding: 25px;
}

.footer .contact .contact-container .contact-container-box.customer:before {
    content: '';
    background: #fff url(/public/images/ico-atencion-cliente2.png) no-repeat center center;
    width: 120px;
    height: 120px;
    border-radius: 100%;
    margin: -90px auto -20px;
    display: block;
    padding: 25px;
}

/* Icons */
.icon::before {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

.fa-font-brands::before {
    font: var(--fa-font-brands);
}

.fa-font-solid::before {
    font: var(--font-icons);
}

.gigya-screen-dialog-top {
    background-color: #32373b !important;
    color: white;
    font-size: 19px;
    font-family: arial;
    max-height: 45px;
    border-top-left-radius: 4px !important;
    border-top-right-radius: 4px !important;
}

.gigya-screen input[type=submit] {
    border-color: #ff9d00 !important;
    color: #FFFFFF;
    background-color: #ff9d00 !important;
}

.gigya-screen input[type=submit]:hover {
    border-color: #292724 !important;
    color: #FFFFFF;
    background-color: #292724 !important;
}

.gigya-style-modern div.gigya-screen-dialog-close > a > img {
    filter: brightness(10);
}

@media screen and (max-width: 900px) {
    .navbar-collapse {
        z-index: 1;
    }

    main.wrapper {
        margin: 0 auto;
    }

    .navigation-section {
        padding-top: 5px;
        margin-bottom: 7px;
        height: 53px;
        border-bottom: 5px solid #333;
    }

    .navigation .logo {
        width: 145px;
        height: 20px;
        margin: 0 10px;
    }

    .navigation .navbar-toggler {
        margin: 0 10px;
    }

    .navigation .navbar-toggler:focus {
        box-shadow: none;
    }

    .navigation .navbar-collapse {
        background-color: #fff;
        border-top: 1px solid #e6e6e6;
        border-bottom: 5px solid #333;
        margin-top: 5px;
        padding: 0 7px 7px;
    }

    .navigation .user-options {
        float: none;
    }

    .navigation .container-fluid {
        padding: 0;
    }

    .navigation .user-options {
        margin: 5px 0 !important;
    }

    .navigation .user-options .user-menu .nav-link {
        margin: 0 !important;
        padding: 10px 25px;
        background-color: #6f808e;
        color: white;
        border-radius: 8px 8px 0 0;
    }

    .navigation .user-options .user-menu .dropdown-menu {
        display: block;
        background-color: #e5ecf3;
        border-radius: 0 0 8px 8px;
        margin-bottom: 5px;
    }

    .navigation .user-options .user-menu .dropdown-menu .user-options-item {
        padding: 4px 25px;
    }

    .navigation .user-options .user-menu .dropdown-menu .user-options-item:after,
    .navigation .user-options .language-menu .dropdown-menu .user-options-item:after {
        content: '';
        display: inline-block;
        width: 8px;
        height: 8px;
        border-radius: 100%;
        background-color: #555;
        margin-left: 10px;
    }

    .navigation .user-options .language-menu {
        margin: 0 !important;
        padding: 0 25px;
        border-radius: 8px;
        border: 1px solid #dcdcdc;
    }

    .navigation .user-options .language-menu .user-options-item {
        padding: 8px 0;
    }

    .navigation .user-options .menu-options-pral .user-options-item {
        display: block;
        padding: 8px 25px;
        border-bottom: 1px solid #dcdcdc;
    }

    .navigation .user-options .menu-options-pral li:last-child .user-options-item {
        border-bottom: none;
    }

    main.wrapper .first h1 {
        font: 800 26px/30px "Roboto Slab", serif;
    }

    main.wrapper .first button {
        margin: 0 auto 15px;
    }

    .navigation .user-options li,
    .navigation .user-options .nav-item {
        display: block;
    }

    .navigation .user-options .nav-item.register-menu {
        margin-right: 25px;
    }
}

body {
    background: #d2d1d1 var(--background-image) no-repeat 0 0;
}

.navigation .logo {
    background: var(--logo) no-repeat 0 0;
}

.display-none {
    display: none !important;
}

/*-- FOR TABLETS RESOLUTIONS --*/
@media (min-width: 768px) and (max-width: 900px) {
    .navigation .navbar-toggler {
        display: block;
    }

    .navbar-expand-md {
        flex-wrap: wrap;
    }

    .navbar-expand-md .navbar-nav {
        flex-direction: column;
    }

    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: initial;
    }

    .navbar-expand-md .navbar-collapse.collapse.show {
        display: block !important;
    }

    .navbar-expand-md .navbar-collapse {
        flex-basis: 100%;
        display: none !important;
    }

    .menu-options-pral.d-md-none {
        display: block !important;
    }

    .menus-bar.d-md-block {
        display: none !important;
    }

    .user-options.d-md-flex {
        display: initial !important;
    }
}

@media (min-width: 901px) {
    .navigation .navbar-toggler {
        display: none;
    }

    .navbar-expand-md {
        flex-wrap: nowrap;
    }

    .navbar-expand-md .navbar-nav {
        flex-direction: row;
    }

    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute;
        z-index: 999;
        right: 0;
        margin-left: -49px;
        opacity: .97;
    }

    .navbar-expand-md .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .menu-options-pral.d-md-none {
        display: none !important;
    }

    .menus-bar.d-md-block {
        display: block !important;
    }

    .user-options.d-md-flex {
        display: flex !important;
    }
}
