html {

    font-family: sans-serif;

    -ms-text-size-adjust: 100%;

    -webkit-text-size-adjust: 100%

}

body {

    margin: 0

}

aside, footer, header, nav {

    display: block

}

a {

    background-color: transparent

}

a:active, a:hover {

    outline: 0

}

b, strong {

    font-weight: bold

}

h1 {

    font-size: 2em;

    margin: 0.67em 0

}

img {

    border: 0

}

hr {

    -webkit-box-sizing: content-box;

    -moz-box-sizing: content-box;

    box-sizing: content-box;

    height: 0

}

button, input, textarea {

    color: inherit;

    font: inherit;

    margin: 0

}

button {

    overflow: visible

}

button {

    text-transform: none

}

button, html input[type="button"] {

    -webkit-appearance: button;

    cursor: pointer

}

button::-moz-focus-inner, input::-moz-focus-inner {

    border: 0;

    padding: 0

}

input {

    line-height: normal

}

textarea {

    overflow: auto

}

@media print {

    *, *:before, *:after {

        color: #000 !important;

        text-shadow: none !important;

        background: transparent !important;

        -webkit-box-shadow: none !important;

        box-shadow: none !important

    }

    a, a:visited {

        text-decoration: underline

    }

    a[href]:after {

        content: "("attr(href) ")"

    }

    a[href^="#"]:after {

        content: ""

    }

    img {

        page-break-inside: avoid

    }

    img {

        max-width: 100% !important

    }

    p, h2, h3 {

        orphans: 3;

        widows: 3

    }

    h2, h3 {

        page-break-after: avoid

    }

    .navbar {

        display: none

    }

}

* {

    -webkit-box-sizing: border-box;

    -moz-box-sizing: border-box;

    box-sizing: border-box

}

*:before, *:after {

    -webkit-box-sizing: border-box;

    -moz-box-sizing: border-box;

    box-sizing: border-box

}

html {

    font-size: 10px;

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)

}

body {

    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;

    font-size: 14px;

    line-height: 1.42857143;

    color: #333;

    background-color: #fff

}

input, button, textarea {

    font-family: inherit;

    font-size: inherit;

    line-height: inherit

}

a {

    color: #000000;

    text-decoration: none

}

a:hover, a:focus {

    color: #23527c;

    text-decoration: underline

}

a:focus {

    outline: 5px auto -webkit-focus-ring-color;

    outline-offset: -2px

}

img {

    vertical-align: middle

}

.thumbnail>img, .thumbnail a>img {

    display: block;

    max-width: 100%;

    height: auto

}

.img-thumbnail {

    padding: 4px;

    line-height: 1.42857143;

    background-color: #fff;

    border: 1px solid #ddd;

    border-radius: 30px;

    -webkit-transition: all .2s ease-in-out;

    -o-transition: all .2s ease-in-out;

    transition: all .2s ease-in-out;

    display: inline-block;

    max-width: 100%;

    height: auto;

    object-fit: cover;

}

hr {

    margin-top: 20px;

    margin-bottom: 20px;

    border: 0;

    border-top: 1px solid #eee

}

.sr-only {

    position: absolute;

    width: 1px;

    height: 1px;

    padding: 0;

    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    border: 0

}

h1, h2, h3, h4 {

    font-family: inherit;

    font-weight: 500;

    line-height: 1.1;

    color: inherit

}

h1, h2, h3 {

    margin-top: 20px;

    margin-bottom: 10px

}

h4 {

    margin-top: 10px;

    margin-bottom: 10px

}

h1 {

    font-size: 36px

}

h2 {

    font-size: 24px

}

h3 {

    font-size: 24px

}

h4 {

    font-size: 18px

}

p {

    margin: 0 0 10px

}

.text-center {

    text-align: center

}

ul, ol {

    margin-top: 0;

    margin-bottom: 10px

}

ul ul {

    margin-bottom: 0

}

.list-unstyled {

    padding-left: 0;

    list-style: none

}

