/*------------------------------------------------------------------
[Master Stylesheet]

Project:	Lattes + Knox
Version:	1.0
Last change:	7/22/2021
Designed by:	MOOZ Themes / www.MOOZthemes.com, www.styleshout.com
Primary use:	One page

[Table of contents]
0. Setup
1. General
2. Preloader
3. Scroll Bar
4. Navigation
5. Intro
6. Sections
7. Footer
8. Modal
9. Components
-------------------------------------------------------------------*/

/*--------------------
0.1 Fonts
--------------------*/

/* main font for menu. */
@import url(https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900);
/* font for headings, text, tags */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800);
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Marcellus&family=Gothic+A1:wght@300;400;500;600;700&display=fallback");

:root {
     --font-1    : "Roboto", sans-serif;
     --font-2    : "Gothic A1", sans-serif;
     --font-3    : "Marcellus", serif;
	 --font-4    : "Open Sans", Sans-serif;
}

/*--------------------
0.2 Colors
--------------------*/
:root {
	--color-button-hover          : #f0b500;
	--color-nav-bar               : #222222;
	--color-font-1                : #232323;
	--color-font-2                : #FFFFFF;
	--color-font-3                : #797979;
	--color-introtext-dark        : hsla(344, 44%, 5%, 1);
	--color-grey-dark             : #3A3A3A;
	--color-grey-medium           : #3E3E3E;
	--color-grey-light            : #969696;
	--color-off-white             : #F8F8F8;
}

/*--------------------
0.3 Normalize
normalize.css v8.0.1 | MIT License |
github.com/necolas/normalize.css
--------------------*/
 html {
    line-height              : 1.15;
    -webkit-text-size-adjust : 100%;
}

body {
    margin : 0;
}

main {
    display : block;
}

h1 {
    font-size : 2em;
    margin    : 0.67em 0;
}

hr {
    box-sizing : content-box;
    height     : 0;
    overflow   : visible;
}

pre {
    font-family : monospace, monospace;
    font-size   : 1em;
}

a {
    background-color : transparent;
}

abbr[title] {
    border-bottom   : none;
    text-decoration : underline;
    text-decoration : underline dotted;
}

b,
strong {
    font-weight : bolder;
}

code,
kbd,
samp {
    font-family : monospace, monospace;
    font-size   : 1em;
}

small {
    font-size : 80%;
}

sub,
sup {
    font-size      : 75%;
    line-height    : 0;
    position       : relative;
    vertical-align : baseline;
}

sub {
    bottom : -0.25em;
}

sup {
    top : -0.5em;
}

img {
    border-style : none;
}

button,
input,
optgroup,
select,
textarea {
    font-family : inherit;
    font-size   : 100%;
    line-height : 1.15;
    margin      : 0;
}

button,
input {
    overflow : visible;
}

button,
select {
    text-transform : none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance : button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style : none;
    padding      : 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline : 1px dotted ButtonText;
}

fieldset {
    padding : 0.35em 0.75em 0.625em;
}

legend {
    box-sizing  : border-box;
    color       : inherit;
    display     : table;
    max-width   : 100%;
    padding     : 0;
    white-space : normal;
}

progress {
    vertical-align : baseline;
}

textarea {
    overflow : auto;
}

[type="checkbox"],
[type="radio"] {
    box-sizing : border-box;
    padding    : 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height : auto;
}

[type="search"] {
    -webkit-appearance : textfield;
    outline-offset     : -2px;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance : none;
}

::-webkit-file-upload-button {
    -webkit-appearance : button;
    font               : inherit;
}

details {
    display : block;
}

summary {
    display : list-item;
}

template {
    display : none;
}

[hidden] {
    display : none;
}
/*--------------------
1. General
--------------------*/
body {
  margin: 0px;
  font-family: var(--font-4);
  overflow: overlay;
}

h1,
h2,
h3,
h4,
h6 {
	font-weight: 300;
    letter-spacing: 0.4px;
    font-family: var(--font-4);
    color: var(--color-font-1);
}
h5 {
	font-weight: 300;
    letter-spacing: 0.4px;
    font-family: var(--font-4);
    color: var(--color-font-2);
}
p {
    font-family: var(--font-1);
    font-size: 15px;
    font-weight: 300;
	line-height: 23px;
    letter-spacing: 0.2px;
    color: var(--color-font-1);
}

a:hover, a:focus, a:active, a.active {
    color: var(--color-button-hover);
}
a, a:hover, a:focus, a:active, a.active {
    outline: 0;
}

