/***
    The new CSS reset - version 1.8.4 (last updated 14.2.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/

/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a,
button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input,
textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* remove default dot (•) sign */
::marker {
  content: initial;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable='false'])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable='true']) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
}

/**/

:root {
  --color-pri: #1b4757;
  --color-sec: #d7b46a;
  --color-tet: #a19485;
  --color-qua: #ede6d6;

  --h1-font-size: 3em;
  --h2-font-size: 2.8em;
  --h3-font-size: calc(var(--h1-font-size) * 0.6);
  --p-font-size: 2em;

  --space-a: 48px;
  --space-b: 32px;
  --space-c: 24px;
}

@media screen and (max-width: 960px) {
  :root {
    --h1-font-size: calc(3em / 1.1);
    --h2-font-size: calc(2.8em / 1.1);
    --h3-font-size: calc(calc(var(--h1-font-size) * 0.6 / 1.2));
    --p-font-size: calc(2em / 1.1);

    --space-a: calc(48px / 1.5);
    --space-b: calc(32px / 1.5);
    --space-c: calc(24px / 1.5);
  }
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Audiowide', cursive;
  font-size: 56.25%;
}

header {
  background: url('images/index.jpg') no-repeat center;
  background: none;
  background-size: cover;
  height: 100vh;
  position: relative;
}

@media (orientation: portrait) {
  header {
    background: url('images/index_mob.jpg') no-repeat center;
    background: none;
    background-size: cover;
    height: 100vh;
    position: relative;
  }
}

#logo {
  background-color: #fff;
  height: 68px;
  margin: auto;
  left: 50%;
  padding: 2px 39px;
  position: absolute;
  transform: translate(-50%, 0);
  top: 0;
  width: 150px;
  z-index: 10;
}

#ham {
  display: none;
}

div.nav {
  margin: 0 auto;
  width: min(90%, 1200px);
  z-index: 10;
}

div.helper {
  display: none;
}

nav {
  display: flex;
  position: relative;
  z-index: 10;
}

nav::before {
  content: '';
  display: inline-block;
  background: linear-gradient(240deg, white 50%, transparent 50%);
  height: 68px;
  width: 64px;
}

nav::after {
  content: '';
  display: inline-block;
  background: linear-gradient(120deg, white 50%, transparent 50%);
  height: 68px;
  width: 64px;
}

nav ul {
  display: flex;
  margin: 0 auto;
  width: calc(100% - 128px);
}

nav ul li {
  flex: 0 0 calc((100% - 150px) / 4);
}

nav ul li:nth-child(3) {
  margin-left: 150px;
}

nav ul a {
  align-items: center;
  background-color: #fff;
  border-top: 4px solid #f7cb19;
  display: flex;
  font-family: 'Aspira';
  font-size: 2em;
  justify-content: center;
  line-height: 64px;
  text-transform: uppercase;
  transition: all 0.5s;
}

nav ul a:hover {
  border-top: 4px solid #000;
}

header div.headfoot {
  aspect-ratio: 1600 / 125;
  background: url('images/head.png') no-repeat bottom center;
  background-size: cover;
  bottom: 0;
  position: absolute;
  width: 100%;
}

#zastave {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 4px;
  position: relative;
  width: 150px;
  z-index: 10;
}

#zastave li {
}

#zastave a {
  align-self: center;
  background-color: #fff;
  display: flex;
  font-size: 1.6em;
  justify-content: center;
  padding: 4px;
}

/**/

h1 {
  color: #fff;
  font-size: 5em;
  margin-top: max(16px, 4vh);
  position: relative;
  text-align: center;
  text-transform: uppercase;
  z-index: 10;
}

h2 {
  color: #fff;
  flex: 0 0 100%;
  font-size: 4em;
  margin-bottom: 48px;
  text-align: center;
  text-transform: uppercase;
}

h3 {
  color: #fff;
  flex: 0 0 100%;
  font-size: 3em;
  margin-bottom: 48px;
  text-align: center;
  text-transform: uppercase;
}

#background-video {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
}

/**/

a.link {
  text-decoration: underline;

  &:hover {
    text-decoration: none;
  }
}

main {
}

#boats {
  background: url('images/bg2.jpg') no-repeat top center;
  background-size: cover;
  padding: 32px 0 96px;
}