.list-inline {

    padding-left: 0;

    list-style: none;

    margin-left: -5px

}

.list-inline>li {

    display: inline-block;

    padding-right: 5px;

    padding-left: 5px

}

.container {

    padding-right: 15px;

    padding-left: 15px;

    margin-right: auto;

    margin-left: auto

}

@media (min-width:768px) {

    .container {

        width: 750px

    }

}

@media (min-width:992px) {

    .container {

        width: 970px

    }

}

@media (min-width:1200px) {

    .container {

        width: 1170px

    }

}

.row {

    margin-right: -15px;

    margin-left: -15px

}

.col-sm-2, .col-lg-3, .col-xs-4, .col-sm-4, .col-lg-6, .col-xs-8, .col-sm-8, .col-xs-12, .col-sm-12, .col-lg-12 {

    position: relative;

    min-height: 1px;

    padding-right: 15px;

    padding-left: 15px

}

.col-xs-4, .col-xs-8, .col-xs-12 {

    float: left

}

.col-xs-12 {

    width: 100%

}

.col-xs-8 {

    width: 66.66666667%

}

.col-xs-4 {

    width: 33.33333333%

}

@media (min-width:768px) {

    .col-sm-2, .col-sm-4, .col-sm-8, .col-sm-12 {

        float: left

    }

    .col-sm-12 {

        width: 100%

    }

    .col-sm-8 {

        width: 66.66666667%

    }

    .col-sm-4 {

        width: 33.33333333%

    }

    .col-sm-2 {

        width: 16.66666667%

    }

}

@media (min-width:1200px) {

    .col-lg-3, .col-lg-6, .col-lg-12 {

        float: left

    }

    .col-lg-12 {

        width: 100%

    }

    .col-lg-6 {

        width: 50%

    }

    .col-lg-3 {

        width: 25%

    }

}

.form-control {

    display: block;

    width: 100%;

    height: 34px;

    padding: 6px 12px;

    font-size: 14px;

    line-height: 1.42857143;

    color: #555;

    background-color: #fff;

    background-image: none;

    border: 1px solid #ccc;

    border-radius: 4px;

    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);

    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);

    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;

    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;

    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s

}

.form-control:focus {

    border-color: #66afe9;

    outline: 0;

    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);

    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6)

}

.form-control::-moz-placeholder {

    color: #999;

    opacity: 1

}

.form-control:-ms-input-placeholder {

    color: #999

}

.form-control::-webkit-input-placeholder {

    color: #999

}

.form-control::-ms-expand {

    background-color: transparent;

    border: 0

}

.form-control[readonly] {

    background-color: #eee;

    opacity: 1

}

textarea.form-control {

    height: auto

}

.form-group {

    margin-bottom: 15px

}

.input-lg {

    height: 46px;

    padding: 10px 16px;

    font-size: 18px;

    line-height: 1.3333333;

    border-radius: 6px

}

textarea.input-lg {

    height: auto

}

.form-horizontal .form-group {

    margin-right: -15px;

    margin-left: -15px

}

.btn {

    display: inline-block;

    margin-bottom: 0;

    font-weight: normal;

    text-align: center;

    white-space: nowrap;

    vertical-align: middle;

    -ms-touch-action: manipulation;

    touch-action: manipulation;

    cursor: pointer;

    background-image: none;

    border: 1px solid transparent;

    padding: 6px 12px;

    font-size: 14px;

    line-height: 1.42857143;

    border-radius: 4px;

    -webkit-user-select: none;

    -moz-user-select: none;

    -ms-user-select: none;

    user-select: none

}

.btn:focus, .btn:active:focus {

    outline: 5px auto -webkit-focus-ring-color;

    outline-offset: -2px

}

.btn:hover, .btn:focus {

    color: #333;

    text-decoration: none

}

.btn:active {

    background-image: none;

    outline: 0;

    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125)

}

.btn-primary {

    color: #fff;

    background-color: #000000;

    border-color: #2e6da4

}