::selection {
    text-shadow: none;
    background: var(--color-button-hover);
}

@media (min-width: 768px) {
	section {
	    padding: 150px 0;
	}
}

section {
    padding: 70px 0;
}

/*--------------------
2. Preloader

Available Styles:
dots-fade
dots-jump
dots-pulse
--------------------*/
#preloader {
    position        : fixed;
    display         : flex;
    flex-flow       : row wrap;
    justify-content : center;
    align-items     : center;
    background      : var(--color-grey-dark);
    z-index         : 1050;
    height          : 100vh;
    width           : 100%;
    opacity         : 1;
    overflow        : hidden;
}

.no-js #preloader {
    display : none;
}

#loader {
    position : relative;
    width    : 6px;
    height   : 6px;
    padding  : 0;
    display  : inline-block;
}

#loader>div {
    content       : "";
    background    : white;
    width         : 4px;
    height        : 4px;
    position      : absolute;
    top           : 0;
    left          : 0;
    border-radius : 50%;
}

#loader>div:nth-of-type(1) {
    left : 15px;
}

#loader>div:nth-of-type(3) {
    left : -15px;
}

/* dots jump */
.dots-jump>div {
    -webkit-animation : dots-jump 1.2s infinite ease;
    animation         : dots-jump 1.2s infinite ease;
    animation-delay   : 0.2s;
}

.dots-jump>div:nth-of-type(1) {
    animation-delay : 0.4s;
}

.dots-jump>div:nth-of-type(3) {
    animation-delay : 0s;
}

@-webkit-keyframes dots-jump {
    0% {
        top : 0;
    }

    40% {
        top : -6px;
    }

    80% {
        top : 0;
    }
}

@keyframes dots-jump {
    0% {
        top : 0;
    }

    40% {
        top : -6px;
    }

    80% {
        top : 0;
    }
}

/* dots fade */
.dots-fade>div {
    -webkit-animation : dots-fade 1.6s infinite ease;
    animation         : dots-fade 1.6s infinite ease;
    animation-delay   : 0.4s;
}

.dots-fade>div:nth-of-type(1) {
    animation-delay : 0.8s;
}

.dots-fade>div:nth-of-type(3) {
    animation-delay : 0s;
}

@-webkit-keyframes dots-fade {
    0% {
        opacity : 1;
    }

    40% {
        opacity : 0.2;
    }

    80% {
        opacity : 1;
    }
}

@keyframes dots-fade {
    0% {
        opacity : 1;
    }

    40% {
        opacity : 0.2;
    }

    80% {
        opacity : 1;
    }
}

/* dots pulse */
.dots-pulse>div {
    -webkit-animation : dots-pulse 1.2s infinite ease;
    animation         : dots-pulse 1.2s infinite ease;
    animation-delay   : 0.2s;
}

.dots-pulse>div:nth-of-type(1) {
    animation-delay : 0.4s;
}

.dots-pulse>div:nth-of-type(3) {
    animation-delay : 0s;
}

@-webkit-keyframes dots-pulse {
    0% {
        -webkit-transform : scale(1);
        transform         : scale(1);
    }

    40% {
        -webkit-transform : scale(1.1);
        transform         : scale(1.3);
    }

    80% {
        -webkit-transform : scale(1);
        transform         : scale(1);
    }
}

@keyframes dots-pulse {
    0% {
        transform : scale(1);
    }

    40% {
        transform : scale(1.3);
    }

    80% {
        transform : scale(1);
    }
}

/*--------------------
1.1 Page Loaded
--------------------*/
.ss-loaded #preloader {
    opacity: 0;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition-duration: .9s;
    transition-delay: .9s;
    transition-timing-function: ease-in-out;
}

.ss-loaded #preloader #loader {
    opacity    : 0;
    transition : opacity .9s ease-in-out;
}

/*--------------------
2. Scroll Bar
--------------------*/
/* width */
::-webkit-scrollbar {
  background-color: transparent;
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  /* box-shadow: inset 0 0 5px grey; */
  border-radius: 5px;
  background-color: transparent;
}
 
/* Handle */
::-webkit-scrollbar-thumb {
  background: grey; 
  border-radius: 5px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--color-button-hover); 
}

