* {
  margin: 0px;
  padding: 0px;
  border: 0px;
  font-family: "Roboto", sans-serif; }

::-webkit-scrollbar {
  width: 5px;
  height: 5px; }

::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(7, 35, 58, 0.7); }

::-webkit-scrollbar-thumb {
  background-color: #0e4473; }

html {
  scroll-behavior: smooth; }

body {
  padding-top: 75px;
  background: #e3e3e3; }

h1 {
  color: #0e4473;
  font-size: 36px;
  margin-bottom: 20px; }

h2 {
  color: #0e4473;
  font-size: 28px;
  margin-bottom: 10px; }
  h2:not(:first-child) {
    margin-top: 20px; }

a {
  text-decoration: none;
  color: inherit; }

p {
  line-height: 26px;
  margin-bottom: 10px;
  text-align: justify; }

#top {
  background: #fff;
  width: 100%;
  height: 75px;
  display: flex;
  justify-content: space-between;
  padding: 0px 20px;
  box-sizing: border-box;
  align-items: center;
  position: fixed;
  top: 0;
  box-shadow: 0px 2px 5px rgba(7, 35, 58, 0.4);
  z-index: 2; }
  #top .logo {
    width: 70px;
    height: 70px;
    background: url(../../images/logo_full.jpg) no-repeat;
    background-size: contain; }
  #top .title {
    color: #0e4473;
    font-size: 26px;
    font-weight: bold; }
    #top .title.menu-title {
      display: none; }
  #top .burger-icon {
    width: 30px;
    margin-left: 20px;
    cursor: pointer; }
    #top .burger-icon.cross .burger-bar:first-child {
      transform: rotate(45deg); }
    #top .burger-icon.cross .burger-bar:nth-child(2) {
      opacity: 0; }
    #top .burger-icon.cross .burger-bar:last-child {
      transform: rotate(-45deg); }
    #top .burger-icon .burger-bar {
      height: 3px;
      transition: transform 0.2s, opacity 0.2s;
      background: #0e4473; }
      #top .burger-icon .burger-bar:first-child {
        transform: rotate(0);
        transform-origin: 12% 80%; }
      #top .burger-icon .burger-bar:nth-child(2) {
        opacity: 1; }
      #top .burger-icon .burger-bar:last-child {
        transform: rotate(0);
        transform-origin: 15% 40%; }
      #top .burger-icon .burger-bar:not(:last-child) {
        margin-bottom: 5px; }

@media (min-width: 1024px) {
  #top {
    padding: 0px 25px;
    transition: height 0.2s; }
    #top.sticky {
      height: 50px; }
      #top.sticky #main-menu > li > a,
      #top.sticky #main-menu > li > div {
        height: 50px;
        line-height: 50px; }
      #top.sticky .logo {
        width: 50px;
        height: 50px; }
    #top #mobile-menu {
      display: none; }
    #top .logo {
      transition: height 0.2s, width 0.2s; }
    #top .title {
      font-size: 24px; }
      #top .title.menu-title-mobile {
        display: none; }
      #top .title.menu-title {
        display: flex;
        flex-grow: 1;
        margin-left: 25px; }
    #top .burger-icon {
      display: none; } }

@media (min-width: 1060px) {
  #top .title {
    font-size: 32px; } }

#main-menu {
  display: none; }

#mobile-menu {
  display: none;
  position: absolute;
  top: 75px;
  background: #fff;
  left: 0;
  width: 100%;
  z-index: 10;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.4);
  border-top: 1px solid rgba(0, 0, 0, 0.05); }
  #mobile-menu li {
    display: flex;
    flex-wrap: wrap; }
    #mobile-menu li:hover a,
    #mobile-menu li:hover div, #mobile-menu li.active a,
    #mobile-menu li.active div {
      background: #0e4473;
      color: white; }
    #mobile-menu li.active div {
      border-bottom: 1px solid #1667ad; }
    #mobile-menu li a,
    #mobile-menu li div {
      display: flex;
      width: 100%;
      align-items: center;
      justify-content: space-between;
      position: relative;
      text-decoration: none;
      color: #000;
      cursor: pointer; }
      #mobile-menu li a i,
      #mobile-menu li div i {
        padding: 20px;
        margin-right: 10px; }
    #mobile-menu li a {
      padding: 20px 10px; }
    #mobile-menu li .sub-menu {
      background: #eee;
      display: none;
      width: 100%;
      box-sizing: border-box; }
      #mobile-menu li .sub-menu a {
        padding: 15px 15px;
        font-size: 14px;
        box-sizing: border-box; }
        #mobile-menu li .sub-menu a:hover {
          background: #1667ad; }

@media (min-width: 1024px) {
  #main-menu {
    display: flex;
    align-items: center; }
    #main-menu > li > a,
    #main-menu > li > div {
      text-decoration: none;
      padding: 0px 15px;
      display: flex;
      align-items: center;
      height: 75px;
      line-height: 75px;
      color: black;
      transition: background 0.5s, height 0.2s;
      cursor: pointer; }
    #main-menu li {
      display: flex;
      position: relative;
      transition: background 0.5s, height 0.5s; }
      #main-menu li:hover > a,
      #main-menu li:hover > div {
        background: #0e4473;
        color: white; }
      #main-menu li:hover .sub-menu {
        display: flex; }
      #main-menu li div {
        transition: background 0.5s, height 0.5s; }
        #main-menu li div i {
          padding-left: 10px; }
        #main-menu li div.active {
          background: #0e4473;
          color: white; }
      #main-menu li a {
        transition: background 0.5s, height 0.2s; }
        #main-menu li a.active {
          background: #0e4473;
          color: white; }
    #main-menu .material-icons {
      margin-left: 7px; }
    #main-menu .sub-menu {
      display: none;
      position: absolute;
      bottom: -50px;
      background: #0e4473;
      box-shadow: 0px 2px 5px rgba(7, 35, 58, 0.4); }
      #main-menu .sub-menu a {
        display: flex;
        padding: 16px 20px;
        text-decoration: none;
        color: white; }
        #main-menu .sub-menu a:hover {
          background: #1667ad; } }