.btn-primary:focus {

    color: #fff;

    background-color: #286090;

    border-color: #122b40

}

.btn-primary:hover {

    color: #fff;

    background-color: #286090;

    border-color: #204d74

}

.btn-primary:active {

    color: #fff;

    background-color: #286090;

    background-image: none;

    border-color: #204d74

}

.btn-primary:active:hover, .btn-primary:active:focus {

    color: #fff;

    background-color: #204d74;

    border-color: #122b40

}

.collapse {

    display: none

}

.collapse.in {

    display: block

}

tr.collapse.in {

    display: table-row

}

tbody.collapse.in {

    display: table-row-group

}

.collapsing {

    position: relative;

    height: 0;

    overflow: hidden;

    -webkit-transition-property: height, visibility;

    -o-transition-property: height, visibility;

    transition-property: height, visibility;

    -webkit-transition-duration: .35s;

    -o-transition-duration: .35s;

    transition-duration: .35s;

    -webkit-transition-timing-function: ease;

    -o-transition-timing-function: ease;

    transition-timing-function: ease

}

.caret {

    display: inline-block;

    width: 0;

    height: 0;

    margin-left: 2px;

    vertical-align: middle;

    border-top: 4px dashed;

    border-top: 4px solid \9;

    border-right: 4px solid transparent;

    border-left: 4px solid transparent

}

.dropdown {

    position: relative

}

.dropdown-toggle:focus {

    outline: 0

}

.dropdown-menu {

    position: absolute;

    top: 100%;

    left: 0;

    z-index: 1000;

    display: none;

    float: left;

    min-width: 160px;

    padding: 5px 0;

    margin: 2px 0 0;

    font-size: 14px;

    text-align: left;

    list-style: none;

    background-color: #fff;

    -webkit-background-clip: padding-box;

    background-clip: padding-box;

    border: 1px solid #ccc;

    border: 1px solid rgba(0, 0, 0, 0.15);

    border-radius: 4px;

    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);

    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175)

}

.dropdown-menu>li>a {

    display: block;

    padding: 3px 20px;

    clear: both;

    font-weight: 400;

    line-height: 1.42857143;

    color: #333;

    white-space: nowrap

}

.dropdown-menu>li>a:hover, .dropdown-menu>li>a:focus {

    color: #262626;

    text-decoration: none;

    background-color: #f5f5f5

}

.open>.dropdown-menu {

    display: block

}

.open>a {

    outline: 0

}

.input-group {

    position: relative;

    display: table;

    border-collapse: separate

}

.input-group .form-control {

    position: relative;

    z-index: 2;

    float: left;

    width: 100%;

    margin-bottom: 0

}

.input-group .form-control:focus {

    z-index: 3

}

.input-group-lg>.form-control, .input-group-lg>.input-group-addon {

    height: 46px;

    padding: 10px 16px;

    font-size: 18px;

    line-height: 1.3333333;

    border-radius: 6px

}

.input-group-addon, .input-group .form-control {

    display: table-cell

}

.input-group-addon {

    width: 1%;

    white-space: nowrap;

    vertical-align: middle

}

.input-group-addon {

    padding: 6px 12px;

    font-size: 14px;

    font-weight: 400;

    line-height: 1;

    color: #555;

    text-align: center;

    background-color: #eee;

    border: 1px solid #ccc;

    border-radius: 4px

}

.input-group-addon.input-lg {

    padding: 10px 16px;

    font-size: 18px;

    border-radius: 6px

}

.input-group-addon:first-child {

    border-top-right-radius: 0;

    border-bottom-right-radius: 0

}

.input-group-addon:first-child {

    border-right: 0

}

.input-group .form-control:last-child {

    border-top-left-radius: 0;

    border-bottom-left-radius: 0

}

.nav {

    padding-left: 0;

    margin-bottom: 0;

    list-style: none

}

.nav>li {

    position: relative;

    display: block

}