/*--------------------
3. Navigation
--------------------*/
.navbar-default {
	background-color: var(--color-nav-bar);
	border-color: transparent
}
.navbar-default .navbar-brand {
	color: var(--color-font-2);
	font-family: "Montserrat",sans-serif;
    padding: 0px;
	
}
.navbar-brand {
	background-image: url(../images/logo.png);
	width: 69px;
	position : absolute;
    left     : 4rem;
}
.navbar-brand:hover {
	background-image: url(../images/logo-gold.png);
	width: 69px;
}

.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:active,.navbar-default .navbar-brand.active {
	color: var(--color-button-hover);
}
.navbar-default .navbar-collapse {
	border-color: rgba(255,255,255,.02)
}
.navbar-default .navbar-toggle {
	background-color: var(--color-button-hover);
	border-color: var(--color-button-hover);
}
.navbar-default .navbar-toggle .icon-bar {
	background-color: var(--color-font-2);
}
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus {
	background-color: var(--color-button-hover);
}
.navbar-default .nav li a {
	font-family: var(--font-1);
	text-transform: uppercase;
	font-weight: 400;
	letter-spacing: 1px;
	color:var(--color-font-2);
}
.navbar-default .nav li a:hover,.navbar-default .nav li a:focus {
	color: var(--color-button-hover);
	outline: 0
}

.navbar-default .navbar-nav>.active>a {
	border-radius: 0;
	color: var(--color-font-2);
	background-color: var(--color-button-hover);
}
.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus {
	color: var(--color-font-2);
	background-color: var(--color-button-hover);
}

@media (min-width:768px) {
	.navbar-default
	{
		background-color: transparent;
		padding: 25px 0;
		-webkit-transition:padding .3s;
		-moz-transition:padding .3s;
		transition:padding .3s;
		border:0
	}
	.navbar-default .navbar-brand {
		font-size: 2em;
		-webkit-transition:all .3s;
		-moz-transition:all .3s;
		transition:all .3s
	}
	.navbar-default .navbar-nav>.active>a {
		border-radius: 3px
	}
	.navbar-default.navbar-shrink {
		background-color: var(--color-nav-bar);
		padding: 10px 0
	}
	.navbar-default.navbar-shrink .navbar-brand {
		font-size: 1.5em
	}
}

/*--------------------
4. Intro typography and styles
--------------------*/
.text-pretitle {
    font-family   : var(--font-2);
    font-size     : 24px;
    font-weight   : 300;
    margin-top    : 0;
    margin-bottom : 0;
    margin-left   : .4rem;
    position      : relative;
}

.text-pretitle::before {
    content          : "";
    display          : block;
    height           : 1px;
    width            : 5.6rem;
    background-color : var(--color-introtext-dark);
    opacity          : .15;
    position         : absolute;
    top              : 50%;
    right            : calc(100% + 1.6rem);
}

.text-huge-title {
    --text-huge       : 11.2rem;
    --text-multiplier : 1;
    font-family       : var(--font-3);
    font-weight       : 400;
    font-size         : calc(var(--text-huge) * var(--text-multiplier));
    line-height       : 1.036;
    margin-top        : 0;
}

@media screen and (max-width: 1600px) {
    .text-pretitle::before {
        width : 4rem;
    }

    .text-huge-title {
        --text-multiplier : .857;
    }
}

@media screen and (max-width: 1500px) {
    .text-pretitle {
        margin-left : 0;
    }

    .text-pretitle::before {
        display : none;
    }
}

@media screen and (max-width: 1200px) {
    .text-pretitle {
        font-size : calc(var(--text-size) * 1.05);
    }

    .text-huge-title {
        --text-multiplier : .821;
    }
}

@media screen and (max-width: 1000px) {
    .text-huge-title {
        --text-multiplier : .75;
    }
}

@media screen and (max-width: 900px) {
    .text-huge-title {
        --text-multiplier : .679;
    }
}

@media screen and (max-width: 800px) {
    .text-pretitle {
        font-size : var(--text-sm);
    }

    .text-huge-title {
        --text-multiplier : .643;
    }
}

@media screen and (max-width: 700px) {
    .text-huge-title {
        --text-multiplier : .607;
    }
}

@media screen and (max-width: 600px) {
    .text-huge-title {
        --text-multiplier : .5;
    }
}

@media screen and (max-width: 400px) {
    .text-huge-title {
        --text-multiplier : .464;
    }
}

