/* Self-hosted Lato (was an @import to Google Fonts, which Lighthouse flagged as a ~820 ms
   render-blocker in the critical chain after Domine moved). Files: /fonts/lato/lato-v25-*.woff2
   — v25 variable fonts subset, same subsets Google serves. `unicode-range` keeps latin-ext
   from being fetched unless the page contains accented chars. */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/lato/lato-v25-latin-300.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/lato/lato-v25-latin-ext-300.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/lato/lato-v25-latin-700.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/lato/lato-v25-latin-ext-700.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    --regular-font: 'Lato', 'Helvetica Neue', Arial, sans-serif;
    --serif-font: Georgia, 'Times New Roman', Times, serif;
    --mono-font: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

    --color1: #1c1d21;
    --color2: #4392F1;
}

html, body {
    overflow-x: hidden;
}

body {
    font-family: var(--regular-font);
    background-color: #FAFAFA;
}

body.white-page {
    background-color: white;
}

#body-header {
    border-left: 1px solid #DDD;
    border-right: 1px solid #DDD;
}

body.white-page #body-header {
    border-left: none;
    border-right: none;
}

.bg-custom1 {
    background-color: var(--color1);
}

.bg-custom2 {
    background-color: var(--color2);
}

.hover\:bg-custom2:hover {
    background-color: var(--color2);
}

.font-regular {
    font-family: var(--regular-font);
}

.font-serif {
    font-family: var(--serif-font);
}

.monospace {
    font-family: var(--mono-font);
}

.color-gradient {
    background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
	background-size: 400% 400%;
	animation: gradient-animation 15s ease infinite;
}
@keyframes gradient-animation {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

a[name] {
    text-decoration: none;
    color: #000;
    display: block;
    position: relative;
    top: -90px;
    visibility: hidden;
}

.ratio-169 {
    width: 100%;
    padding-top: 56.25%;
    height: 0px;
    position: relative;
    margin: 20px 0 40px 0;
}

.ratio-169-inner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.ratio-916 {
    width: 50%;
    padding-top: 89%;
    height: 0px;
    position: relative;
    margin: 20px auto 40px auto;
}

.ratio-11 {
    width: 100%;
    padding-top: 100%;
    height: 0px;
    position: relative;
    margin: 20px 0 40px 0;
}

@media (max-width: 380px) {
    .ratio-916 {
      width: 100%;
      padding-top: 177.77%;
    }
}

.ratio-916-inner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* LEFT SIDEBAR */

#main-menu > ul {
    margin-left: -12px;
}

/* MAIN CONTENT */

.main-content, .template-collection {
    font-family: var(--serif-font);
    color: #555;
}

.main-content a, 
.main-content a:visited,
a.link,
a.link:visited {
    color: #397bc4;
    text-decoration: none;
    background: linear-gradient(0deg, rgb(237 244 251) 0%, rgb(237 244 251) 35%, transparent 35%);
}

.main-content a.button-link, 
.main-content a.button-link:visited {
    color: inherit;
    background: inherit;
    text-decoration: none;
}

.main-content code>a, 
.main-content code>a:visited {
    color: #397bc4;
    text-decoration: underline;
}

.main-content h2 {
    margin: 60px 0 10px 0;
    font-family: var(--regular-font);
    font-size: 32px;
    font-weight: bold;
    color: #333;
}

.main-content h2:first-child {
    margin-top: 0;
}

.main-content h3 {
    margin: 60px 0 10px 0;
    font-family: var(--regular-font);
    font-size: 21px;
    font-weight: bold;
    text-transform: uppercase;
    color: #333;
}

.main-content h4 {
    margin: 30px 0 10px 0;
    font-family: var(--regular-font);
    font-size: 20px;
    font-weight: bold;
}

.main-content h5 {
    margin: 20px 0 5px 0;
    font-family: var(--regular-font);
    font-size: 16px;
    font-weight: bold;
}

.main-content code:not(.hljs) {
    background: #edf4fb;
    padding: 2px 4px;
    font-size: 85%;
    border: 1px #CDE solid;
    white-space: nowrap;
    margin: 0 4px;
    border-radius: 5px;
}

.main-content p,
.template-collection p {
    margin-bottom: 10px;
    line-height: 32px;
    font-size: 19px;
}

.main-content ul,
.main-content ol {
    padding-left: 40px;
    font-size: 19px;
    margin: 20px 0;
}

.main-content ul { list-style-type: disc; }
.main-content ol { list-style-type: decimal; }

.main-content li {
    line-height: 32px; margin-bottom: 10px;
}

dt {
    font-weight: bold;
}

.message {
    background-color: rgb(226, 239, 255);
    border-left: solid 5px var(--color2);
    padding: 15px 10px 10px 15px;
    margin-top: 30px !important;
    position: relative;
}