.nav>li>a {

    position: relative;

    display: block;

    padding: 10px 15px

}

.nav>li>a:hover, .nav>li>a:focus {

    text-decoration: none;

    background-color: #eee

}

.nav .open>a, .nav .open>a:hover, .nav .open>a:focus {

    background-color: #eee;

    border-color: #337ab7

}

.navbar {

    position: relative;

    min-height: 50px;

    margin-bottom: 20px;

    border: 1px solid transparent

}

@media (min-width:768px) {

    .navbar {

        border-radius: 4px

    }

}

@media (min-width:768px) {

    .navbar-header {

        float: left

    }

}

.navbar-collapse {

    padding-right: 15px;

    padding-left: 15px;

    overflow-x: visible;

    border-top: 1px solid transparent;

    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);

    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);

    -webkit-overflow-scrolling: touch

}

.navbar-collapse.in {

    overflow-y: auto

}

@media (min-width:768px) {

    .navbar-collapse {

        width: auto;

        border-top: 0;

        -webkit-box-shadow: none;

        box-shadow: none

    }

    .navbar-collapse.collapse {

        display: block !important;

        height: auto !important;

        padding-bottom: 0;

        overflow: visible !important

    }

    .navbar-collapse.in {

        overflow-y: visible

    }

}

.container>.navbar-header, .container>.navbar-collapse {

    margin-right: -15px;

    margin-left: -15px

}

@media (min-width:768px) {

    .container>.navbar-header, .container>.navbar-collapse {

        margin-right: 0;

        margin-left: 0

    }

}

.navbar-brand {

    float: left;

    height: 50px;

    padding: 15px 15px;

    font-size: 18px;

    line-height: 20px

}

.navbar-brand:hover, .navbar-brand:focus {

    text-decoration: none

}

.navbar-brand>img {

    display: block

}

@media (min-width:768px) {

    .navbar>.container .navbar-brand {

        margin-left: -15px

    }

}

.navbar-toggle {

    position: relative;

    float: right;

    padding: 9px 10px;

    margin-right: 15px;

    margin-top: 8px;

    margin-bottom: 8px;

    background-color: transparent;

    background-image: none;

    border: 1px solid transparent;

    border-radius: 4px

}

.navbar-toggle:focus {

    outline: 0

}

.navbar-toggle .icon-bar {

    display: block;

    width: 22px;

    height: 2px;

    border-radius: 1px

}

.navbar-toggle .icon-bar+.icon-bar {

    margin-top: 4px

}

@media (min-width:768px) {

    .navbar-toggle {

        display: none

    }

}

.navbar-nav {

    margin: 7.5px -15px

}

.navbar-nav>li>a {

    padding-top: 10px;

    padding-bottom: 10px;

    line-height: 20px

}

@media (max-width:767px) {

    .navbar-nav .open .dropdown-menu {

        position: static;

        float: none;

        width: auto;

        margin-top: 0;

        background-color: transparent;

        border: 0;

        -webkit-box-shadow: none;

        box-shadow: none

    }

    .navbar-nav .open .dropdown-menu>li>a {

        padding: 5px 15px 5px 25px

    }

    .navbar-nav .open .dropdown-menu>li>a {

        line-height: 20px

    }

    .navbar-nav .open .dropdown-menu>li>a:hover, .navbar-nav .open .dropdown-menu>li>a:focus {

        background-image: none

    }

}

@media (min-width:768px) {

    .navbar-nav {

        float: left;

        margin: 0

    }

    .navbar-nav>li {

        float: left

    }

    .navbar-nav>li>a {

        padding-top: 15px;

        padding-bottom: 15px

    }

}

.navbar-nav>li>.dropdown-menu {

    margin-top: 0;

    border-top-left-radius: 0;

    border-top-right-radius: 0

}

.navbar-default {

    background-color: #f8f8f8;

    border-color: #e7e7e7

}

.navbar-default .navbar-brand {

    color: #777

}

.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {

    color: #5e5e5e;

    background-color: transparent

}

