/*===========  Generalni  ==========*/
:root {
    --theme: #0eb6ac;
}

/*========  Custom elements  =======*/
.underline::before {
    content: "";
	width: var(--line-length);
	position: absolute;
	left: var(--left-gap);
	bottom: -2rem;
	border: 2px solid #14df71;
}

.underline::after {
    content: "";
	width: 1rem;
	height: 1rem;
	position: absolute;
	left: calc(var(--line-length) + var(--left-gap));
	bottom: calc(-2.5rem + 2px);
	background-color: #14df71;
	transform: rotate(45deg);
}

/*=============  Hero  =============*/
#hero {
    height: 83.5%;
    font-family: Sora;
}

#hero > div {
    gap: 2.5rem;
	padding: 0 6rem;
}

#hero h2 {
    --left-gap: -6rem;
    --line-length: 115%;
    color: #424242;
    margin: 4rem 0 2.5rem;
    font-size: 3.2rem;
}

#hero h5 {
    width: 96%;
    color: #444;
    font-weight: normal;
}

#hero img {
    width: 45%;
	height: 100%;
	object-fit: cover;
}

/*=============  About  ============*/
:is(#about, #reviews) {
    gap: 2rem;
	color: #444;
	background: #f5f9ff;
	padding: 4rem 6rem;
    font-family: Sora;
}

#about > h3 {
    --left-gap: -6rem;
    --line-length: 80%;
	margin: 0 0 2.15rem;
}

#about h3 {
    color: #424242;
    font-size: 2.25rem;
}

#about > h5 {
    width: 70%;
}

#about h5 {
    font-weight: normal;
}

#about img {
    max-width: 40%;
    flex: 1.2;
    border-radius: 12px;
	object-fit: cover;
}

#about img + div {
    flex: 2;
	gap: 2rem;
	padding: 3rem 4.5rem;
}

#about img + div h3 {   
    --left-gap: -4.5rem; 
    --line-length: 115%;
	margin: 0 0 2.75rem;
}

/*=============  Cards  ============*/
#cards {
    --left-gap: -6rem;
	--line-length: 47%;
	gap: 2rem;
	color: #444;
	padding: 4rem 6rem;
    font-family: Sora;
}

:is(#cards, #reviews) > h3 {
    font-size: 2.25rem;
	margin: 0 0 1.5rem;
}

:is(#cards, #reviews) :is(h5:not(h5 + h5), .btn-blue) {
    font-weight: normal;
}

#cards > div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
    gap: 2.5rem;
}

#cards > div > div {
    gap: 1.5rem;
}

#cards img {
    height: auto;
	max-width: 100%;
    border-radius: 12px;
	aspect-ratio: 1;
	object-fit: cover;
}

#cards .btn-blue {
    font-size: 1.15rem;
	text-align: center;
}

/*===========  Reviews  ============*/
#reviews {
    --left-gap: -6rem;
	--line-length: 70%;
    padding-bottom: 6.5rem;
}

#reviews > div {
    gap: 1rem;
}

#reviews > div > div {
    flex: 1;
    gap: 1rem;
    background: #fff;
    padding: 1.25rem;
    border: 1px solid #b4b4b4;
    border-radius: 14px;
}

#reviews h4 {
    font-weight: 600;
}

#reviews ul {
    padding-inline-start: 1.5rem;
}

#reviews li::marker {
    content: "◆  ";
    color: #14df71;
}

/*#reviews .stars {
    color: #ffd700;
	font-size: 1.1rem;
}

#reviews p {
    margin: -0.25rem 0 0.5rem;
}

#reviews span {
    color: #717171;
    margin: auto 0 0;
}

#reviews span + div.flex {
    align-items: center;
	gap: 0.75rem;
}

#reviews img {
    width: 2.25rem;
	border-radius: 100%;
}

#reviews img + h4 {
    font-family: 'Magra';
	font-size: 1.1rem !important;
}*/

/*==========  Responsive  ==========*/
@media screen and (min-width: 951px) and (max-width: 1250px) {
    
	/*==========  About  ===========*/
    #about img + div {
        padding-right: 0;
    }
}

@media screen and (max-width: 1024px) {

    /*==========  Cards  ===========*/
    #cards > div {
        grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
    }
}

@media screen and (max-width: 950px) {

	/*===========  Hero  ===========*/
    #hero {
        height: 100%;
        background: url("../img/usluge-prevodenja.jpeg") no-repeat center;
        background-color: #fff8;
        background-blend-mode: color;
	    background-size: cover;
        padding: 6rem 0;
    }

    #hero img {
        display: none;
    }

	/*==========  About  ===========*/
    #about, #cards, #reviews {
        padding: 2rem;
    }

    #about > h5 {
        width: 100%;
    }

    :is(#about, #reviews) > div {
        flex-flow: column;
    }

	/*==========  Cards  ===========*/
    #cards > div {
        gap: 2rem;
    }

    #cards > div > div {
        min-width: 80%;
    }
}

@media screen and (max-width: 768px) {

    /*===========  Hero  ===========*/
    #hero > div {
        padding: 1rem 2rem;
    }

    /*==========  About  ===========*/
    #about img {
        max-width: 100%;
    }

    #about > div > div {
        padding: 2rem 1rem 0;
    }
}

@media screen and (max-width: 540px) {
    
    /*===========  Hero  ===========*/
    #hero h2 {
        --left-gap: -4rem;
    }

	/*==========  About  ===========*/
    #about > h3 {
        --line-length: 120%;
    }

    #about > div > div h3 {
        --left-gap: -3rem;
    }

	/*==========  Cards  ===========*/
    #cards {
        --line-length: 100%;
    }

	/*=========  Reviews  ==========*/
    #reviews {
        --line-length: 110%;
    }
}