/*--------------------
4. Intro general
--------------------*/
.s-intro {
    --header-height     : 8.8rem;
    --logo-width        : 78px;
    --text-display-size : 11.2rem;
    --text-multiplier   : 1;
    z-index             : 3;
    width               : 100%;
    height              : 100vh;
    min-height          : 81.6rem;
    box-shadow          : 0 0.8px 0.8px rgba(0, 0, 0, 0.031), 
                          0 1.9px 1.9px rgba(0, 0, 0, 0.044), 
                          0 3.9px 3.9px rgba(0, 0, 0, 0.056), 
                          0 8px 8px rgba(0, 0, 0, 0.069), 
                          0 22px 22px rgba(0, 0, 0, 0.1);
    overflow            : hidden;
    position            : relative;
}

.s-intro a {
    border : none;
}

.s-intro_row {
    width: 92%;
    max-width: 1800px;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
}
.s-intro_column {
    display: block;
    flex: 1 1 0%;
    padding: 0 2.4rem;
}

/*--------------------
4.2 Intro Background
--------------------*/
.s-intro__bg {
    display             : block;
    position            : absolute;
    top                 : 0;
    left                : 0;
    right               : 0;
    bottom              : 0;
    width               : 100%;
    height              : 100%;
    background-image    : url(../images/mask-bg.jpg);
    background-repeat   : no-repeat;
    background-position : center;
    background-size     : cover;
}

.s-intro__bg::before {
    display        : block;
    content        : "";
    position       : absolute;
    top            : 0;
    left           : 0;
    right          : 0;
    bottom         : 0;
    width          : 100%;
    height         : 100%;
    background     : black;
    pointer-events : none;
    opacity        : 0.1;
}

.s-intro__bg::after {
    display        : block;
    content        : "";
    position       : absolute;
    top            : 0;
    left           : 0;
    right          : 0;
    bottom         : 0;
    width          : 100%;
    height         : 100%;
    background     : linear-gradient(90deg, black 10%, rgba(0, 0, 0, 0) 100%);
    pointer-events : none;
    opacity        : .45;
}

/*--------------------
4.3 Intro Content
--------------------*/
.s-intro__content {
    z-index        : 2;
    align-items    : flex-end;
    max-width      : 1600px;
    height         : 100vh;
    padding-top    : 20vh;
    padding-bottom : 9.6rem;
    position       : relative;
}

.s-intro__content .text-pretitle,
.s-intro__content .text-huge-title {
    color : var(--color-font-2);
}

.s-intro__content .text-pretitle::before {
    background-color : var(--color-font-2);
}

.s-intro__content-bottom {
    display    : flex;
    width      : calc(100% - 4rem);
    margin-top : 3.2rem;
}

.s-intro__content-bottom-block {
    margin-right : 7.2rem;
}

.s-intro__content-bottom-block:last-child {
    margin-right : 0;
}

.s-intro__content-bottom h5 {
    font-size     : 2rem;
    font-weight   : 300;
    margin-top    : 0;
    margin-bottom : 1rem;
    color         : rgba(255, 255, 255, 0.3);
}

/*--------------------
4.4 Intro Scroll Down
--------------------*/
.s-intro__scroll {
    z-index          : 3;
    width            : 320px;
    transform        : rotate(-90deg);
    transform-origin : bottom left;
    position         : absolute;
    left             : calc(100% - 4.8rem);
    bottom           : 0;
}

.s-intro__scroll a {
    display        : block;
    font-family    : var(--font-4);
    font-weight    : 300;
    font-size      : 15px;
    text-transform : uppercase;
    letter-spacing : .35em;
    padding-left   : 9.6rem;
    color          : rgba(255, 255, 255, 0.5);
    position       : relative;
}

.s-intro__scroll a:focus,
.s-intro__scroll a:hover {
    color : var(--color-button-hover);
	text-decoration: none;
}

.s-intro__scroll a::before {
    content          : "";
    display          : block;
    height           : 1px;
    width            : 8rem;
    background-color : rgba(255, 255, 255, 0.15);
    position         : absolute;
    top              : calc(50% - 1px);
    left             : 0;
}

/*--------------------
4.5 Intro Transistions
--------------------*/
.intro-animate,
.s-intro__notify,
.s-intro__content,
.s-intro__scroll {
    transition-timing-function : cubic-bezier(0.28, 0.12, 0.22, 1);
    transition-duration        : .5s;
    transition-delay           : 0s;
    opacity                    : 0;
}

.intro-animate,
.s-intro__notify {
    transition-property : opacity, transform;
    transform           : translate(0, -100%);
}

.s-intro__content {
    transition-property : opacity;
}

.s-intro__scroll {
    transition-property : opacity, bottom;
    bottom              : -250px;
}