.navbar-default .navbar-nav>li>a {

    color: #777

}

.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus {

    color: #fff;

    background-color: transparent

}

.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav>.open>a:focus {

    color: #110101;

    background-color: #fff;

}

@media (max-width:767px) {

    .navbar-default .navbar-nav .open .dropdown-menu>li>a {

        color: #777

    }

    .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover, .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus {

        color: #333;

        background-color: transparent

    }

}

.navbar-default .navbar-toggle {

    border-color: #ddd

}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {

    background-color: #ddd

}

.navbar-default .navbar-toggle .icon-bar {

    background-color: #888

}

.navbar-default .navbar-collapse {

    border-color: #e7e7e7

}

.breadcrumb {

    padding: 8px 15px;

    margin-bottom: 20px;

    list-style: none;

    background-color: #f5f5f5;

    border-radius: 4px

}

.breadcrumb>li {

    display: inline-block

}

.breadcrumb>li+li:before {

    padding: 0 5px;

    color: #ccc;

    content: "/\00a0"

}

.thumbnail {

    display: block;

    padding: 4px;

    margin-bottom: 20px;

    line-height: 1.42857143;

    background-color: #fff;

    border: 1px solid #ddd;

    border-radius: 4px;

    -webkit-transition: border .2s ease-in-out;

    -o-transition: border .2s ease-in-out;

    transition: border .2s ease-in-out

}

.thumbnail>img, .thumbnail a>img {

    margin-right: auto;

    margin-left: auto

}

.well {

    min-height: 20px;

    padding: 19px;

    margin-bottom: 20px;

    background-color: #f5f5f5;

    border: 1px solid #e3e3e3;

    background-image: url(../img/fondo.webp);

    border-radius: 4px;

    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);

    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05)

}

.container:before, .container:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after {

    display: table;

    content: ""

}

.container:after, .row:after, .form-horizontal .form-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after {

    clear: both

}

.pull-right {

    float: right !important

}

.pull-left {

    float: left !important

}

@-ms-viewport {

    width: device-width

}

@media (max-width:767px) {

    .hidden-xs {

        display: none !important

    }

}

body {

    font-family: helvetica neue, Helvetica, Arial, sans-serif;

    font-size: 16px;

    line-height: 1.42857143;

    color: #333;

}

.btn-primary, .btn-primary:focus, .btn-primary:active {

    min-width: 150px;

    padding: 10px;

    color: #fff;

    background-color: #23527c;

    border-color: #23527c;

    font-weight: bold;

    font-size: 19px;

}

h1 {

    font-size: 24px;

}

a:hover, a:focus {

    color: #000000;

}

.navbar-brand {

    padding: 0px;

}

.navbar-default {

    background: #ff9800;

}

.navbar-default .navbar-nav>li>a {

    color: #00008B;

    font-weight: bold;

}

/* =========================================================
   IrcZona - Tema IRC moderno
   Seguro para Bootstrap: solo redefine colores, espacios y tarjetas.
   ========================================================= */
:root {
    --irc-bg: #07111f;
    --irc-bg-2: #0b1f38;
    --irc-panel: rgba(255, 255, 255, 0.96);
    --irc-panel-soft: rgba(245, 249, 255, 0.98);
    --irc-border: rgba(30, 73, 118, 0.18);
    --irc-blue: #0a3f9e;
    --irc-blue-2: #1169d8;
    --irc-cyan: #22d3ee;
    --irc-orange: #ff9800;
    --irc-orange-2: #ffb547;
    --irc-green: #22c55e;
    --irc-text: #102033;
    --irc-muted: #5f7187;
    --irc-shadow: 0 18px 45px rgba(4, 16, 35, 0.18);
    --irc-radius: 18px;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    color: var(--irc-text);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    background:
        radial-gradient(circle at 12% 0%, rgba(34, 211, 238, 0.16), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(255, 152, 0, 0.16), transparent 30%),
        linear-gradient(135deg, var(--irc-bg) 0%, var(--irc-bg-2) 45%, #102b4f 100%);
    background-attachment: fixed;
}

body:before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.92), rgba(0,0,0,0.35));
}