div.new_offer {
  animation: animateOutline 2s ease infinite;
  border: 2px solid #f7cb19;
  color: #fff !important;
  padding: 32px;
}

div.new_offer img {
  display: block;
  margin: 0 auto;
}

@keyframes animateOutline {
  0% {
    border: 2px solid #f7cb19;
  }

  /* The animation finishes at 50% */
  50% {
    border: 2px solid transparent;
  }

  100% {
    border: 2px solid #f7cb19;
  }
}

div.new_offer div + div {
  margin-top: 64px;
}

div.new_offer p {
  color: #f7cb19;
  font-size: 2em;
  text-align: center;
}

div.new_offer div.img {
  margin: 24px auto 32px;
  width: min(360px, 100%);

  img {
    border-radius: 50%;
    width: 100%;
  }
}

div.new_offer .time {
  color: #fff;
  font-size: 3em;
  margin-bottom: 24px;
}

div.new_offer .price {
  color: #fff;
  font-size: 3.6em;
  margin-top: 24px;
}

div.new_offer .price span {
  font-size: 0.5em;
}

#boats > div {
  color: #f7cb19;
  margin: 0 auto;
  width: min(90%, 1200px);
}

#boats > div > div + div {
  margin-top: 64px;
}

#boats > div > div.boat_item {
}

#boats > div > div.boat_item > div {
  display: flex;
  flex-wrap: wrap;
  font-size: 3.2em;
  gap: 32px;
  justify-content: space-between;
}

#boats div.data {
  font-family: 'Aspira';
  flex: 0 0 275px;
}

#boats div.data > div + div {
  margin-top: 32px;
}

#boats div.data .price span {
  display: block;
  font-size: 0.5em;
  margin-bottom: 16px;
}

#boats div.data p + p {
  margin-top: 12px;
}

#boats div.photo {
  flex: 1;
  overflow: hidden;
  z-index: 0;
}

#boats div.photo > div {
}

#boats > div > div + div div.data {
  order: 2;
  text-align: right;
}

/**/

#boats div.info {
  align-items: center;
  display: flex;
  font-size: 0.5em;
  justify-content: space-between;
}

#boats div.info > div {
  align-items: center;
  display: flex;
  gap: 16px;
}

#boats div.info > div > * {
  align-items: center;
  display: flex;
}

#boats div.info > div span {
  height: 24px;
  width: 24px;
}

#boats div.info > div + div {
  flex-direction: row-reverse;
}

.cta a {
  background-color: #f7cb19;
  border-radius: 4px;
  color: #000;
  display: inline-flex;
  font-size: 0.5em;
  padding: 12px 32px;
  transition: all 0.5s;
}

.cta a:hover {
  background-color: #c7a108;
}

div.social {
  display: flex;
  gap: 32px;
  justify-content: center;
  margin-top: 48px;
}

div.social > div {
  aspect-ratio: 1 / 1;
  flex: 0 0 48px;
}

div.social a {
  display: flex;
}

div.social svg {
  height: 48px;
  transition: all 0.5s;
  width: 48px;
}

div.social svg:hover {
  color: #fff;
}

/**/

#contact {
  background-color: #eaf2f5;
  padding: 96px 0;
}

#contact h2 {
  color: #000;
  text-align: left;
}

#contact > div {
  display: flex;
  gap: 32px;
  margin: 0 auto;
  width: min(90%, 1200px);
}

#contact > div > div {
  flex: 0 0 calc(50% - 16px);
  font-family: 'Aspira';
}

#contact > div > div + div {
  background-color: #fff;
}

#contact_data {
  font-size: 2em;
}

#contact_data li {
  align-items: center;
  display: flex;
}

#contact_data li + li {
  margin-top: 16px;
}

#contact_data span {
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  height: 48px;
  justify-content: center;
  margin-right: 32px;
  width: 48px;
}

#contact_data span svg {
  height: 24px;
  width: 24px;
}

#map {
  background-color: #fafcda;
  height: 350px;
  margin-top: 32px;
  width: 100%;
  z-index: 0;
}

#results_inner {
  font-size: 1.6em;
  justify-content: center;
}

#results_inner.err {
  color: red;
  padding-top: 32px;
}