.no-js .intro-animate,
.no-js .s-intro__notify,
.no-js .s-intro__content,
.no-js .s-intro__scroll,
.ss-show .intro-animate,
.ss-show .s-intro__notify,
.ss-show .s-intro__content,
.ss-show .s-intro__scroll {
    opacity : 1;
}

.no-js .intro-animate,
.no-js .s-intro__notify,
.ss-show .intro-animate,
.ss-show .s-intro__notify {
    transform : translate(0, 0);
}

.no-js .s-intro__content,
.ss-show .s-intro__content {
    transition-duration : 1.5s;
    transition-delay    : .5s;
}

.no-js .s-intro__scroll,
.ss-show .s-intro__scroll {
    transition-delay : 1s;
    bottom           : 0;
}

/*--------------------
4.6 Responsive Intro
--------------------*/
@media screen and (max-width: 1800px) {
    .s-intro__content {
        max-width : 1500px;
    }
}

@media screen and (max-width: 1700px) {
    .s-intro__content {
        max-width : 1420px;
    }
}

@media screen and (max-width: 1600px) {
    .s-intro__content {
        max-width : 1360px;
    }

    .s-intro__content-bottom h5 {
        font-size   : var(--text-sm);
        line-height : var(--vspace-0_75);
    }
}

@media screen and (max-width: 1200px) {
    .s-intro__scroll {
        left : calc(100% - 3.8rem);
    }
}

@media screen and (max-width: 1000px) {
    .s-intro__content .text-huge-title {
        padding-right : calc(var(--gutter) * 4);
    }

    .s-intro__content .text-huge-title br {
        display : none;
    }
}

@media screen and (max-width: 800px) {
    .s-intro__content .text-huge-title {
        padding-right : 0;
    }

    .s-intro__content-bottom-block {
        margin-right : calc(var(--gutter) * 3);
    }

    .s-intro__content-bottom .counter {
        font-size   : var(--text-md);
        line-height : var(--vspace-0_875);
    }

    .s-intro__content-bottom .counter__time span:last-child {
        font-size : calc(var(--text-size) * 0.65);
    }

    .s-intro .social {
        font-size   : var(--text-size);
        line-height : var(--vspace-0_875);
    }

    .s-intro__scroll a {
        padding-left : 5.6rem;
    }

    .s-intro__scroll a::before {
        width : 4rem;
    }
}

@media screen and (max-width: 600px) {
    .s-intro {
        --header-height : 8rem;
    }

    .s-intro__logo {
        left : calc(6vw + var(--gutter));
    }

    .s-intro__notify {
        right : calc(6vw);
    }

    .s-intro__notify button.btn--stroke {
        margin  : 0;
        padding : 0 2.4rem;
    }

    .s-intro__scroll {
        left : calc(100% - 2.8rem);
    }
}

@media screen and (max-width: 550px) {
    .s-intro__content {
        align-items : center;
    }

    .s-intro__content-bottom {
        display    : block;
        margin-top : var(--vspace-1_5);
    }

    .s-intro__content-bottom-block {
        margin-right : 0;
    }

    .s-intro__content-bottom-block:last-child {
        display : none;
    }
}

@media screen and (max-width: 400px) {
    .s-intro {
        --logo-width : 70px;
    }

    .s-intro__logo {
        left : calc(6vw);
    }

    .s-intro__content {
        padding-bottom : 12rem;
    }

    .s-intro__scroll {
        left : calc(100% - 2rem);
    }
}

@media screen and (max-width: 360px) {
    .s-intro__notify {
        top    : auto;
        right  : auto;
        left   : calc(6vw + .4rem);
        bottom : 6rem;
    }
}

/*--------------------
5. Sections
--------------------*/
.section-title h2 {
    font-size: 34px;
    text-transform: uppercase;
}
.section-title-invert h2 {
    font-size: 34px;
    text-transform: uppercase;
	color: var(--color-font-2);
}	
.section-cabinet-white h2 {
	color: var(--color-font-2);
	text-transform: uppercase;
}
.section-cabinet-white p {
	color: var(--color-font-2);
}

.section-title-invert p,
.section-title p {
    font-size: 15px;
    font-weight: 300;
    line-height: 25px;
    margin: 20px 100px 60px 100px;
}

/*--------------------
5.1. About
--------------------*/
.mz-module-about h3 {
    font-weight: 500;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--color-grey-dark);
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.mz-module-about p {
font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: var(--color-grey-light);
}