.important {
    background-color: rgb(226, 239, 255);
    border-left: solid 5px var(--color2);
    padding: 50px 10px 10px 15px;
    margin-top: 30px !important;
    position: relative;
}
.important::before {
    content: 'Important';
    position: absolute;
    text-transform: uppercase;
    color: #333;
    font-size: 1rem;
    font-weight: bold;
    font-family: var(--regular-font);
    top: 8px;
}

.tip {
    background-color: rgb(255, 255, 200);
    border-left: solid 5px #dddd55;
    padding: 50px 10px 10px 15px;
    margin-top: 30px !important;
    position: relative;
}
.tip::before {
    content: 'Tip';
    position: absolute;
    text-transform: uppercase;
    color: #333;
    font-size: 1rem;
    font-weight: bold;
    font-family: var(--regular-font);
    top: 8px;
}

.tag {
    background: #eee;
    border-radius: 3px 0 0 3px;
    color: #555;
    display: inline-block;
    height: 26px;
    line-height: 26px;
    padding: 0 20px 0 23px;
    position: relative;
    margin: 0 10px 10px 0;
    text-decoration: none;
}

.tag::before {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 1px rgba(0, 0, 0, 0.25);
    content: '';
    height: 6px;
    left: 10px;
    position: absolute;
    width: 6px;
    top: 10px;
}

.tag::after {
    background: #fff;
    border-bottom: 13px solid transparent;
    border-left: 10px solid #eee;
    border-top: 13px solid transparent;
    content: '';
    position: absolute;
    right: 0;
    top: 0;
}

.glow {
    box-shadow: 0 0 5px rgba(81, 203, 238, 1);
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    border: 1px solid rgba(81, 203, 238, 1);
}

/* ROSETTA */

.rosetta {
    font-family: var(--regular-font);
    margin-top: 30px;
    margin-bottom: 30px;
}

.rosetta a {
    color: #333;
    text-decoration: none;
}

.rosetta ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.rosetta li {
    margin:0;
}

.rosetta-c > .codebox {
    border-top-left-radius: 0;
}

#home-code {
    height: 365px;
}

#home-code .rosetta {
    margin:0;
}

#home-code .rosetta  li {
    padding-top:2px;
    padding-bottom:2px;
}

#home-tabs li.rosetta-t-selected {
    border-color: var(--color2);
    background-color: rgba(75,85,99,var(--tw-bg-opacity));
}

#home-tabs :not(li.rosetta-t-selected){
    border:0;
}

#home-tabs a {
    color: #EEE;
}

#home-tab-contents {
    overflow-y: auto;
}

#home-tab-contents code {
    height: 310px;
    scrollbar-width: thin;
    scrollbar-color: transparent #AAA;
}

#home-tab-contents code::-webkit-scrollbar {
    width: 12px;
}
  
#home-tab-contents code::-webkit-scrollbar-track {
    background: transparent;
}
  
#home-tab-contents code::-webkit-scrollbar-thumb {
    background-color: #999;
    border-radius: 20px;
    border: 3px solid #333;
}

/* API SPECIFICATION */

.toc h2 {
    font-size: .875rem;
    line-height: 1.25rem;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: .75rem;
}

.toc h3 {
    font-size: .75rem;
    line-height: 1.25rem;
    text-transform: uppercase;
    font-weight: 600;
    margin: 1.5rem 0 .5rem 0;
    color:#AAA;
}

.toc h4 {
    margin-bottom: .4rem;
}

/* questionnaire */

.questionnaire ul {
    list-style-type: none;
}

.questionnaire label {
    cursor: pointer;
}

.questionnaire button {
    padding: 10px 20px;
    border-radius: 5px;
    background-color: #EEE;
    color: #888;
    font-family: var(--regular-font);
    font-weight: bold;
    font-size: 18px;
}

.questionnaire > div {
    text-align: center;
}

.questionnaire .missed {
    background-color: #e3170a;
    color: white;
}

.questionnaire .correct {
    background-color: #6baa75;
    color: white;
}

/* TABLES */

ul.data-table {
    padding-left: 0;
}

ul.data-table li {
    list-style-type: none;
}

div.data-table-col {
    padding-left: 30px;
}

div.data-table-col::before {
    color: #6C7A89;
    padding-right: 10px;
    content: attr(data-label);
}

table.default-table {
    width: 100%;
    margin: 30px 0;
}

table.default-table thead {
    border-bottom: 3px solid #DDD;
    line-height: 30px;
    text-transform: uppercase;
    font-family: var(--regular-font);
    text-align: left;
}

table.default-table tr {
    line-height: 40px;
    border-bottom: 1px solid #EEE;
}

/* PRICING */

@media (min-width: 768px) {
    .pricing-col:not(:last-child) {
        border-right-width: 1px;
    }
}

/* Alert */
#alert_bar a {
    text-decoration: underline;
}

/* Issue */
.issue {
    background-image: url('/images/json2video-logo.png');
    background-size: 30px;
    background-position: 0px 3px;
    background-repeat: no-repeat;
    padding-left: 40px;
    margin-bottom: 50px;
}