a {
    color: var(--irc-blue);
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

a:hover, a:focus {
    color: #06327e;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

/* Navegación */
.navbar {
    margin-bottom: 26px;
    min-height: 68px;
    border: 0;
    border-radius: 0;
}

.navbar-default {
    background: linear-gradient(90deg, rgba(6, 17, 33, 0.96), rgba(8, 49, 100, 0.96));
    border: 0;
    box-shadow: 0 12px 32px rgba(0,0,0,0.22);
}

.navbar>.container {
    position: relative;
}

.navbar-brand {
    height: 68px;
    padding: 9px 0;
    display: flex;
    align-items: center;
}

.navbar-brand>img {
    width: 250px;
    height: 50px;
    object-fit: contain;
    filter: drop-shadow(0 5px 12px rgba(0,0,0,.25));
}

.navbar-nav>li>a,
.navbar-default .navbar-nav>li>a {
    color: #f4f9ff;
    font-weight: 800;
    padding-top: 24px;
    padding-bottom: 24px;
    letter-spacing: .01em;
}

.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>li>a:focus,
.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:hover,
.navbar-default .navbar-nav>.open>a:focus {
    color: #ffffff;
    background: rgba(34, 211, 238, .12);
}

#user-dropdown,
.navbar-nav>li#user-dropdown {
    background: linear-gradient(135deg, var(--irc-orange), #ff7a00) !important;
    border-radius: 999px;
    margin: 13px 0 0 10px;
    box-shadow: 0 10px 24px rgba(255, 152, 0, .28);
}

#user-dropdown>a,
.navbar-default .navbar-nav>#user-dropdown>a {
    color: #111827 !important;
    padding: 10px 18px;
}

.dropdown-menu {
    border: 0;
    border-radius: 14px;
    padding: 10px;
    box-shadow: 0 20px 42px rgba(0, 0, 0, .24);
}

.dropdown-menu>li>a {
    border-radius: 10px;
    padding: 9px 12px;
}

.navbar-toggle {
    margin-top: 17px;
    border-color: rgba(255,255,255,.3);
    border-radius: 12px;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background: rgba(255,255,255,.08);
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;
}

/* Contenedor principal */
#main {
    position: relative;
    margin-top: 0;
    margin-bottom: 30px;
    padding: 28px;
    background: var(--irc-panel);
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 26px;
    box-shadow: var(--irc-shadow);
    overflow: hidden;
}

#main:before {
    content: "#irc";
    position: absolute;
    top: 18px;
    right: 26px;
    color: rgba(10, 63, 158, .06);
    font-size: 92px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.08em;
    pointer-events: none;
}

#main > * {
    position: relative;
}

/* Cabeceras y contenido */
h1, h2, h3 {
    color: #0b2141;
    font-weight: 850;
    line-height: 1.22;
}

h1 {
    margin-top: 8px;
    margin-bottom: 14px;
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: -0.04em;
}

h1:before {
    content: "#";
    color: var(--irc-orange);
    margin-right: 5px;
}

h2 {
    margin-top: 26px;
    font-size: clamp(23px, 3vw, 31px);
}

h3 {
    font-size: 20px;
}

p {
    margin: 0 0 14px;
}

strong {
    color: #092d68;
}

.seo-extra {
    margin: 0 0 24px;
    padding: 24px;
    border-radius: var(--irc-radius);
    border: 1px solid var(--irc-border);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(244, 249, 255, .96));
    box-shadow: 0 12px 34px rgba(9, 37, 76, .08);
}

.seo-extra:first-child {
    background:
        linear-gradient(135deg, rgba(10,63,158,.98), rgba(8,32,59,.98));
    color: #eaf6ff;
    border: 1px solid rgba(34, 211, 238, .22);
    box-shadow: 0 22px 48px rgba(4, 16, 35, .20);
}