.ot-circle {
height: 95px;
    width: 95px;
    text-align: center;
    line-height: 98px;
    color: var(--color-grey-medium);
    border-radius: 100px;
    margin: 0 2px 4px;
    font-size: 31px;
}
.introReveal {
	--overlay-opacity : 1;
    padding-top       : 20rem;
    padding-bottom    : 9.6rem;
    min-height        : 100vh;
    width             : 100%;
    position          : sticky;
}
.introReveal::after {
    content          : "";
    display          : block;
    position         : absolute;
    top              : 0;
    left             : 0;
    right            : 0;
    bottom           : 0;
    width            : 100%;
    height           : 100%;
    background-color : var(--color-1-darker);
    opacity          : var(--overlay-opacity);
    pointer-events   : none;
}

/*--------------------
5.2 Samples/Projects
--------------------*/
figure {
	position: relative;
    overflow: hidden;
    margin: 10px 1%;
    background: var(--color-button-hover);
    text-align: center;
    cursor: pointer;	
}

figcaption {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;	
}

.ot-portfolio-item figure figcaption > a {
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
}
.ot-portfolio-item figure figcaption, .ot-portfolio-item figure figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

figure.effect-bubba {
	background: #000;
	margin-bottom: 30px;
}

figure.effect-bubba img {
	opacity: 0.8;
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
}

figure.effect-bubba:hover img {
	opacity: 0.4;
}

figure.effect-bubba figcaption::before,
figure.effect-bubba figcaption::after {
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	content: '';
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.effect-bubba figcaption::before {
	border-top: 1px solid var(--color-font-2);
	border-bottom: 1px solid var(--color-font-2);
	-webkit-transform: scale(0,1);
	transform: scale(0,1);
}

figure.effect-bubba figcaption::after {
	border-right: 1px solid var(--color-font-2);
	border-left: 1px solid var(--color-font-2);
	-webkit-transform: scale(1,0);
	transform: scale(1,0);
}

figure.effect-bubba h2 {
    color: var(--color-font-2);
    font-size: 15px;
    font-weight: 400;
    text-transform: uppercase;
	padding-top: 5%;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,-20px,0);
	transform: translate3d(0,-20px,0);
}

figure.effect-bubba p {
    color: var(--color-font-2);
    font-size: 13px;
    font-weight: 500;
	padding: 20px 2.5em;
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(0,20px,0);
	transform: translate3d(0,20px,0);
}

figure.effect-bubba:hover figcaption::before,
figure.effect-bubba:hover figcaption::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

figure.effect-bubba:hover h2,
figure.effect-bubba:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

/*--------------------
5.5 Dark Short section (counters, quote, etc)
--------------------*/
.dark-bg {
    background: var(--color-grey-medium);
    color: var(--color-font-2);
}

.bg-img1 {
    background-image: url(../images/bg-main.png);
    background-size: cover !important;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.light-bg {
	background-color: var(--color-off-white);
}

.overlay-dark:before, .overlay-light:before {
    background-color: rgba(20,20,20,0.8);
    left: 0;
    top: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    z-index: -1;
}

.overlay-dark, .overlay-light {
    position: relative;
    z-index: 1;
}

.short-section {
    padding-top: 110px;
    padding-bottom: 110px;
}

.counter-item h2 {
    color: var(--color-font-2);
    font-size: 60px;
    margin: 0;
}

.counter-item h6 {
    color: var(--color-font-2);
    font-size: 19px;
    margin: 0;	
}

/*--------------------
5.6 Contacts
--------------------*/
section#contact form {
    margin-top: 15px;
}
section#contact.form-group {
margin-bottom: 25px;
}

section#contact .form-group input, section#contact .form-group textarea {
    padding: 15px;
    border: 1px solid #BBBBBB;
    border-radius: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 0px 0px rgba(0,0,0,.075);
    font-size: 13px;
}

.contact h3 {
    margin-bottom: 30px;
}

.contact p {
    font-size: 13px;
}

.contact .day {
    display: inline-block;
    width: 80px;
}

.contact i {
    margin-right: 5px;
}

/*--------------------
6. Footer
--------------------*/
footer {
    padding: 30px;
    background-color: #000;    
}

footer p {
    color: #B7B7B7;
    margin: 0;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 1.6px;
}

footer p a {
    color: var(--color-font-2);
}

footer p a span {
    color: #FF9F46;
    font-size: 10px;
    letter-spacing: 1px;
    font-weight: 700;
}