#main-slider {
  background: black;
  height: 300px;
  overflow: hidden;
  position: relative;
  box-shadow: 0px 2px 5px rgba(7, 35, 58, 0.4); }
  #main-slider .slider-viewport {
    display: flex;
    transition: transform 0.5s ease-in-out; }
    #main-slider .slider-viewport .slide {
      min-width: 100%;
      height: 300px;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
  #main-slider .controls {
    display: none; }

@media (min-width: 1024px) {
  #main-slider {
    height: 600px; }
    #main-slider .slider-viewport .slide {
      height: 600px; }
    #main-slider .controls {
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 600px; }
      #main-slider .controls .material-icons {
        font-size: 90px;
        color: white;
        cursor: pointer;
        text-shadow: 0 0 10px black; }
        #main-slider .controls .material-icons.prev {
          margin-left: 25px; }
      #main-slider .controls .bullets {
        height: 100%;
        display: flex;
        align-items: flex-end; }
        #main-slider .controls .bullets .material-icons {
          font-size: 50px; } }

#header-banner {
  display: flex;
  align-items: center;
  height: 300px;
  width: 100%;
  background: #870d22;
  box-shadow: 0px 2px 5px rgba(7, 35, 58, 0.4);
  position: relative; }
  #header-banner .banner-text {
    color: #fff;
    width: 100%;
    text-align: center;
    font-size: 52px;
    margin-bottom: 0; }

#main {
  background: #e3e3e3;
  padding: 25px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  box-sizing: border-box;
  flex-wrap: wrap; }
  #main .results-section {
    box-sizing: border-box;
    margin-top: 20px;
    width: 100%; }
    #main .results-section .results .result {
      margin-top: 20px; }
      #main .results-section .results .result:first-child {
        margin-top: 0; }
  #main .text {
    box-sizing: border-box; }
  #main .gallery {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%; }
    #main .gallery.galleries {
      padding-top: 30px; }
    #main .gallery.managers .gallery-element .info {
      height: 100px; }
    #main .gallery .gallery-element {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      box-sizing: border-box; }
      #main .gallery .gallery-element.document .thumbnail {
        width: 60px;
        height: 75px;
        background-size: contain; }
      #main .gallery .gallery-element.document .info {
        height: auto; }
      #main .gallery .gallery-element .thumbnail {
        width: 290px;
        height: 290px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        margin-bottom: 10px; }
        #main .gallery .gallery-element .thumbnail.noinfo {
          margin-bottom: 0; }
      #main .gallery .gallery-element .info {
        width: 100%;
        height: 40px;
        text-align: center;
        color: #0e4473;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column; }
        #main .gallery .gallery-element .info .person-name {
          font-weight: bold; }
        #main .gallery .gallery-element .info .person-title {
          font-style: italic; }
        #main .gallery .gallery-element .info .person-phone,
        #main .gallery .gallery-element .info .person-email {
          display: flex;
          align-items: center;
          justify-content: center; }
          #main .gallery .gallery-element .info .person-phone .material-icons,
          #main .gallery .gallery-element .info .person-email .material-icons {
            margin-right: 10px; }
  #main .sponsors {
    width: 100%;
    padding-left: 25px; }
    #main .sponsors a {
      display: flex;
      align-items: center;
      width: 200px;
      height: 240px; }
      #main .sponsors a .tamogato_image {
        display: flex; }

@media (min-width: 786px) {
  #header-banner .banner-text {
    font-size: 60px; }
  #main .gallery .gallery-element {
    padding: 5px; } }

@media (min-width: 1024px) {
  #header-banner .banner-text {
    font-size: 72px; }
  #main .text {
    width: 75%; }
  #main .results-section {
    width: 25%;
    padding-left: 20px;
    margin-top: 0; }
    #main .results-section h2 {
      text-align: center;
      margin-bottom: 29px; }
  #main .gallery {
    justify-content: flex-start; }
    #main .gallery.managers .gallery-element .info {
      height: 75px; }
    #main .gallery .gallery-element {
      max-width: 20%; } }

.result {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #0e4473;
  flex-wrap: wrap; }
  .result .result-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 10px; }
    .result .result-content .points {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 50px;
      height: 50px;
      color: white;
      font-size: 24px;
      background-color: #0a0a34; }
  .result .result-date {
    width: 100%;
    color: #fff;
    padding: 10px;
    background-color: #0e4473;
    text-align: center; }

.gallery .result {
  width: 350px;
  margin: 10px; }

@media (min-width: 1024px) {
  .gallery .result {
    margin: 4px; } }

.pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 20px; }
  .pagination .page-number {
    padding: 15px 20px;
    border: 1px solid #0e4473;
    color: #0e4473;
    margin: 0 5px;
    background: #f3f3f3;
    cursor: pointer; }
    .pagination .page-number.active {
      color: #fff;
      background: #0e4473; }

footer {
  display: block;
  box-sizing: border-box;
  background: #0e4473; }
  footer .footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    color: #fff;
    padding: 10px 25px; }
    footer .footer-content div {
      display: flex;
      align-items: center; }
    footer .footer-content .material-icons {
      margin-right: 10px; }
  footer .small-footer {
    display: flex;
    justify-content: space-between;
    color: #fff;
    background: #222222;
    padding: 10px 25px; }