.seo-extra:first-child h1,
.seo-extra:first-child h2,
.seo-extra:first-child h3,
.seo-extra:first-child strong {
    color: #fff;
}

.seo-extra:first-child a {
    color: #fff1bf;
    border-bottom: 1px dashed rgba(255,255,255,.45);
}

.seo-extra:first-child p {
    color: #dcecff;
}

.seo-extra:first-child h1:before {
    color: var(--irc-orange-2);
}

.submenu-related-channel {
    color: #0b2d62;
    border-bottom: 0;
    padding-bottom: 10px;
    margin-top: 24px;
    position: relative;
}

.submenu-related-channel:after {
    content: "";
    display: block;
    width: 82px;
    height: 4px;
    margin-top: 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--irc-orange), var(--irc-cyan));
}

/* Breadcrumb */
.breadcrumb {
    padding: 11px 14px;
    margin-bottom: 22px;
    list-style: none;
    background: rgba(10, 63, 158, .07);
    border: 1px solid rgba(10, 63, 158, .10);
    border-radius: 999px;
    color: var(--irc-muted);
}

.breadcrumb>li+li:before {
    color: #8da2ba;
    content: "/\00a0";
}

.breadcrumb>.active {
    color: #314861;
    font-weight: 700;
}

/* Caja de entrada al chat */
.well,
.chatbox {
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(235, 246, 255, .98));
    border: 1px solid rgba(10, 63, 158, .16);
    border-radius: 24px;
    box-shadow: 0 20px 44px rgba(6, 30, 68, .14);
}

.chatbox {
    position: relative;
    padding: 30px 34px 18px;
    overflow: hidden;
}

.chatbox:before {
    content: "Conectar a IRC";
    display: block;
    margin: -4px 0 18px;
    color: #092d68;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.chatbox:after {
    content: "nick!user@irczona ~ /join #canal";
    position: absolute;
    right: 20px;
    bottom: 12px;
    color: rgba(10, 63, 158, .22);
    font-size: 12px;
    font-family: Consolas, Monaco, "Courier New", monospace;
    pointer-events: none;
}

.form-control,
.input-group-addon {
    border-color: rgba(10, 63, 158, .18);
    box-shadow: none;
}

.input-group-addon {
    color: var(--irc-orange);
    background: #071b33;
    border-color: #071b33;
}

.form-control.input-lg,
.input-group-lg>.form-control,
.input-group-lg>.input-group-addon {
    height: 52px;
    border-radius: 14px;
}

.input-group .form-control:last-child {
    border-top-right-radius: 14px;
    border-bottom-right-radius: 14px;
}

.input-group-addon:first-child {
    border-top-left-radius: 14px;
    border-bottom-left-radius: 14px;
}

.form-control:focus {
    border-color: var(--irc-cyan);
    box-shadow: 0 0 0 4px rgba(34, 211, 238, .16);
}

.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-chat {
    min-width: 150px;
    padding: 12px 22px;
    color: #06111f;
    background: linear-gradient(135deg, var(--irc-orange), var(--irc-orange-2));
    border: 0;
    border-radius: 999px;
    font-weight: 900;
    font-size: 18px;
    box-shadow: 0 14px 26px rgba(255, 152, 0, .30);
}