/*--------------------
7. Modal
--------------------*/
.modal-content {
	/*border-radius: 0;	*/
	/*height: 100vh; */
}
.modal-header .close {
	font-size: 30px;	
}
.modal-title {    
	text-transform: uppercase;
	font-size: 23px;
}

.modal-body {
	padding: 0;
}

.modal-body p {
	margin: 30px 20px;
	color: #2D2D2D;		
}
.modal-body::-webkit-scrollbar {
  display: none;
}

.modal-works {
font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--color-font-2);
    margin: 25px 20px;
}

.modal-works span {
	background-color: var(--color-grey-medium);
    margin-right: 15px;
    padding: 5px 10px;
}

.modal-slides {
  position: relative;
  background-color: var(--color-off-white);
  margin: auto;
  padding: 0;
  max-width: 1200px;
}
.rowModal {
	padding-bottom: 6px;
}

.rowModal > .columnModal {
  padding: 0 2px;
}

.rowModal:after {
  content: "";
  display: block;
  clear: both;
}

/* Create four equal columns that floats next to eachother */
.columnModal2,
.columnModal3,
.columnModal4,
.columnModal5,
.columnModal6 {
  float: left;
  padding-right: 3px;
  padding-left: 3px;
}

.columnModal2 {
	width: calc(100% / 2)
}
.columnModal3 {
	width: calc(100% / 3)
}
.columnModal4 {
	width: calc(100% / 4);
}
.columnModal5 {
	width: calc(100% / 5);
}
.columnModal6 {
	width: calc(100% / 6)
}
/* Hide the slides by default */
.modalSlides1,
.modalSlides2,
.modalSlides3,
.modalSlides4,
.modalSlides5,
.modalSlides6,
.modalSlides7,
.modalSlides8,
.modalSlides9,
.modalSlides10,
.modalSlides11,
.modalSlides12,
.modalSlides13,
.modalSlides14,
.modalSlides15,
.modalSlides16,
.modalSlides17,
.modalSlides18,
.modalSlides19,
.modalSlides20,
.modalSlides21,
.modalSlides22,
.modalSlides23,
.modalSlides24,
.modalSlides25,
.modalSlides26,
.modalSlides27,
.modalSlides28,
.modalSlides29,
.modalSlides30,
.modalSlides31 {
  display: none;
  padding-bottom: 5px;
}

.modalSlides4 {
  object-fit: cover;
  overflow:hidden; 
}

.modalSlides {
  padding-bottom: 100px;
  width: 100%;
  height: 100%;
  overflow: auto;

}
.prev,
.next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -50px;
  color: white;
  font-weight: bold;
  font-size: 20px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  -webkit-user-select: none;
}
/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}
/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}


.modalThumbs1,
.modalThumbs2,
.modalThumbs3,
.modalThumbs4,
.modalThumbs5,
.modalThumbs6,
.modalThumbs7,
.modalThumbs8,
.modalThumbs9,
.modalThumbs10,
.modalThumbs11,
.modalThumbs12,
.modalThumbs13,
.modalThumbs14,
.modalThumbs15,
.modalThumbs16,
.modalThumbs17,
.modalThumbs18,
.modalThumbs19,
.modalThumbs20,
.modalThumbs21,
.modalThumbs22,
.modalThumbs23,
.modalThumbs24,
.modalThumbs25,
.modalThumbs26,
.modalThumbs27,
.modalThumbs28,
.modalThumbs29,
.modalThumbs30,
.modalThumbs31 {
  opacity: 0.8;
}
.active,
.modalThumbs1:hover,
.modalThumbs2:hover,
.modalThumbs3:hover,
.modalThumbs4:hover,
.modalThumbs5:hover,
.modalThumbs6:hover,
.modalThumbs7:hover,
.modalThumbs8:hover,
.modalThumbs9:hover,
.modalThumbs10:hover,
.modalThumbs11:hover,
.modalThumbs12:hover,
.modalThumbs13:hover,
.modalThumbs14:hover,
.modalThumbs15:hover,
.modalThumbs16:hover,
.modalThumbs17:hover,
.modalThumbs18:hover,
.modalThumbs19:hover,
.modalThumbs20:hover,
.modalThumbs21:hover,
.modalThumbs22:hover,
.modalThumbs23:hover,
.modalThumbs24:hover,
.modalThumbs25:hover,
.modalThumbs26:hover,
.modalThumbs27:hover,
.modalThumbs28:hover,
.modalThumbs29:hover,
.modalThumbs30:hover,
.modalThumbs31:hover {
  opacity: 1;
}