#results_inner.ok {
  color: green;
  padding-top: 32px;
}

fieldset.upit {
  padding: 32px;
}

fieldset.upit li {
  display: flex;
  flex-wrap: wrap;
}

#camac_1,
#camac_2 {
  display: none;
}

fieldset.upit li + li {
  margin-top: 16px;
}

fieldset.upit li.sbmt {
  margin-top: 32px;
}

fieldset.upit li > div {
  flex: 0 0 calc(50% - 8px);
}

label {
  display: block;
  font-size: 1.6em;
  margin-bottom: 8px;
}

fieldset.upit input.text,
fieldset.upit input.textx,
input.slike,
fieldset.upit select,
fieldset.upit textarea,
fieldset.upit input.submit,
#slikeBri,
.richText {
  background: #ebf2f5;
  border: 1px solid #eee;
  border-radius: 4px;
  box-sizing: border-box;
  color: #000;
  float: right;
  font-family: var(--font-body);
  font-size: 1.6em;
  font-weight: 400;
  margin: 0;
  padding: 10px 15px;
  width: 100%;
  transition: background 1s;
}

fieldset.upit input.text.err {
  border: 1px solid red;
}

textarea {
  height: 200px;
}

fieldset.upit input.submit {
  background-color: #f7cb19;
  cursor: pointer;
  padding: 20px 15px;
  text-align: center;
}

fieldset.upit input.submit:hover {
  background-color: #c7a108;
  text-align: center;
}

/**/

#faq {
  background: #eaf2f5 url('images/bg.png') no-repeat top;
  background-size: cover;
  padding: 96px 0;
}

#faq > div {
  margin: 0 auto;
  width: min(90%, 720px);
}

#faq h2 {
  margin-top: 96px;
}

#faq ul {
  font-family: 'Aspira';
}

#faq li {
  text-align: center;
}

#faq li + li {
  margin-top: 24px;
}

#faq summary {
  color: #f7cb19;
  cursor: pointer;
  font-size: 2.2em;
}

#faq p {
  color: #fff;
  font-size: 2em;
  padding: 16px 0;
}

/**/

#about {
  background-color: #eaf2f5;
  padding: 96px 0;
}

#about h2 {
  color: #000;
}

#about > div {
  margin: 0 auto;
  width: min(90%, 720px);
}

#about p {
  font-family: 'Aspira';
  font-size: 2em;
  line-height: 160%;
  text-align: center;
}

footer {
  background: url(images/bg2.jpg) no-repeat bottom;
  background-size: cover;
  height: 100px;
}

@media (max-width: 950px) {
  #boats > div > div.boat_item > div {
    flex-wrap: wrap;
    justify-content: center;
  }

  #boats div.photo {
    flex: 0 0 min(100%, 600px);
    order: 1;
  }

  #boats div.data {
    flex: 0 0 100%;
    margin-top: 32px;
    order: 2;
  }

  .price {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .price span {
    flex: 0 0 100%;
    text-align: center;
  }

  #boats div.data > .cta {
    text-align: center;
  }

  #boats div.data p + p {
    margin: 0 0 0 32px;
  }

  #boats div.info {
    margin: 24px auto 0;
    width: 300px;
  }

  #contact > div {
    flex-wrap: wrap;
  }

  #contact > div > div {
    flex: 0 0 100%;
  }

  #contact > div > div + div {
    flex: 0 0 min(100%, 600px);
  }
}