.btn-primary:hover,
.btn-chat:hover {
    color: #06111f;
    background: linear-gradient(135deg, #ffad25, #ffd166);
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(255, 152, 0, .36);
}

.chatbox img[src*="logito"] {
    width: 70px;
    height: 70px;
    padding: 8px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(6, 30, 68, .12);
}

/* Miniaturas / tarjetas */
.thumbnail {
    border: 1px solid rgba(10, 63, 158, .14);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(9, 37, 76, .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.thumbnail:hover,
.thumbnail:focus {
    transform: translateY(-3px);
    border-color: rgba(34, 211, 238, .45);
    box-shadow: 0 18px 38px rgba(9, 37, 76, .16);
}

.thumbnail>img,
.thumbnail a>img,
.flag-show-channel img {
    border-radius: 12px;
    object-fit: cover;
}

.flag-show-channel {
    float: left;
    margin-right: 1em;
}

.col-sm-12 > .flag-show-channel,
.row .col-sm-12 > span.thumbnail.flag-show-channel {
    padding: 6px;
    background: #fff;
}

#destacados .thumbnail.flag-show-channel,
#channelsExtended .thumbnail.flag-show-channel {
    float: none;
    display: block;
    min-height: 188px;
    margin: 0 0 22px;
    padding: 18px;
    color: var(--irc-text);
}

#destacados .thumbnail img,
#channelsExtended .thumbnail img {
    width: 58px;
    height: 48px;
    margin: 0 0 11px;
}

.thumbnail .caption {
    padding: 0;
}

.thumbnail .caption h3,
#channelsExtended h3 {
    margin: 2px 0 7px;
    color: #0b2d62;
    font-size: 18px;
    line-height: 1.25;
}

.thumbnail .caption p {
    color: var(--irc-muted);
    font-size: 14px;
    line-height: 1.45;
}

#destacados {
    margin: 26px 0;
}

/* Listas y paneles heredados */
.list-group-item,
.panel {
    border-color: rgba(10, 63, 158, .14);
    border-radius: 14px;
}

.list-group-item {
    margin-bottom: 8px;
    box-shadow: 0 8px 18px rgba(9, 37, 76, .06);
}

.list-group-item:hover,
a.list-group-item:hover,
a.list-group-item:focus {
    background: #f1f8ff;
}

/* Footer */
.footer {
    margin-top: 42px;
    padding: 28px 10px;
    color: #dbeafe;
    background: linear-gradient(90deg, #050b14, #071d38);
    border-top: 1px solid rgba(34, 211, 238, .16);
}

.footer a {
    color: #ffcf7a;
}

.footer p {
    margin: 0;
}

/* Ajustes móviles */
@media (max-width: 767px) {
    body {
        font-size: 15px;
        line-height: 1.58;
    }

    .navbar {
        margin-bottom: 14px;
    }

    .navbar-brand {
        height: 62px;
        padding-left: 8px;
    }

    .navbar-brand>img {
        width: 210px;
        height: auto;
    }

    .navbar-nav {
        margin: 8px -15px;
    }

    .navbar-nav>li>a,
    .navbar-default .navbar-nav>li>a {
        padding-top: 13px;
        padding-bottom: 13px;
    }

    #user-dropdown,
    .navbar-nav>li#user-dropdown {
        display: inline-block;
        margin: 8px 12px 12px;
    }

    #main {
        width: calc(100% - 18px);
        padding: 18px;
        border-radius: 20px;
    }

    #main:before {
        font-size: 58px;
        right: 12px;
        top: 14px;
    }

    .seo-extra {
        padding: 18px;
        border-radius: 17px;
    }

    h1 {
        font-size: 28px;
    }

    h2 {
        font-size: 23px;
    }

    .breadcrumb {
        border-radius: 16px;
        line-height: 1.45;
    }

    .chatbox {
        padding: 22px 18px 18px;
    }

    .chatbox:after {
        display: none;
    }

    .input-group,
    .input-group .form-control,
    .input-group-addon {
        display: table-cell;
    }

    .btn-chat,
    .btn-primary {
        width: 100%;
        margin-top: 4px;
    }

    .flag-show-channel {
        float: none;
        display: inline-block;
        margin: 0 0 12px;
    }

    #destacados .col-xs-6 {
        width: 100%;
    }

    #destacados .thumbnail.flag-show-channel {
        min-height: auto;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .navbar-brand>img {
        width: 210px;
    }

    .navbar-nav>li>a,
    .navbar-default .navbar-nav>li>a {
        padding-left: 9px;
        padding-right: 9px;
        font-size: 13px;
    }
}