.cursor {
  cursor: pointer;
}
.columnStone {
  float: left;
  width: 20%;
  padding-right: 10px;
}
.columnStone2 {
  float: left;
  width: 33%;
  padding-right: 10px;
}
.columnCabinet3 {
  float: left;
  width: 33%;
  padding-right: 10px;
}
.columnCustom {
  float: left;
  width: 100%;
  padding-right: 10px;
}

.stone-samples {
	align-content: center;
}

.stone-titles h2{
	padding-bottom: 5px;
}
/*--------------------
8. Components
--------------------*/
.btn-xl:hover, .btn-xl:focus, .btn-xl:active, .btn-xl.active, .open .dropdown-toggle.btn-xl {
    color: var(--color-font-2);
    background-color: var(--color-button-hover);
    border-color: #f6bf01;
}

.btn:hover, .btn:focus, .btn:active, .btn.active, .open .dropdown-toggle.btn {
    color: var(--color-font-2);
    background-color: var(--color-button-hover);
    border-color: #f6bf01;
}

.btn {
    display: inline-block;
    padding: 8px 20px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

.btn-xl {
    color: var(--color-font-2);
     background-color: var(--color-grey-medium);
    border-color: var(--color-grey-medium);
    font-family: var(--font-1);
    text-transform: uppercase;
    font-weight: 700;
    border-radius: 3px;
    font-size: 18px;
    padding: 20px 40px;
}

/* Back to top button
---------------------------------- */
#back-top {
    position: fixed;
    z-index: 1000;
    bottom: 40px;
    right: 50px;
}
#back-top a {
    width: 60px;
    height: 60px;
    display: block;
    text-align: center;
    font: 11px/100% Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-font-2);
    background: var(--color-nav-bar);
    /* background color transition */
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
}
#back-top a:hover {
    background: var(--color-button-hover);
}
/* arrow icon (span tag) */
#back-top i {
    margin-top: 15px;
    font-size: 28px;
}

@media only screen
and (min-width : 320px)
and (max-width : 480px) {
#back-top {
    position: fixed;
    bottom: 10px;
    right: 30px;
}
#back-top a {
    width: 40px;
    height: 40px;
}
#back-top i {
    margin-top: 7px;
    font-size: 20px;
}
}



/*--------------------
8. Pointless login page
--------------------*/

.login-box {
    margin-top: 75px;
    height: auto;
    background: var(--color-nav-bar);
    text-align: center;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.login-title {
    margin-top: 15px;
    text-align: center;
    font-size: 30px;
    letter-spacing: 2px;
    margin-top: 15px;
    font-weight: bold;
    color: var(--color-off-white);
}

.login-form {
    margin-top: 25px;
    text-align: left;
}

input[type=text] {
    background-color: var(--color-nav-bar);
    border: none;
    border-bottom: 2px solid var(--color-button-hover);
    border-top: 0px;
    border-radius: 0px;
    font-weight: bold;
    outline: 0;
    margin-bottom: 20px;
    padding-left: 0px;
    color: var(--color-off-white);
}

input[type=password] {
    background-color: var(--color-nav-bar);
    border: none;
    border-bottom: 2px solid var(--color-button-hover);
    border-top: 0px;
    border-radius: 0px;
    font-weight: bold;
    outline: 0;
    padding-left: 0px;
    margin-bottom: 20px;
    color: var(--color-off-white);
}

.form-group {
    margin-bottom: 40px;
    outline: 0px;
}

.form-control:focus {
    border-color: inherit;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-bottom: 2px solid var(--color-button-hover);
    outline: 0;
    background-color: var(--color-nav-bar);
    color: var(--color-off-white);
}

input:focus {
    outline: none;
    box-shadow: 0 0 0;
}

label {
    margin-bottom: 0px;
}

.form-control-label {
    font-size: 10px;
    color: var(--color-grey-light);
    font-weight: bold;
    letter-spacing: 1px;
}

.btn-outline-primary {
    border-color: var(--color-button-hover);
    color: var(--color-button-hover);
    border-radius: 0px;
    font-weight: bold;
    letter-spacing: 1px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.btn-outline-primary:hover {
    background-color: var(--color-button-hover);
    right: 0px;
}

.login-btm {
    float: left;
}

.login-button {
    padding-right: 0px;
    text-align: right;
    margin-bottom: 25px;
}

.login-text {
    text-align: left;
    padding-left: 0px;
    color: var(--color-off-white);

.loginbttm {
    padding: 0px;
}