@media (max-width: 750px) {
  #logo {
    background-color: transparent;
    height: 68px;
    margin: auto;
    left: 5vw;
    padding: 2px 4px;
    position: absolute;
    transform: none;
    top: 0;
    width: 80px;
  }

  #ham {
    border: 1px solid #000;
    border-radius: 50%;
    display: block;
    height: 43px;
    position: absolute;
    right: 5vw;
    top: 12px;
    width: 43px;
    z-index: 10;
  }

  .burger-container {
    cursor: pointer;
    display: inline-block;
    height: 41px;
    position: absolute;
    transform: rotate(0deg);
    transition: all 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    width: 41px;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    z-index: 1000;
  }

  .burger-container #burger {
    display: block;
    height: 8px;
    margin: -4px auto 0;
    position: relative;
    top: 50%;
    width: 18px;
  }

  .bar {
    background: #000;
    display: block;
    height: 1px;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    transition-delay: 0s;
    width: 100%;
  }

  .topBar {
    transform: translateY(0px) rotate(0deg);
  }

  .btmBar {
    transform: translateY(6px) rotate(0deg);
  }

  .burger-container.open {
    transform: rotate(90deg);
  }
  .burger-container.open #burger .bar {
    background: #000;
    transition: all 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    transition-delay: 0.2s;
  }
  .burger-container.open #burger .bar.topBar {
    transform: translateY(4px) rotate(45deg);
  }
  .burger-container.open #burger .bar.btmBar {
    transform: translateY(3px) rotate(-45deg);
  }

  div.nav {
    padding: 0;
    width: 100%;
  }

  div.helper {
    display: flex;
    height: 68px;
    justify-content: space-between;
  }

  div.helper::before {
    content: '';
    display: inline-block;
    background: linear-gradient(260deg, white 50%, transparent 50%);
    background: transparent;
    height: 68px;
    width: 24px;
  }

  div.helper::after {
    content: '';
    display: inline-block;
    background: linear-gradient(100deg, white 50%, transparent 50%);
    background: transparent;
    height: 68px;
    width: 24px;
  }

  div.helper > div {
    background-color: #fff;
    background-color: transparent;
    flex: 0 0 calc(100% - 48px);
  }

  nav::before,
  nav::after {
    display: none;
  }

  nav {
    height: 0;
    margin: 0 auto;
    overflow: hidden;
    transition: all 0.5s;
    width: calc(100% - 40px);
  }

  .show nav {
    height: 272px;
  }

  nav ul {
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 32px;
    width: 100%;
  }

  nav ul li {
    flex: 0 0 100%;
  }

  nav ul li:nth-child(3) {
    margin-left: 0;
  }

  nav ul a,
  nav ul a:hover {
    border-top: 0;
    line-height: 48px;
  }

  #zastave {
    background-color: transparent;
    gap: 8px;
    margin-top: 32px;
    width: 200px;
  }

  #zastave li {
    display: flex;
  }

  #zastave a {
    padding: 4px 0;
    flex: 1;
    justify-content: center;
    min-width: 32px;
  }

  /**/

  .price > * {
    flex: 0 0 100%;
  }

  #boats div.data {
    margin-top: 16px;
  }

  #boats div.data p {
    text-align: center;
  }

  #boats div.data p + p {
    margin: 16px 0 0 0;
  }

  #contact h2 {
    text-align: center;
  }
}

@media (max-width: 600px) {
  h2 {
    font-size: 3.2em;
    margin-bottom: 32px;
  }

  fieldset.upit {
    padding: 16px;
  }

  #faq h2 {
    margin-top: 48px;
  }

  #contact,
  #faq,
  #about {
    padding: 64px 0;
  }
}

/**/

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper {
  width: 100%;
  height: 300px;
  margin-left: auto;
  margin-right: auto;
}

.swiper-slide {
  background-size: cover;
  background-position: center;
}

.mySwiper2,
.mySwiper4 {
  aspect-ratio: 3 / 2;
  height: 85%;
  width: 100%;
}

.mySwiper,
.mySwiper3 {
  box-sizing: border-box;
  height: 15%;
  padding: 10px 0;
  margin-top: 16px;
}

.mySwiper .swiper-slide,
.mySwiper3 .swiper-slide {
  width: 25%;
  height: 100%;
  opacity: 0.4;
}

.mySwiper .swiper-slide-thumb-active,
.mySwiper3 .swiper-slide-thumb-active {
  opacity: 1;
}

.swiper-slide img {
  aspect-ratio: 2 / 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 600px) {
  .swiper-thumbs {
    display: none !important;
  }

  .mySwiper2,
  .mySwiper4 {
    aspect-ratio: 3 / 2;
    height: 100%;
    width: 100%;
  }
}

.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  /*  transition is applied to lazyloaded not lazyload */
  transition: opacity 300ms;
}

/**/

@font-face {
  font-family: 'Aspira';
  font-style: normal;
  font-weight: 400;
  src: local('Aspira'), url('fonts/aspira-heavy.otf');
}
